#version 450 const int MAX_TEXTURES = 128; layout(location = 0) in vec2 inUV; layout(location = 0) out vec4 outColor; layout(push_constant) uniform pc { layout(offset = 24) uint textureIndex; } push_constants; layout(set = 1, binding = 0) uniform sampler2D spriteTextures[MAX_TEXTURES]; void main() { vec4 tex = texture(spriteTextures[push_constants.textureIndex], inUV); outColor = tex; if(outColor.a >= 0.9 || outColor.a <= 0.001){discard;} }