// __multiversion__ // This signals the loading code to prepend either #version 100 or #version 300 es as apropriate. // To use centroid sampling we need to have version 300 es shaders, which requires changing: // attribute to in // varying to out when in vertex shaders or in when in fragment shaders // defining an out vec4 FragColor and replacing uses of gl_FragColor with FragColor // texture2D to texture #if __VERSION__ >= 300 // version 300 code #ifdef MSAA_FRAMEBUFFER_ENABLED #define _centroid centroid #else #define _centroid #endif #if defined(TEXEL_AA) && defined(TEXEL_AA_FEATURE) _centroid in highp vec2 uv; #else _centroid in vec2 uv; #endif #define varying in #define texture2D texture out vec4 FragColor; #define gl_FragColor FragColor #else // version 100 code varying vec2 uv; #endif #include "shaders/util.h" uniform vec4 CURRENT_COLOR; uniform sampler2D TEXTURE_0; void main() { #if !defined(TEXEL_AA) || !defined(TEXEL_AA_FEATURE) vec4 diffuse = texture2D( TEXTURE_0, uv ); #else vec4 diffuse = texture2D_AA(TEXTURE_0, uv ); #endif #ifdef ALPHA_TEST if(diffuse.a < 0.5) discard; #endif gl_FragColor = CURRENT_COLOR * diffuse; }