40 lines
871 B
GLSL
40 lines
871 B
GLSL
//*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);
|
|
}
|