Pixel-Composer/shaders/sh_posterize/sh_posterize.fsh

20 lines
420 B
Plaintext
Raw Normal View History

2022-01-13 05:24:03 +01:00
//
// Simple passthrough fragment shader
//
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform int colors;
2023-08-01 19:21:51 +02:00
uniform int alpha;
2022-01-13 05:24:03 +01:00
uniform float gamma;
void main() {
vec4 _col = texture2D( gm_BaseTexture, v_vTexcoord );
2023-08-01 19:21:51 +02:00
vec4 c = _col;
c = floor(pow(c, vec4(gamma)) * float(colors));
c = pow(c / float(colors), vec4(1.0 / gamma));
if(alpha == 1) gl_FragColor = c;
else gl_FragColor = vec4(c.rgb, _col.a);
2022-01-13 05:24:03 +01:00
}