3 //varying vec3 lift, inv_gamma, gain;
5 //varying vec3 inv_gamma;
6 //varying mat3 colorMat;
7 //uniform vec3 lift, gain;
9 vec3 to_linear(vec3 x) {
10 vec3 a = x * vec3(1.0/12.92);
11 vec3 b = pow((x + vec3(0.055)) * vec3(1.0/1.055), vec3(2.4));
12 vec3 f = vec3(greaterThan(x, vec3(0.04045)));
18 tc = gl_MultiTexCoord0;
20 //lift = to_linear(vec3(rgba.r, 0.0, 0.0));
21 //lift = vec3(rgba.r, 0.0, 0.0);
22 // lift = vec3(0.0, 0.0, 0.0);
23 // inv_gamma = vec3(1.0) / vec3(1.0, 1.0, 1.0 + 2.0 * rgba.r);
24 // gain = vec3(1.0, 1.0, 1.0);
25 //gain = vec3(1.0 + rgba.r * 3.0, 1.0, 1.0);
26 //gain = vec3(1.0, 1.0, 1.0 + rgba.r * 3.0);
27 //inv_gamma = vec3(1.0) / gamma;
30 vec4 rgba = gl_MultiTexCoord1;
36 mat3 rgb_to_xyz = mat3(
37 0.4124, 0.3576, 0.1805,
38 0.2126, 0.7152, 0.0722,
39 0.0193, 0.1192, 0.9505
41 mat3 xyz_to_lms = mat3(
42 0.4002, 0.7076, -0.0808,
43 -0.2263, 1.1653, 0.0457,
46 mat3 lms_corr_matrix = mat3(
51 mat3 lms_to_xyz = mat3(
52 1.86007, -1.12948, 0.21990,
53 0.36122, 0.63880, -0.00001,
54 0.00000, 0.00000, 1.08909
56 mat3 xyz_to_rgb = mat3(
57 3.240625, -1.537208, -0.498629,
58 -0.968931, 1.875756, 0.041518,
59 0.055710, -0.204021, 1.056996
61 colorMat = xyz_to_rgb * lms_to_xyz * lms_corr_matrix * xyz_to_lms * rgb_to_xyz;
64 gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;