diff options
author | Jean-Michaël Celerier <jean-michael.celerier@kdab.com> | 2020-03-13 15:23:50 +0100 |
---|---|---|
committer | Jean-Michaël Celerier <jean-michael.celerier@kdab.com> | 2020-04-21 16:36:47 +0200 |
commit | a01dbe5b0e1b912c7210abc304700020e685aff0 (patch) | |
tree | 7516339103b75068133654e6984c8bc45bd6cb7f /src/extras/shaders/rhi/skybox.frag | |
parent | 18b319f919f71c6b476675d832d1b8a2bda118c2 (diff) |
rhi: Handle RHI-required information in QShaderGraph
Change-Id: I705843bbb1f6928c2e36b327469882e11fb9613e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/extras/shaders/rhi/skybox.frag')
-rw-r--r-- | src/extras/shaders/rhi/skybox.frag | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/extras/shaders/rhi/skybox.frag b/src/extras/shaders/rhi/skybox.frag new file mode 100644 index 000000000..ceb13b628 --- /dev/null +++ b/src/extras/shaders/rhi/skybox.frag @@ -0,0 +1,24 @@ +#version 330 + +in vec3 texCoord0; +out vec4 fragColor; +uniform samplerCube skyboxTexture; + +// Gamma correction +uniform float gamma = 2.2; + +uniform float gammaStrength; + +vec3 gammaCorrect(const in vec3 color) +{ + return pow(color, vec3(1.0 / gamma)); +} + +void main() +{ + vec4 baseColor = texture(skyboxTexture, texCoord0); + vec4 gammaColor = vec4(gammaCorrect(baseColor.rgb), 1.0); + // This is an odd way to enable or not gamma correction, + // but this is a way to avoid branching until we can generate shaders + fragColor = mix(baseColor, gammaColor, gammaStrength); +} |