summaryrefslogtreecommitdiffstats
path: root/drivers/gles3/shaders/scene.glsl
diff options
context:
space:
mode:
authorQbieShay <cislaghi.ilaria@gmail.com>2023-12-01 15:57:29 +0100
committerQbieShay <cislaghi.ilaria@gmail.com>2024-05-01 00:53:29 +0200
commit41a2b0e83e4b3cb7468791175217b549456b89a8 (patch)
treed31b5183108c659bdb269f1b572292a3f995f874 /drivers/gles3/shaders/scene.glsl
parentd282e4f0e6b6ebcf3bd6e05cd62f2a8fe1f9a238 (diff)
downloadredot-engine-41a2b0e83e4b3cb7468791175217b549456b89a8.tar.gz
Added premult alpha blending to 3D (spatial) shaders.
Co-authored-by: jitspoe <jitspoe@yahoo.com> Co-authored-by: Clay John <claynjohn@gmail.com>
Diffstat (limited to 'drivers/gles3/shaders/scene.glsl')
-rw-r--r--drivers/gles3/shaders/scene.glsl8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl
index 797b9066a9..22d72337b9 100644
--- a/drivers/gles3/shaders/scene.glsl
+++ b/drivers/gles3/shaders/scene.glsl
@@ -1442,6 +1442,9 @@ void main() {
float clearcoat_roughness = 0.0;
float anisotropy = 0.0;
vec2 anisotropy_flow = vec2(1.0, 0.0);
+#ifdef PREMULT_ALPHA_USED
+ float premult_alpha = 1.0;
+#endif
#ifndef FOG_DISABLED
vec4 fog = vec4(0.0);
#endif // !FOG_DISABLED
@@ -2141,9 +2144,12 @@ void main() {
frag_color.rgb += additive_light_color;
#endif // USE_ADDITIVE_LIGHTING
-
frag_color.rgb *= scene_data.luminance_multiplier;
#endif // !RENDER_MATERIAL
#endif // !MODE_RENDER_DEPTH
+
+#ifdef PREMULT_ALPHA_USED
+ frag_color.rgb *= premult_alpha;
+#endif
}