Skip further clipping for a triangle completely inside a clipping polygon.

This commit is contained in:
Nathan Sweet 2017-04-04 23:40:30 +09:00
parent c558771cac
commit c0161c7c60

View File

@ -87,8 +87,9 @@ public class SkeletonClipping {
short index = 0; short index = 0;
clippedVertices.clear(); clippedVertices.clear();
clippedTriangles.clear(); clippedTriangles.clear();
for (FloatArray convexClippingPolygon : convexClippingPolygons) { outer:
for (int i = 0; i < trianglesLength; i += 3) { for (int i = 0; i < trianglesLength; i += 3) {
for (FloatArray convexClippingPolygon : convexClippingPolygons) {
int vertexOffset = triangles[i] << 1; int vertexOffset = triangles[i] << 1;
float x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1]; float x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1];
float u1 = uvs[vertexOffset], v1 = uvs[vertexOffset + 1]; float u1 = uvs[vertexOffset], v1 = uvs[vertexOffset + 1];
@ -190,6 +191,7 @@ public class SkeletonClipping {
clippedTrianglesItems[s] = index++; clippedTrianglesItems[s] = index++;
clippedTrianglesItems[s + 1] = index++; clippedTrianglesItems[s + 1] = index++;
clippedTrianglesItems[s + 2] = index++; clippedTrianglesItems[s + 2] = index++;
continue outer;
} }
} }
} }