aboutsummaryrefslogtreecommitdiffstats
path: root/assets/shaders/glsl100/skybox.fs
diff options
context:
space:
mode:
authornathan <nathansmith@disroot.org>2025-07-27 11:42:51 +0000
committernathan <nathansmith@disroot.org>2025-07-27 11:42:51 +0000
commit37e603085675aca97f94cce66fcd5d0fa3d50b1a (patch)
treeef17fc3ff2cbaf12e56ce8be8a821b0e2f92ac40 /assets/shaders/glsl100/skybox.fs
parent9b3bbf4ef7c26c1267e8ea99024d9d1acd7f1376 (diff)
downloadFindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.tar.gz
FindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.tar.bz2
FindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.zip
Skybox working
Diffstat (limited to 'assets/shaders/glsl100/skybox.fs')
-rw-r--r--assets/shaders/glsl100/skybox.fs31
1 files changed, 31 insertions, 0 deletions
diff --git a/assets/shaders/glsl100/skybox.fs b/assets/shaders/glsl100/skybox.fs
new file mode 100644
index 0000000..0ea6876
--- /dev/null
+++ b/assets/shaders/glsl100/skybox.fs
@@ -0,0 +1,31 @@
+#version 100
+
+precision mediump float;
+
+// Input vertex attributes (from vertex shader)
+varying vec3 fragPosition;
+
+// Input uniform values
+uniform samplerCube environmentMap;
+uniform bool vflipped;
+uniform bool doGamma;
+
+void main()
+{
+ // Fetch color from texture map
+ vec4 texelColor = vec4(0.0);
+
+ if (vflipped) texelColor = textureCube(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z));
+ else texelColor = textureCube(environmentMap, fragPosition);
+
+ vec3 color = vec3(texelColor.x, texelColor.y, texelColor.z);
+
+ if (doGamma) // Apply gamma correction
+ {
+ color = color/(color + vec3(1.0));
+ color = pow(color, vec3(1.0/2.2));
+ }
+
+ // Calculate final fragment color
+ gl_FragColor = vec4(color, 1.0);
+}