mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Skip further clipping for a triangle completely inside a clipping polygon.
This commit is contained in:
parent
c558771cac
commit
c0161c7c60
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user