SHOW:
|
|
- or go back to the newest paste.
1 | /* GLSL */ | |
2 | ||
3 | // fragmentShader: | |
4 | #ifdef GL_ES | |
5 | precision mediump float; | |
6 | #endif | |
7 | ||
8 | varying vec4 v_color; | |
9 | varying vec2 v_texCoords; | |
10 | uniform sampler2D u_texture; | |
11 | uniform sampler2D u_maskTexture; | |
12 | ||
13 | void main() { | |
14 | - | vec4 color = v_color texture2D( u_texture, v_texCoords ); |
14 | + | vec4 color = v_color texture2D( u_texture, v_texCoords ); |
15 | - | vec2 maskCoords = vec2(v_texCoords.x 2.0, v_texCoords.y 12.0); |
15 | + | vec2 maskCoords = vec2(v_texCoords.x 2.0, v_texCoords.y 12.0); |
16 | - | vec3 mask_color = texture2D(u_maskTexture, maskCoords).rgb; |
16 | + | vec3 mask_color = texture2D(u_maskTexture, maskCoords).rgb; |
17 | - | if( color.a == 0.0 ) gl_FragColor = vec4( color.r, color.g, color.b, color.a ); |
17 | + | if( color.a == 0.0 ) gl_FragColor = vec4( color.r, color.g, color.b, color.a ); |
18 | - | else gl_FragColor = vec4( mask_color.r, mask_color.g, mask_color.b, color.a ); |
18 | + | else gl_FragColor = vec4( mask_color.r, mask_color.g, mask_color.b, color.a ); |
19 | } | |
20 | ||
21 | // vertexShader: | |
22 | attribute vec4 a_position; | |
23 | attribute vec4 a_color; | |
24 | attribute vec2 a_texCoord0; | |
25 | attribute vec3 a_maskTexture; | |
26 | ||
27 | uniform mat4 u_projTrans; | |
28 | ||
29 | varying vec3 v_maskTexture; | |
30 | varying vec4 v_color; | |
31 | varying vec2 v_texCoords; | |
32 | ||
33 | void main() { | |
34 | - | v_color = a_color; |
34 | + | v_color = a_color; |
35 | - | v_maskTexture = a_maskTexture; |
35 | + | v_maskTexture = a_maskTexture; |
36 | - | v_texCoords = a_texCoord0; |
36 | + | v_texCoords = a_texCoord0; |
37 | - | gl_Position = u_projTrans a_position; |
37 | + | gl_Position = u_projTrans a_position; |
38 | } |