#if defined(OPENGL_ES) || defined(GL_ES) #ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; #else precision mediump float; #endif #endif /////////////////////////////////////////////////////////// // Uniforms uniform vec3 u_ambientColor; uniform sampler2D u_diffuseTexture; #if defined(MODULATE_COLOR) uniform vec4 u_modulateColor; #endif #if defined(MODULATE_ALPHA) uniform float u_modulateAlpha; #endif /////////////////////////////////////////////////////////// // Variables vec4 _baseColor; /////////////////////////////////////////////////////////// // Varyings varying vec2 v_texCoord; #if defined(CLIP_PLANE) varying float v_clipDistance; #endif void main() { #if defined(CLIP_PLANE) if(v_clipDistance < 0.0) discard; #endif vec2 texpos = vec2( v_texCoord.x, v_texCoord.y ); _baseColor = texture2D(u_diffuseTexture, texpos); gl_FragColor.a = _baseColor.a; #if defined(TEXTURE_DISCARD_ALPHA) if (gl_FragColor.a < 0.5) discard; #endif gl_FragColor.rgb = _baseColor.rgb; #if defined(MODULATE_COLOR) gl_FragColor *= u_modulateColor; #endif #if defined(MODULATE_ALPHA) gl_FragColor.a *= u_modulateAlpha; #endif }