diff options
Diffstat (limited to 'shaders/glsl330/posterization.fs')
| -rw-r--r-- | shaders/glsl330/posterization.fs | 31 |
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 |
