shapes: fix inverse_transform on ShapeBuilder.

This commit is contained in:
Bill Thiede 2021-07-21 21:30:26 -07:00
parent 44b46187a0
commit 28fe6fe982

View File

@ -47,11 +47,18 @@ impl PartialEq for Geometry {
#[builder(default)]
pub struct Shape {
transform: Matrix4x4,
#[builder(private, default = "self.default_inverse_transform()?")]
inverse_transform: Matrix4x4,
pub material: Material,
geometry: Geometry,
}
impl ShapeBuilder {
fn default_inverse_transform(&self) -> Result<Matrix4x4, String> {
Ok(self.transform.unwrap_or(Matrix4x4::identity()).inverse())
}
}
impl Default for Shape {
fn default() -> Shape {
Shape {