mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
fix dark in both pma and non-pma (#993)
This commit is contained in:
parent
69923111b9
commit
8506e16f2d
@ -253,9 +253,8 @@ module spine.webgl {
|
|||||||
|
|
||||||
void main () {
|
void main () {
|
||||||
vec4 texColor = texture2D(u_texture, v_texCoords);
|
vec4 texColor = texture2D(u_texture, v_texCoords);
|
||||||
float alpha = texColor.a * v_light.a;
|
gl_FragColor.a = texColor.a * v_light.a;
|
||||||
gl_FragColor.a = alpha;
|
gl_FragColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;
|
||||||
gl_FragColor.rgb = (1.0 - texColor.rgb) * v_dark.rgb * alpha + texColor.rgb * v_light.rgb;
|
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@ -122,8 +122,18 @@ module spine.webgl {
|
|||||||
finalColor.b *= finalColor.a;
|
finalColor.b *= finalColor.a;
|
||||||
}
|
}
|
||||||
let darkColor = this.tempColor2;
|
let darkColor = this.tempColor2;
|
||||||
if (slot.darkColor == null) darkColor.set(0, 0, 0, 1);
|
if (slot.darkColor == null)
|
||||||
else darkColor.setFromColor(slot.darkColor);
|
darkColor.set(0, 0, 0, 1.0);
|
||||||
|
else {
|
||||||
|
if (premultipliedAlpha) {
|
||||||
|
darkColor.r = slot.darkColor.r * finalColor.a;
|
||||||
|
darkColor.g = slot.darkColor.g * finalColor.a;
|
||||||
|
darkColor.b = slot.darkColor.b * finalColor.a;
|
||||||
|
} else {
|
||||||
|
darkColor.setFromColor(slot.darkColor);
|
||||||
|
}
|
||||||
|
darkColor.a = premultipliedAlpha ? 1.0 : 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
let slotBlendMode = slot.data.blendMode;
|
let slotBlendMode = slot.data.blendMode;
|
||||||
if (slotBlendMode != blendMode) {
|
if (slotBlendMode != blendMode) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user