Skip to content

Commit

Permalink
Fix bug #22: [Physics.PhysX] cleaning the mesh failed
Browse files Browse the repository at this point in the history
  • Loading branch information
Eldemarkki committed Jun 28, 2020
1 parent fbe764a commit 67a254f
Showing 1 changed file with 12 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,22 +87,25 @@ public void Execute(int index)

for (int i = 0; MarchingCubesLookupTables.TriangleTable[rowIndex+i] != -1 && i < 15; i += 3)
{
int triangleIndex = _vertexCountCounter.Increment() * 3;

float3 vertex1 = vertexList[MarchingCubesLookupTables.TriangleTable[rowIndex + i + 0]];
float3 vertex2 = vertexList[MarchingCubesLookupTables.TriangleTable[rowIndex + i + 1]];
float3 vertex3 = vertexList[MarchingCubesLookupTables.TriangleTable[rowIndex + i + 2]];

float3 normal = math.normalize(math.cross(vertex2 - vertex1, vertex3 - vertex1));
if (!vertex1.Equals(vertex2) && !vertex1.Equals(vertex3) && !vertex2.Equals(vertex3))
{
float3 normal = math.normalize(math.cross(vertex2 - vertex1, vertex3 - vertex1));

_vertices[triangleIndex + 0] = new MeshingVertexData(vertex1, normal);
_triangles[triangleIndex + 0] = (ushort)(triangleIndex + 0);
int triangleIndex = _vertexCountCounter.Increment() * 3;

_vertices[triangleIndex + 0] = new MeshingVertexData(vertex1, normal);
_triangles[triangleIndex + 0] = (ushort)(triangleIndex + 0);

_vertices[triangleIndex + 1] = new MeshingVertexData(vertex2, normal);
_triangles[triangleIndex + 1] = (ushort)(triangleIndex + 1);
_vertices[triangleIndex + 1] = new MeshingVertexData(vertex2, normal);
_triangles[triangleIndex + 1] = (ushort)(triangleIndex + 1);

_vertices[triangleIndex + 2] = new MeshingVertexData(vertex3, normal);
_triangles[triangleIndex + 2] = (ushort)(triangleIndex + 2);
_vertices[triangleIndex + 2] = new MeshingVertexData(vertex3, normal);
_triangles[triangleIndex + 2] = (ushort)(triangleIndex + 2);
}
}
}
}
Expand Down

0 comments on commit 67a254f

Please sign in to comment.