Files
HydraV3/HydraEngine/source/ShaderFiles/shadow_shader.frag
T

63 lines
1.3 KiB
GLSL

//*PIXEL*
#version 460
#extension GL_ARB_bindless_texture : require
const uint DIRECTIONAL_LIGHT = 1;
const uint POINT_LIGHT = 2;
const uint SPOT_LIGHT = 3;
uint INVALID_HYDRA_ID = 4294967295;
struct MaterialStore
{
vec4 diffuse_colour;
vec4 matalic_rough;
uint diffuse_texture_id;
uint metallic_rough_texture_id;
uint normal_texture_id;
uint padding[1];
};
layout(std430, binding = 2) readonly buffer material_buffer
{
MaterialStore materials[1000];
};
layout(std430, binding = 3) readonly buffer texture_buffer
{
uvec2 textures[1000];
};
layout (location=0) in GEOM_OUT
{
vec2 vsUV;
flat uint vsMaterialID;
}geom_out;
layout (location=0) out vec4 output_colour;
void main()
{
MaterialStore mat = materials[geom_out.vsMaterialID];
vec4 diffuse_val = mat.diffuse_colour;
output_colour = vec4(1,0,0,1);
// if(mat.diffuse_texture_id != INVALID_HYDRA_ID)
// {
// output_colour = vec4(0,1,0,1);
// uvec2 diffuse_handle = textures[mat.diffuse_texture_id];
// diffuse_val = diffuse_val * texture(sampler2D(diffuse_handle), geom_out.vsUV.xy);
// output_colour = diffuse_val;
// }
// if(diffuse_val[3] <= 0.4)
// {
// discard;
// }
// Calculate the accurate, unclamped distance from the light source
// output_colour = diffuse_val;
// output_colour = vec4(geom_out.vsUV, 1,1);
}