Fix premultiplied alpha in-output of crosshatch shader

This commit is contained in:
Edwin Jakobs
2020-02-16 17:46:39 +01:00
parent 41e3f9505d
commit 361431d903

View File

@@ -50,6 +50,6 @@ vec3 crosshatch(vec3 texColor, float t1, float t2, float t3, float t4) {
void main() { void main() {
vec4 color = texture(tex0, v_texCoord0); vec4 color = texture(tex0, v_texCoord0);
o_color.rgb = crosshatch(color.rgb, t1, t2, t3, t4); vec3 demultiplied = color.a == 0.0 ? vec3(0.0) : color.rgb/color.a;
o_color.a = color.a; o_color = vec4(crosshatch(demultiplied, t1, t2, t3, t4), 1.0) * color.a;
} }