[libgdx] Fixed a clipping bug when there are two clipping meshes and clipping-end-slot is a skin bone that is disabled (Clipping.endClipping not called when slot.bone.active==false). See #1694.

This commit is contained in:
Harald Csaszar 2020-06-05 21:28:51 +02:00
parent 6e9ad610d6
commit 54b8039f1a

View File

@ -91,7 +91,10 @@ public class SkeletonRenderer {
Array<Slot> drawOrder = skeleton.drawOrder;
for (int i = 0, n = drawOrder.size; i < n; i++) {
Slot slot = drawOrder.get(i);
if (!slot.bone.active) continue;
if (!slot.bone.active) {
clipper.clipEnd(slot);
continue;
}
Attachment attachment = slot.attachment;
if (attachment instanceof RegionAttachment) {
RegionAttachment region = (RegionAttachment)attachment;
@ -170,7 +173,10 @@ public class SkeletonRenderer {
Array<Slot> drawOrder = skeleton.drawOrder;
for (int i = 0, n = drawOrder.size; i < n; i++) {
Slot slot = drawOrder.get(i);
if (!slot.bone.active) continue;
if (!slot.bone.active) {
clipper.clipEnd(slot);
continue;
}
Texture texture = null;
int vertexSize = clipper.isClipping() ? 2 : 5;
Attachment attachment = slot.attachment;
@ -294,7 +300,10 @@ public class SkeletonRenderer {
Array<Slot> drawOrder = skeleton.drawOrder;
for (int i = 0, n = drawOrder.size; i < n; i++) {
Slot slot = drawOrder.get(i);
if (!slot.bone.active) continue;
if (!slot.bone.active) {
clipper.clipEnd(slot);
continue;
}
Texture texture = null;
int vertexSize = clipper.isClipping() ? 2 : 6;
Attachment attachment = slot.attachment;