layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in; layout(set = 0, binding = 0, rgba8) uniform writeonly image2D output_image; layout(set = 0, binding = 1, rgba8) uniform readonly image2D accumulation_image; void main() { uint x = gl_GlobalInvocationID.x; uint y = gl_GlobalInvocationID.y; vec4 color = imageLoad(accumulation_image, ivec2(x, y)); imageStore(output_image, ivec2(x, y), sqrt(color)); }