aboutsummaryrefslogtreecommitdiff
path: root/shaders/glsl330/grayscale.fs
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/glsl330/grayscale.fs')
-rw-r--r--shaders/glsl330/grayscale.fs18
1 files changed, 12 insertions, 6 deletions
diff --git a/shaders/glsl330/grayscale.fs b/shaders/glsl330/grayscale.fs
index b3a695bf..d4a8824f 100644
--- a/shaders/glsl330/grayscale.fs
+++ b/shaders/glsl330/grayscale.fs
@@ -1,20 +1,26 @@
#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()
{
- vec4 base = texture(texture0, fragTexCoord)*fragTintColor;
+ // Texel color fetching from texture sampler
+ vec4 texelColor = texture(texture0, fragTexCoord)*fragTintColor*fragColor;
- // Convert to grayscale using NTSC conversion weights
- float gray = dot(base.rgb, vec3(0.299, 0.587, 0.114));
+ // Convert texel color to grayscale using NTSC conversion weights
+ float gray = dot(texelColor.rgb, vec3(0.299, 0.587, 0.114));
- fragColor = vec4(gray, gray, gray, fragTintColor.a);
+ // Calculate final fragment color
+ finalColor = vec4(gray, gray, gray, texelColor.a);
} \ No newline at end of file