aboutsummaryrefslogtreecommitdiff
path: root/shaders/glsl330/bloom.fs
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/glsl330/bloom.fs')
-rw-r--r--shaders/glsl330/bloom.fs34
1 files changed, 15 insertions, 19 deletions
diff --git a/shaders/glsl330/bloom.fs b/shaders/glsl330/bloom.fs
index 34b6295c..0307bc06 100644
--- a/shaders/glsl330/bloom.fs
+++ b/shaders/glsl330/bloom.fs
@@ -1,12 +1,16 @@
#version 330
+// Input vertex attributes (from vertex shader)
in vec2 fragTexCoord;
+in vec4 fragColor;
-out vec4 fragColor;
-
+// Input uniform values
uniform sampler2D texture0;
uniform vec4 fragTintColor;
+// Output fragment color
+out vec4 finalColor;
+
// NOTE: Add here your custom variables
void main()
@@ -18,25 +22,17 @@ void main()
{
for (int j = -3; j < 3; j++)
{
- sum += texture(texture0, fragTexCoord + vec2(j, i)*0.004) * 0.25;
+ sum += texture(texture0, fragTexCoord + vec2(j, i)*0.004)*0.25;
}
}
- if (texture(texture0, fragTexCoord).r < 0.3)
- {
- tc = sum*sum*0.012 + texture(texture0, fragTexCoord);
- }
- else
- {
- if (texture(texture0, fragTexCoord).r < 0.5)
- {
- tc = sum*sum*0.009 + texture(texture0, fragTexCoord);
- }
- else
- {
- tc = sum*sum*0.0075 + texture(texture0, fragTexCoord);
- }
- }
+ // Texel color fetching from texture sampler
+ vec4 texelColor = texture(texture0, fragTexCoord);
- fragColor = tc;
+ // Calculate final fragment color
+ if (texelColor.r < 0.3) tc = sum*sum*0.012 + texelColor;
+ else if (texelColor.r < 0.5) tc = sum*sum*0.009 + texelColor;
+ else tc = sum*sum*0.0075 + texelColor;
+
+ finalColor = tc;
} \ No newline at end of file