diff options
author | nathan <nathansmith@disroot.org> | 2025-07-27 11:42:51 +0000 |
---|---|---|
committer | nathan <nathansmith@disroot.org> | 2025-07-27 11:42:51 +0000 |
commit | 37e603085675aca97f94cce66fcd5d0fa3d50b1a (patch) | |
tree | ef17fc3ff2cbaf12e56ce8be8a821b0e2f92ac40 /assets/shaders/glsl330/skybox.fs | |
parent | 9b3bbf4ef7c26c1267e8ea99024d9d1acd7f1376 (diff) | |
download | FindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.tar.gz FindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.tar.bz2 FindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.zip |
Skybox working
Diffstat (limited to 'assets/shaders/glsl330/skybox.fs')
-rw-r--r-- | assets/shaders/glsl330/skybox.fs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/assets/shaders/glsl330/skybox.fs b/assets/shaders/glsl330/skybox.fs new file mode 100644 index 0000000..d71fef0 --- /dev/null +++ b/assets/shaders/glsl330/skybox.fs @@ -0,0 +1,30 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; +uniform bool vflipped; +uniform bool doGamma; + +// Output fragment color +out vec4 finalColor; + +void main() +{ + // Fetch color from texture map + vec3 color = vec3(0.0); + + if (vflipped) color = texture(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb; + else color = texture(environmentMap, fragPosition).rgb; + + if (doGamma)// Apply gamma correction + { + color = color/(color + vec3(1.0)); + color = pow(color, vec3(1.0/2.2)); + } + + // Calculate final fragment color + finalColor = vec4(color, 1.0); +} |