30 lines
689 B
GLSL
30 lines
689 B
GLSL
#version 450
|
|
|
|
struct DirectionalLightStruct
|
|
{
|
|
vec3 direction;
|
|
uint isActive;
|
|
uint cullingMask;
|
|
vec4 diffuseColor;
|
|
};
|
|
|
|
layout(local_size_x = 16, local_size_y = 16) in;
|
|
layout(set = 4, binding = 0, rgba8) uniform image2D inputImage;
|
|
layout(set = 4, binding = 1, rgba8) uniform image2D targetImage;
|
|
|
|
layout(set = 1, binding = 0) buffer DirectionalLightData
|
|
{
|
|
DirectionalLightStruct dLightData[];
|
|
} DirLightData;
|
|
|
|
void main()
|
|
{
|
|
// convenient variables
|
|
ivec2 globalThread = ivec2(gl_GlobalInvocationID);
|
|
|
|
vec3 color = imageLoad (inputImage, globalThread).rgb;
|
|
|
|
// store result into result image
|
|
imageStore(targetImage, ivec2(gl_GlobalInvocationID.xy), vec4(color, 1.0f));
|
|
|
|
} |