rhythmbullet/android/assets/shaders/glow.fsh

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;
}
}
}