diff --git a/src/matrix.rs b/src/matrix.rs index ab07af3..d6a3c20 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -208,6 +208,13 @@ Matrix3 { _1subc * axis.y * axis.z - s * axis.x, _1subc * axis.z * axis.z + c) } + + /// Create a matrix from a non-uniform scale + pub fn from_diagonal(value: &Vector3) -> Matrix3 { + Matrix3::new(value.x, zero(), zero(), + zero(), value.y, zero(), + zero(), zero(), value.z) + } } impl Matrix4 {