{
// variable "uStep" range scope : [0.0, 1.0]
std::string fragmentShader(
- "uniform vec2 texSize; \n"
- "uniform float uStep; \n"
- "uniform float uRows; \n"
- "uniform float uColumns; \n"
- "void main() \n"
- "{ \n"
- " vec2 mosaicSize = vec2(1.0 / uRows, 1.0 / uColumns); \n"
- " vec2 intXY = vec2(vTexCoord.x * texSize.x, vTexCoord.y * texSize.y); \n"
- " vec2 XYMosaic = vec2(floor(intXY.x / mosaicSize.x) * mosaicSize.x, floor(intXY.y / mosaicSize.y) * mosaicSize.y); \n"
- " vec2 UVMosaic = vec2(XYMosaic.x /texSize.x, XYMosaic.y / texSize.y); \n"
- " vec4 noiseVec = texture2D(sEffect, UVMosaic); \n"
- " float intensity = (noiseVec[0] + noiseVec[1] + noiseVec[2] + noiseVec[3]) / 4.0; \n"
+ "uniform mediump vec2 texSize;\n"
+ "uniform mediump float uStep;\n"
+ "uniform mediump float uRows;\n"
+ "uniform mediump float uColumns;\n"
+ "void main()\n"
+ "{\n"
+ " mediump vec2 mosaicSize = vec2(1.0 / uRows, 1.0 / uColumns); \n"
+ " mediump vec2 intXY = vec2(vTexCoord.x * texSize.x, vTexCoord.y * texSize.y); \n"
+ " mediump vec2 XYMosaic = vec2(floor(intXY.x / mosaicSize.x) * mosaicSize.x, floor(intXY.y / mosaicSize.y) * mosaicSize.y); \n"
+ " mediump vec2 UVMosaic = vec2(XYMosaic.x /texSize.x, XYMosaic.y / texSize.y); \n"
+ " mediump vec4 noiseVec = texture2D(sEffect, UVMosaic); \n"
+ " mediump float intensity = (noiseVec[0] + noiseVec[1] + noiseVec[2] + noiseVec[3]) / 4.0; \n"
" if(intensity < uStep) \n"
" gl_FragColor = vec4(0.1, 0.1, 0.1, 1.0); \n"
" else \n"