summaryrefslogtreecommitdiffhomepage
path: root/shaders/glsl100/grayscale.fs
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/glsl100/grayscale.fs')
-rw-r--r--shaders/glsl100/grayscale.fs25
1 files changed, 25 insertions, 0 deletions
diff --git a/shaders/glsl100/grayscale.fs b/shaders/glsl100/grayscale.fs
new file mode 100644
index 00000000..f92ec335
--- /dev/null
+++ b/shaders/glsl100/grayscale.fs
@@ -0,0 +1,25 @@
+#version 100
+
+precision mediump float;
+
+// Input vertex attributes (from vertex shader)
+varying vec2 fragTexCoord;
+varying vec4 fragColor;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform vec4 fragTintColor;
+
+// 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
+ gl_FragColor = vec4(gray, gray, gray, texelColor.a);
+} \ No newline at end of file