aboutsummaryrefslogtreecommitdiffstats
path: root/assets
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
parent9b3bbf4ef7c26c1267e8ea99024d9d1acd7f1376 (diff)
downloadFindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.tar.gz
FindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.tar.bz2
FindThings-37e603085675aca97f94cce66fcd5d0fa3d50b1a.zip
Skybox working
Diffstat (limited to 'assets')
-rw-r--r--assets/bush.pngbin46102 -> 12123 bytes
-rw-r--r--assets/shaders/glsl100/skybox.fs31
-rw-r--r--assets/shaders/glsl100/skybox.vs24
-rw-r--r--assets/shaders/glsl330/skybox.fs30
-rw-r--r--assets/shaders/glsl330/skybox.vs24
-rw-r--r--assets/skybox.pngbin0 -> 10992 bytes
-rw-r--r--assets/tree.pngbin208723 -> 55810 bytes
7 files changed, 109 insertions, 0 deletions
diff --git a/assets/bush.png b/assets/bush.png
index 07256a4..2d46b4c 100644
--- a/assets/bush.png
+++ b/assets/bush.png
Binary files differ
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);
+}
diff --git a/assets/shaders/glsl100/skybox.vs b/assets/shaders/glsl100/skybox.vs
new file mode 100644
index 0000000..e440ace
--- /dev/null
+++ b/assets/shaders/glsl100/skybox.vs
@@ -0,0 +1,24 @@
+#version 100
+
+// Input vertex attributes
+attribute vec3 vertexPosition;
+
+// Input uniform values
+uniform mat4 matProjection;
+uniform mat4 matView;
+
+// Output vertex attributes (to fragment shader)
+varying vec3 fragPosition;
+
+void main()
+{
+ // Calculate fragment position based on model transformations
+ fragPosition = vertexPosition;
+
+ // Remove translation from the view matrix
+ mat4 rotView = mat4(mat3(matView));
+ vec4 clipPos = matProjection*rotView*vec4(vertexPosition, 1.0);
+
+ // Calculate final vertex position
+ gl_Position = clipPos;
+}
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);
+}
diff --git a/assets/shaders/glsl330/skybox.vs b/assets/shaders/glsl330/skybox.vs
new file mode 100644
index 0000000..f41d469
--- /dev/null
+++ b/assets/shaders/glsl330/skybox.vs
@@ -0,0 +1,24 @@
+#version 330
+
+// Input vertex attributes
+in vec3 vertexPosition;
+
+// Input uniform values
+uniform mat4 matProjection;
+uniform mat4 matView;
+
+// Output vertex attributes (to fragment shader)
+out vec3 fragPosition;
+
+void main()
+{
+ // Calculate fragment position based on model transformations
+ fragPosition = vertexPosition;
+
+ // Remove translation from the view matrix
+ mat4 rotView = mat4(mat3(matView));
+ vec4 clipPos = matProjection*rotView*vec4(vertexPosition, 1.0);
+
+ // Calculate final vertex position
+ gl_Position = clipPos;
+}
diff --git a/assets/skybox.png b/assets/skybox.png
new file mode 100644
index 0000000..36a79b2
--- /dev/null
+++ b/assets/skybox.png
Binary files differ
diff --git a/assets/tree.png b/assets/tree.png
index af9a24b..30d3fa9 100644
--- a/assets/tree.png
+++ b/assets/tree.png
Binary files differ