public Matrix4 GetMatrix() { // return Matrix4.Multiply(scaleMatrix, Matrix4.Multiply(positionMatrix, rotationMatrix)); Matrix4 unoMatrix = new Matrix4(); unoMatrix.values = new float[, ] { { 1, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 1 } }; unoMatrix = Matrix4.Multiply(unoMatrix, perspectiveMatrix); unoMatrix = Matrix4.Multiply(unoMatrix, positionMatrix); unoMatrix = Matrix4.Multiply(unoMatrix, rotationMatrix); unoMatrix = Matrix4.Multiply(unoMatrix, scaleMatrix); return(unoMatrix); }
public void RotateTo(Angle3F rotation) { this.rotation = rotation; rotationMatrix = Matrix4.Multiply(Matrix4.FromYaw(-rotation.yaw), Matrix4.FromPitch(-rotation.pitch)); rotationMatrix = Matrix4.Multiply(rotationMatrix, Matrix4.FromRoll(-rotation.roll)); }