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); } }
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); } }