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