Пример #1
0
        static void Build(ref VoxelChunk res, int tianglesNum)
        {
            for (int i = 0; i < tianglesNum; i++)
            {
                //res.AddIndex( res.VertexCount + 0 );
                //res.AddIndex( res.VertexCount + 1 );
                //res.AddIndex( res.VertexCount + 2 );

                Vector3 normal = Vector3.Cross(_triangles[i].P[1] - _triangles[i].P[0], _triangles[i].P[2] - _triangles[i].P[0]);

                res.AddVertex(_triangles[i].P[0], normal);
                res.AddVertex(_triangles[i].P[1], normal);
                res.AddVertex(_triangles[i].P[2], normal);
            }
        }
Пример #2
0
        private static void Build(VoxelChunk res, ref Triangle[] triangles)
        {
            for (int i = 0; i < triangles.Length; i++)
            {
                //res.AddIndex( res.VertexCount + 0 );
                //res.AddIndex( res.VertexCount + 1 );
                //res.AddIndex( res.VertexCount + 2 );

                Triangle t      = triangles[i];
                Vector3  normal = Vector3.Cross(t.pointTwo - t.pointOne, t.pointThree - t.pointOne);

                res.AddVertex(t.pointOne, normal);
                res.AddVertex(t.pointTwo, normal);
                res.AddVertex(t.pointThree, normal);
            }
        }