#version 450 #extension GL_EXT_nonuniform_qualifier : enable layout(set = 0, binding = 0) uniform sampler font_samplers[]; layout(set = 1, binding = 0) uniform texture2DArray font_textures[]; layout(location = 0) in vec4 fragColor; layout(location = 1) in vec2 fragUV; layout(location = 2) flat in uint code; layout(location = 3) flat in uint index; layout(location = 4) flat in uint type; layout(location = 0) out vec4 outColor; void main() { if(type == 0) { outColor = fragColor; } else if(type == 1) { outColor = fragColor * texture(sampler2DArray(font_textures[index], font_samplers[index]), vec3(fragUV, code)); } }