|
- #ifdef OPENGL_ES
- #ifdef GL_FRAGMENT_PRECISION_HIGH
- precision highp float;
- #else
- precision mediump float;
- #endif
- #endif
-
- ///////////////////////////////////////////////////////////
- // Uniforms
- uniform sampler2D u_texture;
-
- ///////////////////////////////////////////////////////////
- // Varyings
- varying vec2 v_texCoord;
- varying vec4 v_color;
-
-
- // alphareject
- #if defined(TEXTURE_DISCARD_ALPHA)
- uniform float u_alphaReject;
- #endif
-
- #if defined(MODULATE_COLOR)
- uniform vec3 u_modulateColor;
- #endif
-
- #if defined(ADDITIVE_COLOR)
- uniform vec3 u_additiveColor;
- #endif
-
- #if defined(BLEND_COLOR)
- uniform vec4 u_blendColor;
- #endif
-
- #if defined(MODULATE_ALPHA)
- uniform float u_modulateAlpha;
- #endif
-
- uniform vec4 u_fogcolor;
- uniform vec4 u_fogparam; // .x, .y, .z, .w stand for fog density, fog start, fog end, fog type. fog type 0, no fog, fog type 1 linear fog, fog type 2 exp fog, fog type 3 exp2 fog
- varying float v_fogFactor; //fog factor
-
-
- void main()
- {
- gl_FragColor = v_color * texture2D(u_texture, v_texCoord);
-
- #if defined(TEXTURE_DISCARD_ALPHA)
- if (gl_FragColor.a < u_alphaReject)
- discard;
- #endif
-
-
- #if defined(MODULATE_COLOR)
- gl_FragColor.rgb *= u_modulateColor;
- #endif
-
- #if defined(ADDITIVE_COLOR)
- gl_FragColor.rgb += u_additiveColor;
- #endif
-
- #if defined(BLEND_COLOR)
- gl_FragColor.rgb = mix(gl_FragColor.rgb , u_blendColor.rgb , u_blendColor.a);
- #endif
-
- #if defined(MODULATE_ALPHA)
- gl_FragColor.a *= u_modulateAlpha;
- #endif
-
- #if defined(FOG)
- gl_FragColor.rgb = mix(u_fogcolor.rgb, gl_FragColor.rgb, v_fogFactor);
- #endif
- }
|