Пример #1
0
 public GcmfTriangleStrip(GcmfTriangleStripGroup parentStripGroup, IEnumerable <ObjMtlVertex> vertexList)
 {
     foreach (ObjMtlVertex vtx in vertexList)
     {
         Add(new GcmfVertex(vtx));
     }
 }
Пример #2
0
        public GcmfMesh()
        {
            Layer                = MeshLayer.Layer1;
            RenderFlags          = (RenderFlag)0;
            Unk4                 = 0xFFFFFFFF;
            Unk8                 = 0x7F7F7FFF;
            UnkC                 = 0x00000000;
            Unk10                = 0x00FF;
            Unk14                = 0xFF00;
            PrimaryMaterialIdx   = ushort.MaxValue;
            SecondaryMaterialIdx = ushort.MaxValue;
            TertiaryMaterialIdx  = ushort.MaxValue;

            TransformMatrixSpecificIdxsObj1 = new byte[8];
            for (int i = 0; i < TransformMatrixSpecificIdxsObj1.Length; i++)
            {
                TransformMatrixSpecificIdxsObj1[i] = byte.MaxValue;
            }

            BoundingSphereCenter = Vector3.Zero;
            Unk3C = 0;
            Unk40 = 0x00000014;

            Obj1StripsCcw = new GcmfTriangleStripGroup();
            Obj1StripsCw  = new GcmfTriangleStripGroup();

            TransformMatrixSpecificIdxsObj2 = new byte[8];
            for (int i = 0; i < TransformMatrixSpecificIdxsObj2.Length; i++)
            {
                TransformMatrixSpecificIdxsObj2[i] = byte.MaxValue;
            }
            Obj2StripsCcw = new GcmfTriangleStripGroup();
            Obj2StripsCw  = new GcmfTriangleStripGroup();
        }
Пример #3
0
        public GcmfMesh(ObjMtlMesh mesh, Dictionary <ObjMtlMaterial, int> modelMaterialMapping)
            : this()
        {
            PrimaryMaterialIdx = Convert.ToUInt16(modelMaterialMapping[mesh.Material]);
            Obj1StripsCcw      = new GcmfTriangleStripGroup(mesh);

            RecalculateBoundingSphere();
        }