File: posterize.frag

package info (click to toggle)
olive-editor 20181223-2
  • links: PTS
  • area: main
  • in suites: buster
  • size: 2,844 kB
  • sloc: cpp: 20,147; xml: 315; ansic: 16; makefile: 11
file content (19 lines) | stat: -rw-r--r-- 411 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#version 110

uniform sampler2D sceneTex; // 0
uniform float gamma_cent; // 0.6
uniform float numColors; // 8.0

varying vec2 vTexCoord;

void main() {
	float gamma = gamma_cent*0.01;
	vec4 color = texture2D(sceneTex, vTexCoord);
	vec3 c = color.rgb;
	c = pow(c, vec3(gamma, gamma, gamma));
	c = c * numColors;
	c = floor(c);
	c = c / numColors;
	c = pow(c, vec3(1.0/gamma));
	gl_FragColor = vec4(c, color.a);
}