mirror of
https://github.com/yquake2/ref_vk.git
synced 2024-11-29 23:22:11 +00:00
34 lines
915 B
GLSL
34 lines
915 B
GLSL
|
#version 450
|
||
|
#extension GL_ARB_separate_shader_objects : enable
|
||
|
|
||
|
layout(push_constant) uniform PushConstant
|
||
|
{
|
||
|
layout(offset = 68) float postprocess;
|
||
|
layout(offset = 72) float gamma;
|
||
|
layout(offset = 76) float scrWidth;
|
||
|
layout(offset = 80) float scrHeight;
|
||
|
layout(offset = 84) float offsetX;
|
||
|
layout(offset = 88) float offsetY;
|
||
|
} pc;
|
||
|
|
||
|
layout(set = 0, binding = 0) uniform sampler2D sTexture;
|
||
|
|
||
|
layout(location = 0) in vec2 texCoord;
|
||
|
layout(location = 0) out vec4 fragmentColor;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
vec2 unnormTexCoord = texCoord * vec2(pc.scrWidth, pc.scrHeight) + vec2(pc.offsetX, pc.offsetY);
|
||
|
|
||
|
// apply any additional world-only postprocessing effects here (if enabled)
|
||
|
if (pc.postprocess > 0.0)
|
||
|
{
|
||
|
//gamma + color intensity bump
|
||
|
fragmentColor = vec4(pow(textureLod(sTexture, unnormTexCoord, 0.0).rgb * 1.5, vec3(pc.gamma)), 1.0);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
fragmentColor = textureLod(sTexture, unnormTexCoord, 0.0);
|
||
|
}
|
||
|
}
|