pub trait Geometry: Sized {
    type LengthExpr;

    fn length(self) -> Self::LengthExpr;
    fn distance(self, other: Self) -> Self::LengthExpr;
    fn dot(self, other: Self) -> Self::LengthExpr;
    fn cross(self, other: Self) -> Self;
    fn normalize(self) -> Self;
    fn face_forward(self, normal: Self, reference: Self) -> Self;
    fn reflect(self, normal: Self) -> Self;
    fn refract(self, normal: Self, eta: Expr<f32>) -> Self;
}

Required Associated Types

Required Methods

Implementors