#version 450 // SIMPLE TEXTURE : FRAGMENT SHADER // These come in from the previous shader (vertex) layout(location = 0) in vec2 texture_position; // This goes out to the bound image in window_size_dependent setup layout(location = 0) out vec4 f_color; // This is bound by the descriptor set // Currently handled by the individual buffer and are 1:1 layout(set = 0, binding = 0) uniform sampler2D tex; void main() { ivec2 pixel_pos = ivec2(gl_FragCoord.x, gl_FragCoord.y); f_color = texture(tex, texture_position); float gamma = 0.5; f_color.rgb = pow(f_color.rgb, vec3(1.0/gamma)); }