diff options
Diffstat (limited to 'source/shaders/ui_text.fs.glsl')
-rwxr-xr-x | source/shaders/ui_text.fs.glsl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/shaders/ui_text.fs.glsl b/source/shaders/ui_text.fs.glsl new file mode 100755 index 0000000..ca2c249 --- /dev/null +++ b/source/shaders/ui_text.fs.glsl @@ -0,0 +1,15 @@ +#version 330 core + +in vec2 TexCoords; +flat in int Index; +uniform sampler2DArray TextureAtlas; +uniform int TextureMap[32]; +uniform vec3 TextColor; +out vec4 FragColor; + +void main() { + int TextureId = TextureMap[Index]; + vec3 TextureIndexCoords = vec3(TexCoords.xy, TextureId); + vec4 sampled = vec4(1.0, 1.0, 1.0, texture(TextureAtlas, TextureIndexCoords).r); + FragColor = sampled * vec4(TextColor, 1); +}; |