mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-29 09:35:39 +00:00
Fixed an issue where lowered saturation would not work correctly when combined with scanline rendering.
This commit is contained in:
parent
0ad339d4c4
commit
1517826b23
|
@ -101,13 +101,6 @@ void main()
|
||||||
float h_weight_00 = dx / SPOT_WIDTH;
|
float h_weight_00 = dx / SPOT_WIDTH;
|
||||||
WEIGHT(h_weight_00);
|
WEIGHT(h_weight_00);
|
||||||
|
|
||||||
// Saturation.
|
|
||||||
if (saturation != 1.0) {
|
|
||||||
vec3 grayscale = vec3(dot(color.rgb, vec3(0.34, 0.55, 0.11)));
|
|
||||||
vec3 blendedColor = mix(grayscale, color.rgb, saturation);
|
|
||||||
color = vec4(blendedColor, color.a);
|
|
||||||
}
|
|
||||||
|
|
||||||
color *= vec4(h_weight_00, h_weight_00, h_weight_00, h_weight_00);
|
color *= vec4(h_weight_00, h_weight_00, h_weight_00, h_weight_00);
|
||||||
|
|
||||||
// Get closest horizontal neighbour to blend.
|
// Get closest horizontal neighbour to blend.
|
||||||
|
@ -122,13 +115,6 @@ void main()
|
||||||
}
|
}
|
||||||
vec4 colorNB = TEX2D(texture_coords + coords01);
|
vec4 colorNB = TEX2D(texture_coords + coords01);
|
||||||
|
|
||||||
// Saturation.
|
|
||||||
if (saturation != 1.0) {
|
|
||||||
vec3 grayscale = vec3(dot(colorNB.rgb, vec3(0.34, 0.55, 0.11)));
|
|
||||||
vec3 blendedColor = mix(grayscale, colorNB.rgb, saturation);
|
|
||||||
colorNB = vec4(blendedColor, colorNB.a);
|
|
||||||
}
|
|
||||||
|
|
||||||
float h_weight_01 = dx / SPOT_WIDTH;
|
float h_weight_01 = dx / SPOT_WIDTH;
|
||||||
WEIGHT(h_weight_01);
|
WEIGHT(h_weight_01);
|
||||||
|
|
||||||
|
@ -152,13 +138,6 @@ void main()
|
||||||
}
|
}
|
||||||
colorNB = TEX2D(texture_coords + coords10);
|
colorNB = TEX2D(texture_coords + coords10);
|
||||||
|
|
||||||
// Saturation.
|
|
||||||
if (saturation != 1.0) {
|
|
||||||
vec3 grayscale = vec3(dot(colorNB.rgb, vec3(0.34, 0.55, 0.11)));
|
|
||||||
vec3 blendedColor = mix(grayscale, colorNB.rgb, saturation);
|
|
||||||
colorNB = vec4(blendedColor, colorNB.a);
|
|
||||||
}
|
|
||||||
|
|
||||||
float v_weight_10 = dy / SPOT_HEIGHT;
|
float v_weight_10 = dy / SPOT_HEIGHT;
|
||||||
WEIGHT(v_weight_10);
|
WEIGHT(v_weight_10);
|
||||||
|
|
||||||
|
@ -170,6 +149,15 @@ void main()
|
||||||
color *= vec4(COLOR_BOOST);
|
color *= vec4(COLOR_BOOST);
|
||||||
|
|
||||||
vec4 colorTemp = clamp(GAMMA_OUT(color), 0.0, 1.0);
|
vec4 colorTemp = clamp(GAMMA_OUT(color), 0.0, 1.0);
|
||||||
|
|
||||||
|
// Saturation.
|
||||||
|
if (saturation != 1.0) {
|
||||||
|
vec3 grayscale;
|
||||||
|
grayscale = vec3(dot(colorTemp.bgr, vec3(0.0721, 0.7154, 0.2125)));
|
||||||
|
vec3 blendedColor = mix(grayscale, colorTemp.rgb, saturation);
|
||||||
|
colorTemp = vec4(blendedColor, colorTemp.a);
|
||||||
|
}
|
||||||
|
|
||||||
FragColor = vec4(colorTemp.rgb, colorTemp.a * opacity);
|
FragColor = vec4(colorTemp.rgb, colorTemp.a * opacity);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue