//*PIXEL* #version 450 #extension GL_EXT_scalar_block_layout : enable #extension GL_EXT_nonuniform_qualifier : enable #extension GL_ARB_bindless_texture : enable const uint DIRECTIONAL_LIGHT = 1; const uint POINT_LIGHT = 2; const uint SPOT_LIGHT = 3; layout( std430, binding = 3) readonly buffer texture_buffer { uvec2 textures[1000]; }; layout(binding = 0) uniform uniform_per_frame { mat4 view; mat4 proj; uint shadow_texture_id; vec3 padding0; }; layout (location=0) in VS_OUT { vec2 vsUV; }; layout (location=0) out vec4 output_colour; void main() { uvec2 shadow_handle = textures[shadow_texture_id]; float colour = texture(sampler2DArray(shadow_handle), vec3(vsUV, 0)).r; //colour = (1.0 - (1.0 - colour) * 1.4); output_colour = vec4(colour, colour, colour, 1.0); //output_colour = vec4(1,0,0,1); }