예제 #1
0
        public void SetVertexTypeStruct(VertexTypeStruct vertexType, byte *basePointer)
        {
            VertexType  = vertexType;
            Transform2D = vertexType.Transform2D;

            //Console.Error.WriteLine("SetVertexTypeStruct: " + VertexTypeStruct);
            SkinningWeightCount = vertexType.RealSkinningWeightCount;
            //Console.WriteLine(SkinningWeightCount);
            VertexSize = vertexType.GetVertexSize();
            {
                ReadWeights            = ReadWeightsList[(int)vertexType.Weight];
                ReadTextureCoordinates = ReadTextureCoordinatesList[(int)vertexType.Texture];
                ReadColor    = ReadColorList[(int)vertexType.Color];
                ReadNormal   = ReadNormalList[(int)vertexType.Normal];
                ReadPosition = ReadPositionList[(int)vertexType.Position];

                VertexAlignment = vertexType.StructAlignment switch
                {
                    4 => (Action)Align4,
                    2 => (Action)Align2,
                    _ => (Action)Align1
                };
            }
            //public VertexTypeStruct VertexTypeStruct;
            BasePointer   = basePointer;
            PointerOffset = 0;
        }
예제 #2
0
        public void SetVertexTypeStruct(VertexTypeStruct VertexTypeStruct, byte *BasePointer)
        {
            SkinningWeightCount = VertexTypeStruct.SkinningWeightCount;
            //Console.WriteLine(SkinningWeightCount);
            VertexSize = VertexTypeStruct.GetVertexSize();
            {
                ReadWeights            = ReadWeightsList[(int)VertexTypeStruct.Weight];
                ReadTextureCoordinates = ReadTextureCoordinatesList[(int)VertexTypeStruct.Texture];
                ReadColor    = ReadColorList[(int)VertexTypeStruct.Color];
                ReadNormal   = ReadNormalList[(int)VertexTypeStruct.Normal];
                ReadPosition = ReadPositionList[(int)VertexTypeStruct.Position];
                switch (VertexAlignSize)
                {
                case 4: VertexAlignment = Align4; break;

                case 2: VertexAlignment = Align2; break;

                default: VertexAlignment = Align1; break;
                }
            }
            //public VertexTypeStruct VertexTypeStruct;
            this.BasePointer = BasePointer;
        }