summaryrefslogtreecommitdiffhomepage
path: root/shaders/glsl330/posterization.fs
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/glsl330/posterization.fs')
-rw-r--r--shaders/glsl330/posterization.fs31
1 files changed, 31 insertions, 0 deletions
diff --git a/shaders/glsl330/posterization.fs b/shaders/glsl330/posterization.fs
new file mode 100644
index 00000000..f1d72a19
--- /dev/null
+++ b/shaders/glsl330/posterization.fs
@@ -0,0 +1,31 @@
+#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
+
+float gamma = 0.6;
+float numColors = 8.0;
+
+void main()
+{
+ // Texel color fetching from texture sampler
+ vec3 texelColor = texture(texture0, fragTexCoord.xy).rgb;
+
+ texelColor = pow(texelColor, vec3(gamma, gamma, gamma));
+ texelColor = texelColor*numColors;
+ texelColor = floor(texelColor);
+ texelColor = texelColor/numColors;
+ texelColor = pow(texelColor, vec3(1.0/gamma));
+
+ finalColor = vec4(texelColor, 1.0);
+} \ No newline at end of file