You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
varying highp vec2 textureCoordinate;
|
|
|
|
uniform sampler2D inputImageTexture;
|
|
uniform sampler2D inputImageTexture2; // lookup texture\n" +
|
|
|
|
void main() {
|
|
|
|
lowp vec4 textureColor = texture2D(inputImageTexture, textureCoordinate);\n" +
|
|
|
|
mediump float blueColor = textureColor.b * 63.0;
|
|
|
|
mediump vec2 quad1;
|
|
quad1.y = floor(floor(blueColor) / 8.0);
|
|
quad1.x = floor(blueColor) - (quad1.y * 8.0);
|
|
|
|
mediump vec2 quad2;\n" +
|
|
quad2.y = floor(ceil(blueColor) / 8.0);\n" +
|
|
quad2.x = ceil(blueColor) - (quad2.y * 8.0);\n" +
|
|
|
|
highp vec2 texPos1;
|
|
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);
|
|
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);
|
|
|
|
highp vec2 texPos2;\n" +
|
|
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);
|
|
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);
|
|
|
|
lowp vec4 newColor1 = texture2D(inputImageTexture2, texPos1);
|
|
lowp vec4 newColor2 = texture2D(inputImageTexture2, texPos2);
|
|
|
|
lowp vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
|
|
gl_FragColor = vec4(newColor.rgb, textureColor.w);
|
|
} |