39 lines
842 B
GLSL
Executable File
39 lines
842 B
GLSL
Executable File
#ifdef GL_ES
|
|
#define LOWP lowp
|
|
precision mediump float;
|
|
#else
|
|
#define LOWP
|
|
#endif
|
|
|
|
varying LOWP vec4 vColor;
|
|
varying vec2 vTexCoord;
|
|
|
|
uniform sampler2D u_texture;
|
|
|
|
void main() {
|
|
vec4 sum = vec4(0);
|
|
vec2 texcoord = vTexCoord;
|
|
int j;
|
|
int i;
|
|
|
|
for (i = -4; i < 4; i++) {
|
|
for (j = -3; j < 3; j++) {
|
|
sum += texture2D(u_texture, texcoord + vec2(j, i)*0.004) * 0.25;
|
|
}
|
|
}
|
|
if (texture2D(u_texture, texcoord).r * vColor.r < 0.3) {
|
|
gl_FragColor = vec4(sum * sum * 0.012 + texture2D(u_texture, texcoord))
|
|
* vColor;
|
|
} else {
|
|
if (texture2D(u_texture, texcoord).r * vColor.r < 0.5) {
|
|
gl_FragColor = vec4(
|
|
sum * sum * 0.009 + texture2D(u_texture, texcoord))
|
|
* vColor;
|
|
} else {
|
|
gl_FragColor = vec4(
|
|
sum * sum * 0.0075 + texture2D(u_texture, texcoord))
|
|
* vColor;
|
|
}
|
|
}
|
|
}
|