#version 150 uniform sampler2D g_samplers[255]; const uint SAMPLER_ID_NONE = 255u; in vec2 g_texcoord; in vec4 g_color; flat in uint g_sampler; void main() { vec4 color = g_color; if( g_sampler != SAMPLER_ID_NONE ) { color = texture2D( g_samplers[int(g_sampler)], g_texcoord ); color *= g_color; } gl_FragColor = color; }