Esempio n. 1
0
        private static PerVertexDefinition PadVertexDefinition(PerVertexDefinition modelDefinition)
        {
            PerVertexDefinition DEFAULT_PADDING = new PerVertexDefinition
            {
                Position   = PerVertexPositionType.Float3,
                Normal     = PerVertexNormalType.Float3,
                Tangent    = PerVertexTangentType.Float4,
                TexCoords0 = PerVertexTexCoordsType.Float2,
                TexCoords1 = PerVertexTexCoordsType.Float2,
                Color0     = PerVertexColorType.FloatRGBA,
                Color1     = PerVertexColorType.FloatRGBA,
                Joints0    = PerVertexJointType.Byte4,
                Joints1    = PerVertexJointType.Byte4,
                Weights0   = PerVertexWeightsType.Float4,
                Weights1   = PerVertexWeightsType.Float4,
            };

            return(new PerVertexDefinition
            {
                Position =
                    (modelDefinition.Position == PerVertexPositionType.None)
                    ? DEFAULT_PADDING.Position
                    : modelDefinition.Position,
                Normal =
                    (modelDefinition.Normal == PerVertexNormalType.None)
                    ? DEFAULT_PADDING.Normal
                    : modelDefinition.Normal,
                Tangent =
                    (modelDefinition.Tangent == PerVertexTangentType.None)
                    ? DEFAULT_PADDING.Tangent
                    : modelDefinition.Tangent,
                TexCoords0 = (modelDefinition.TexCoords0 == PerVertexTexCoordsType.None)
                    ? DEFAULT_PADDING.TexCoords0
                    : modelDefinition.TexCoords0,
                TexCoords1 = (modelDefinition.TexCoords1 == PerVertexTexCoordsType.None)
                    ? DEFAULT_PADDING.TexCoords1
                    : modelDefinition.TexCoords1,
                Color0 = (modelDefinition.Color0 == PerVertexColorType.None)
                    ? DEFAULT_PADDING.Color0
                    : modelDefinition.Color0,
                Color1 = (modelDefinition.Color1 == PerVertexColorType.None)
                    ? DEFAULT_PADDING.Color1
                    : modelDefinition.Color1,
                Joints0 = (modelDefinition.Joints0 == PerVertexJointType.None)
                    ? DEFAULT_PADDING.Joints0
                    : modelDefinition.Joints0,
                Joints1 = (modelDefinition.Joints1 == PerVertexJointType.None)
                    ? DEFAULT_PADDING.Joints1
                    : modelDefinition.Joints1,
                Weights0 = (modelDefinition.Weights0 == PerVertexWeightsType.None)
                    ? DEFAULT_PADDING.Weights0
                    : modelDefinition.Weights0,
                Weights1 = (modelDefinition.Weights1 == PerVertexWeightsType.None)
                    ? DEFAULT_PADDING.Weights1
                    : modelDefinition.Weights1,
            });
        }
Esempio n. 2
0
        public void Decode_1()
        {
            PerVertexDefinition expected = new PerVertexDefinition
            {
            };

            var result = PerVertexDefinitionEncoder.Encode(expected);
            var actual = PerVertexDefinitionEncoder.Decode(result);

            TestResults(expected, actual);
        }
Esempio n. 3
0
        public void Decode_Position_3()
        {
            var expected = new PerVertexDefinition
            {
                Position = PerVertexPositionType.Float2,
            };

            var result = PerVertexDefinitionEncoder.Encode(expected);
            var actual = PerVertexDefinitionEncoder.Decode(result);

            TestResults(expected, actual);
        }
Esempio n. 4
0
        public void Decode_Color1_6()
        {
            var expected = new PerVertexDefinition
            {
                Color1 = PerVertexColorType.FloatRGBA,
            };

            var result = PerVertexDefinitionEncoder.Encode(expected);
            var actual = PerVertexDefinitionEncoder.Decode(result);

            TestResults(expected, actual);
        }
Esempio n. 5
0
        public void Decode_Color0_4()
        {
            var expected = new PerVertexDefinition
            {
                Color0 = PerVertexColorType.UshortUnormRGBA,
            };

            var result = PerVertexDefinitionEncoder.Encode(expected);
            var actual = PerVertexDefinitionEncoder.Decode(result);

            TestResults(expected, actual);
        }
Esempio n. 6
0
        public void Decode_Tangents_2()
        {
            var expected = new PerVertexDefinition
            {
                Tangent = PerVertexTangentType.Float4,
            };

            var result = PerVertexDefinitionEncoder.Encode(expected);
            var actual = PerVertexDefinitionEncoder.Decode(result);

            TestResults(expected, actual);
        }
Esempio n. 7
0
        public void Decode_Normal_2()
        {
            var expected = new PerVertexDefinition
            {
                Normal = PerVertexNormalType.Float3,
            };

            var result = PerVertexDefinitionEncoder.Encode(expected);
            var actual = PerVertexDefinitionEncoder.Decode(result);

            TestResults(expected, actual);
        }
Esempio n. 8
0
 private static void TestResults(PerVertexDefinition expected, PerVertexDefinition actual)
 {
     Assert.AreEqual(expected.Position, actual.Position);
     Assert.AreEqual(expected.Normal, actual.Normal);
     Assert.AreEqual(expected.Tangent, actual.Tangent);
     Assert.AreEqual(expected.TexCoords0, actual.TexCoords0);
     Assert.AreEqual(expected.TexCoords1, actual.TexCoords1);
     Assert.AreEqual(expected.Color0, actual.Color0);
     Assert.AreEqual(expected.Color1, actual.Color1);
     Assert.AreEqual(expected.Joints0, actual.Joints0);
     Assert.AreEqual(expected.Joints1, actual.Joints1);
     Assert.AreEqual(expected.Weights0, actual.Weights0);
     Assert.AreEqual(expected.Weights1, actual.Weights1);
     Assert.AreEqual(expected.IndexType, actual.IndexType);
 }
Esempio n. 9
0
        public void Decode_0()
        {
            PerVertexDefinition expected = new PerVertexDefinition
            {
                Position  = PerVertexPositionType.Float3,
                Normal    = PerVertexNormalType.Float3,
                Color0    = PerVertexColorType.ByteUnormRGBA,
                Color1    = PerVertexColorType.ByteUnormRGB,
                Tangent   = PerVertexTangentType.Float4,
                Weights0  = PerVertexWeightsType.UshortUnorm4,
                Weights1  = PerVertexWeightsType.Float4,
                Joints0   = PerVertexJointType.Ushort4,
                Joints1   = PerVertexJointType.Byte4,
                IndexType = PerVertexIndexType.Uint32,
            };

            var result = PerVertexDefinitionEncoder.Encode(expected);
            var actual = PerVertexDefinitionEncoder.Decode(result);

            TestResults(expected, actual);
        }