Revision 94f6d472
Added by Leszek Koltunski about 7 years ago
src/main/res/raw/blur1_fragment_shader.glsl | ||
---|---|---|
19 | 19 |
|
20 | 20 |
precision lowp float; |
21 | 21 |
|
22 |
#if __VERSION__ != 100 |
|
23 |
#define TEXTURE texture |
|
22 | 24 |
in vec2 v_TexCoordinate; |
23 | 25 |
out vec4 fragColor; |
26 |
#else |
|
27 |
#define TEXTURE texture2D |
|
28 |
varying vec2 v_TexCoordinate; |
|
29 |
#endif |
|
30 |
|
|
24 | 31 |
uniform sampler2D u_ColorTexture; |
25 | 32 |
uniform float u_Offsets[MAX_BLUR]; |
26 | 33 |
uniform float u_Weights[MAX_BLUR]; |
... | ... | |
30 | 37 |
|
31 | 38 |
void main() |
32 | 39 |
{ |
33 |
vec4 pixel= texture(u_ColorTexture,v_TexCoordinate) * u_Weights[0];
|
|
40 |
vec4 pixel= TEXTURE(u_ColorTexture,v_TexCoordinate) * u_Weights[0];
|
|
34 | 41 |
|
35 | 42 |
for (int i=1; i<=u_Radius; i+=1) |
36 | 43 |
{ |
37 |
pixel += ( texture(u_ColorTexture,vec2(v_TexCoordinate.x+u_Offsets[i],v_TexCoordinate.y)) +
|
|
38 |
texture(u_ColorTexture,vec2(v_TexCoordinate.x-u_Offsets[i],v_TexCoordinate.y)) ) * u_Weights[i];
|
|
44 |
pixel += ( TEXTURE(u_ColorTexture,vec2(v_TexCoordinate.x+u_Offsets[i],v_TexCoordinate.y)) +
|
|
45 |
TEXTURE(u_ColorTexture,vec2(v_TexCoordinate.x-u_Offsets[i],v_TexCoordinate.y)) ) * u_Weights[i];
|
|
39 | 46 |
} |
40 | 47 |
|
41 |
fragColor = pixel; |
|
48 |
#if __VERSION__ != 100 |
|
49 |
fragColor = |
|
50 |
#else |
|
51 |
gl_FragColor = |
|
52 |
#endif |
|
53 |
|
|
54 |
pixel; |
|
42 | 55 |
} |
Also available in: Unified diff
Make it more flexible; now it can run almost all apps on OpenGL 2.0 contexts; OpenGL 3.0 ( with GLSL 3.00) required for POSTPROCESSING.