#version 450 layout(location = 0) in vec2 tex_coords; layout(location = 0) out vec4 f_color; layout(set = 0, binding = 0) uniform sampler2D tex; layout(set = 0, binding = 1, rgba32ui) readonly uniform uimage2D img; void main() { ivec2 size = ivec2(gl_FragCoord.x, gl_FragCoord.y); f_color = imageLoad(img, size) / (255.0); float gamma = 0.5; f_color.rgb = pow(f_color.rgb, vec3(1.0/gamma)); }