示例#1
0
        public Quaternion(BinaryReader reader, QuaternionCompression compression = QuaternionCompression.None)
        {
            if (compression == QuaternionCompression.None)
            {
                X = reader.ReadSingle();
                Y = reader.ReadSingle();
                Z = reader.ReadSingle();
                W = reader.ReadSingle();
            }
            else
            {
                float compressionScale = 4096.0f;

                X = reader.ReadInt16() / compressionScale;
                Y = reader.ReadInt16() / compressionScale;
                Z = reader.ReadInt16() / compressionScale;
                W = reader.ReadInt16() / compressionScale;
            }
        }
示例#2
0
        public Quaternion(BinaryReader reader, QuaternionCompression compression = QuaternionCompression.None)
        {
            if (compression == QuaternionCompression.None)
            {
                X = reader.ReadSingle();
                Y = reader.ReadSingle();
                Z = reader.ReadSingle();
                W = reader.ReadSingle();
            }
            else
            {
                float compressionScale = 4096.0f;

                X = reader.ReadInt16() / compressionScale;
                Y = reader.ReadInt16() / compressionScale;
                Z = reader.ReadInt16() / compressionScale;
                W = reader.ReadInt16() / compressionScale;
            }
        }