ProjectArcade
29 строк · 677.0 Байт
1// Advanced Scanlines (CRT) shader, created to use in PPSSPP.
2
3#ifdef GL_ES
4precision mediump float;
5precision mediump int;
6#endif
7
8uniform sampler2D sampler0;
9varying vec2 v_texcoord0;
10
11uniform vec4 u_setting;
12
13void main()
14{
15float pos0 = ((v_texcoord0.y + 1.0) * 170.0*u_setting.x);
16float pos1 = cos((fract( pos0 ) - 0.5)*3.1415926*u_setting.y)*1.5;
17vec4 rgb = texture2D( sampler0, v_texcoord0 );
18
19// slight contrast curve
20vec4 color = rgb*0.5+0.5*rgb*rgb*1.2;
21
22// color tint
23color *= vec4(0.9,1.0,0.7, 0.0);
24
25// vignette
26color *= 1.1 - 0.6 * (dot(v_texcoord0 - 0.5, v_texcoord0 - 0.5) * 2.0);
27
28gl_FragColor.rgba = mix(vec4(0,0,0,0), color, pos1);
29}
30