public static Matrix4P ReadMatrix4Quat16b(BinaryReaderEx input) { var quat = Quaternion.ReadCompressed(input); var x = new ShortFloat(input.ReadUInt16()); var y = new ShortFloat(input.ReadUInt16()); var z = new ShortFloat(input.ReadUInt16()); return(new Matrix4P(quat.AsRotationMatrix(), new Vector3P(x, y, z))); }
public static TransformP Read(BinaryReaderEx input) { var quaternion = QuaternionP.ReadCompressed(input); var x = new ShortFloat(input.ReadUInt16()); var y = new ShortFloat(input.ReadUInt16()); var z = new ShortFloat(input.ReadUInt16()); var vector = new Vector3P((float)x.DoubleValue, (float)y.DoubleValue, (float)z.DoubleValue); return(new TransformP(quaternion, vector)); }