#ifdef GL_ES precision highp float; #endif varying vec2 vTextureCoord; uniform sampler2D uSampler; uniform vec3 wl; /* Color RGBA vec4 */ float zero = 0.0; void main(void) { float wmax = (wl[1] + wl[0]/2.0)/255.0; float wmin = zero; if (wl[0] > zero) wmin = wmax - wl[0]; else wmin = wmax + wl[0]; wmin = wmin / 255.0; float wscale = 1.0 / (wmax - wmin); vec4 srcColor = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t)); gl_FragColor = vec4((srcColor[0] - wmin) * wscale,(srcColor[1] - wmin) * wscale,(srcColor[2] - wmin) * wscale,1.0); /* gl_FragColor = srcColor; */ }