1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#ifdef GL_ES
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
#else
precision mediump float;
#endif
#endif
uniform sampler2D tex, texu, texv;
varying vec2 tex_c, tex_c2, tex_c3;
void main()
{
const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000,
0.00000, -0.34410, 1.77200, 0.00000,
1.40200, -0.71410, 0.00000, 0.00000,
-0.77380, 0.45630, -0.95880, 1.00000);
gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r,
texture2D(texu, tex_c2.xy).r,
texture2D(texv, tex_c3.xy).r, 1.0);
}
|