mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
Merge branch '4.1-beta' of https://github.com/esotericsoftware/spine-runtimes into 4.1-beta
This commit is contained in:
commit
106c1cb1aa
@ -33,9 +33,7 @@ import com.badlogic.gdx.graphics.Color;
|
|||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||||
import com.badlogic.gdx.graphics.g2d.PolygonSpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.PolygonSpriteBatch;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
|
||||||
import com.badlogic.gdx.utils.FloatArray;
|
import com.badlogic.gdx.utils.FloatArray;
|
||||||
import com.badlogic.gdx.utils.Null;
|
|
||||||
import com.badlogic.gdx.utils.NumberUtils;
|
import com.badlogic.gdx.utils.NumberUtils;
|
||||||
import com.badlogic.gdx.utils.ShortArray;
|
import com.badlogic.gdx.utils.ShortArray;
|
||||||
|
|
||||||
@ -53,12 +51,6 @@ public class SkeletonRenderer {
|
|||||||
private boolean pmaColors, pmaBlendModes;
|
private boolean pmaColors, pmaBlendModes;
|
||||||
private final FloatArray vertices = new FloatArray(32);
|
private final FloatArray vertices = new FloatArray(32);
|
||||||
private final SkeletonClipping clipper = new SkeletonClipping();
|
private final SkeletonClipping clipper = new SkeletonClipping();
|
||||||
private final Vector2 temp = new Vector2();
|
|
||||||
private final Vector2 temp2 = new Vector2();
|
|
||||||
private final Color temp3 = new Color();
|
|
||||||
private final Color temp4 = new Color();
|
|
||||||
private final Color temp5 = new Color();
|
|
||||||
private final Color temp6 = new Color();
|
|
||||||
|
|
||||||
/** Renders the specified skeleton. If the batch is a PolygonSpriteBatch, {@link #draw(PolygonSpriteBatch, Skeleton)} is
|
/** Renders the specified skeleton. If the batch is a PolygonSpriteBatch, {@link #draw(PolygonSpriteBatch, Skeleton)} is
|
||||||
* called. If the batch is a TwoColorPolygonBatch, {@link #draw(TwoColorPolygonBatch, Skeleton)} is called. Otherwise the
|
* called. If the batch is a TwoColorPolygonBatch, {@link #draw(TwoColorPolygonBatch, Skeleton)} is called. Otherwise the
|
||||||
@ -143,10 +135,6 @@ public class SkeletonRenderer {
|
|||||||
if (batch == null) throw new IllegalArgumentException("batch cannot be null.");
|
if (batch == null) throw new IllegalArgumentException("batch cannot be null.");
|
||||||
if (skeleton == null) throw new IllegalArgumentException("skeleton cannot be null.");
|
if (skeleton == null) throw new IllegalArgumentException("skeleton cannot be null.");
|
||||||
|
|
||||||
Vector2 tempPosition = this.temp, tempUV = this.temp2;
|
|
||||||
Color tempLight1 = this.temp3, tempDark1 = this.temp4;
|
|
||||||
Color tempLight2 = this.temp5, tempDark2 = this.temp6;
|
|
||||||
|
|
||||||
boolean pmaColors = this.pmaColors, pmaBlendModes = this.pmaBlendModes;
|
boolean pmaColors = this.pmaColors, pmaBlendModes = this.pmaBlendModes;
|
||||||
BlendMode blendMode = null;
|
BlendMode blendMode = null;
|
||||||
int verticesLength = 0;
|
int verticesLength = 0;
|
||||||
@ -245,10 +233,6 @@ public class SkeletonRenderer {
|
|||||||
if (batch == null) throw new IllegalArgumentException("batch cannot be null.");
|
if (batch == null) throw new IllegalArgumentException("batch cannot be null.");
|
||||||
if (skeleton == null) throw new IllegalArgumentException("skeleton cannot be null.");
|
if (skeleton == null) throw new IllegalArgumentException("skeleton cannot be null.");
|
||||||
|
|
||||||
Vector2 tempPosition = this.temp, tempUV = this.temp2;
|
|
||||||
Color tempLight1 = this.temp3, tempDark1 = this.temp4;
|
|
||||||
Color tempLight2 = this.temp5, tempDark2 = this.temp6;
|
|
||||||
|
|
||||||
boolean pmaColors = this.pmaColors, pmaBlendModes = this.pmaBlendModes;
|
boolean pmaColors = this.pmaColors, pmaBlendModes = this.pmaBlendModes;
|
||||||
batch.setPremultipliedAlpha(pmaColors);
|
batch.setPremultipliedAlpha(pmaColors);
|
||||||
BlendMode blendMode = null;
|
BlendMode blendMode = null;
|
||||||
@ -348,44 +332,6 @@ public class SkeletonRenderer {
|
|||||||
clipper.clipEnd();
|
clipper.clipEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyVertexEffect (float[] vertices, int verticesLength, int stride, float light, float dark) {
|
|
||||||
Vector2 tempPosition = this.temp, tempUV = this.temp2;
|
|
||||||
Color tempLight1 = this.temp3, tempDark1 = this.temp4;
|
|
||||||
Color tempLight2 = this.temp5, tempDark2 = this.temp6;
|
|
||||||
tempLight1.set(NumberUtils.floatToIntColor(light));
|
|
||||||
tempDark1.set(NumberUtils.floatToIntColor(dark));
|
|
||||||
if (stride == 5) {
|
|
||||||
for (int v = 0; v < verticesLength; v += stride) {
|
|
||||||
tempPosition.x = vertices[v];
|
|
||||||
tempPosition.y = vertices[v + 1];
|
|
||||||
tempUV.x = vertices[v + 3];
|
|
||||||
tempUV.y = vertices[v + 4];
|
|
||||||
tempLight2.set(tempLight1);
|
|
||||||
tempDark2.set(tempDark1);
|
|
||||||
vertices[v] = tempPosition.x;
|
|
||||||
vertices[v + 1] = tempPosition.y;
|
|
||||||
vertices[v + 2] = tempLight2.toFloatBits();
|
|
||||||
vertices[v + 3] = tempUV.x;
|
|
||||||
vertices[v + 4] = tempUV.y;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (int v = 0; v < verticesLength; v += stride) {
|
|
||||||
tempPosition.x = vertices[v];
|
|
||||||
tempPosition.y = vertices[v + 1];
|
|
||||||
tempUV.x = vertices[v + 4];
|
|
||||||
tempUV.y = vertices[v + 5];
|
|
||||||
tempLight2.set(tempLight1);
|
|
||||||
tempDark2.set(tempDark1);
|
|
||||||
vertices[v] = tempPosition.x;
|
|
||||||
vertices[v + 1] = tempPosition.y;
|
|
||||||
vertices[v + 2] = tempLight2.toFloatBits();
|
|
||||||
vertices[v + 3] = tempDark2.toFloatBits();
|
|
||||||
vertices[v + 4] = tempUV.x;
|
|
||||||
vertices[v + 5] = tempUV.y;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getPremultipliedAlphaColors () {
|
public boolean getPremultipliedAlphaColors () {
|
||||||
return pmaColors;
|
return pmaColors;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user