diff options
Diffstat (limited to 'assets/shaders/2d.fsh')
| -rw-r--r-- | assets/shaders/2d.fsh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/assets/shaders/2d.fsh b/assets/shaders/2d.fsh index 15465af..ba1fa59 100644 --- a/assets/shaders/2d.fsh +++ b/assets/shaders/2d.fsh @@ -1,7 +1,19 @@ #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() { - gl_FragColor = g_color; + vec4 color = g_color; + if( g_sampler != SAMPLER_ID_NONE ) { + vec4 tex_color = texture2D( g_samplers[g_sampler], g_texcoord ); + color *= tex_color; + if (color.a < 0.01) discard; + } + gl_FragColor = color; } |
