aboutsummaryrefslogtreecommitdiff
path: root/Assets
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-25 11:28:49 +0200
committerhachem <im@hachem.wtf>2025-08-25 11:28:49 +0200
commit86df8b19063f73b7803daaa1e5b21da33ac976ed (patch)
treeee274484bd1ca6ba8eba196b70abe9f2958c8c81 /Assets
parent59b917dcb36c227182da0c55a99acbcf74f7563d (diff)
[fix]: QOL improvements
Diffstat (limited to 'Assets')
-rw-r--r--Assets/HDRI/night_sky.hdrbin0 -> 51708063 bytes
-rw-r--r--Assets/Shaders/EquirectToCubemap.glsl30
-rw-r--r--Assets/Shaders/Grid.glsl41
-rw-r--r--Assets/Shaders/TexturedQuad.glsl (renamed from Assets/Shaders/ComputeTextureQuad.glsl)0
4 files changed, 59 insertions, 12 deletions
diff --git a/Assets/HDRI/night_sky.hdr b/Assets/HDRI/night_sky.hdr
new file mode 100644
index 0000000..b473659
--- /dev/null
+++ b/Assets/HDRI/night_sky.hdr
Binary files differ
diff --git a/Assets/Shaders/EquirectToCubemap.glsl b/Assets/Shaders/EquirectToCubemap.glsl
index 2b99c9b..690706f 100644
--- a/Assets/Shaders/EquirectToCubemap.glsl
+++ b/Assets/Shaders/EquirectToCubemap.glsl
@@ -1,23 +1,29 @@
#type vertex
#version 330 core
-layout (location = 0) in vec3 aPos;
-out vec3 WorldPos;
-uniform mat4 projection;
-uniform mat4 view;
+
+layout (location = 0) in vec3 a_Pos;
+out vec3 v_WorldPos;
+
+uniform mat4 u_Projection;
+uniform mat4 u_View;
+
void main()
{
- WorldPos = aPos;
- gl_Position = projection * view * vec4(WorldPos, 1.0);
+ v_WorldPos = a_Pos;
+ gl_Position = u_Projection * u_View * vec4(v_WorldPos, 1.0);
}
#type fragment
#version 330 core
-out vec4 FragColor;
-in vec3 WorldPos;
-uniform sampler2D equirectangularMap;
+
+out vec4 o_FragColor;
+in vec3 v_WorldPos;
+
+uniform sampler2D u_EquirectangularMap;
const vec2 invAtan = vec2(0.1591, 0.3183);
+
vec2 SampleSphericalMap(vec3 v)
{
vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
@@ -27,7 +33,7 @@ vec2 SampleSphericalMap(vec3 v)
}
void main()
{
- vec2 uv = SampleSphericalMap(normalize(WorldPos));
- vec3 color = texture(equirectangularMap, uv).rgb;
- FragColor = vec4(color, 1.0);
+ vec2 uv = SampleSphericalMap(normalize(v_WorldPos));
+ vec3 color = texture(u_EquirectangularMap, uv).rgb;
+ o_FragColor = vec4(color, 1.0);
}
diff --git a/Assets/Shaders/Grid.glsl b/Assets/Shaders/Grid.glsl
new file mode 100644
index 0000000..32c091a
--- /dev/null
+++ b/Assets/Shaders/Grid.glsl
@@ -0,0 +1,41 @@
+#type vertex
+
+#version 330 core
+
+layout(location = 0) in vec3 a_Position;
+
+uniform mat4 u_ViewProjection;
+uniform mat4 u_Transform;
+uniform float u_GridSize;
+
+void main()
+{
+ // Scale the grid based on the grid size uniform
+ vec3 scaledPosition = a_Position * (u_GridSize / 50.0);
+ gl_Position = u_ViewProjection * u_Transform * vec4(scaledPosition, 1.0);
+}
+
+#type fragment
+
+#version 330 core
+
+uniform vec3 u_GridColor;
+uniform float u_GridAlpha;
+uniform float u_GridSize;
+uniform vec3 u_CameraPos;
+
+out vec4 o_FragColor;
+
+void main()
+{
+ float distance = length(u_CameraPos);
+ float fadeFactor = 1.0 - clamp(distance / 100.0, 0.0, 0.8);
+
+ vec3 color = u_GridColor;
+ float alpha = u_GridAlpha * fadeFactor;
+
+ float gridFade = 1.0 - clamp(distance / 50.0, 0.0, 0.9);
+ alpha *= gridFade;
+
+ o_FragColor = vec4(color, alpha);
+}
diff --git a/Assets/Shaders/ComputeTextureQuad.glsl b/Assets/Shaders/TexturedQuad.glsl
index 95f433d..95f433d 100644
--- a/Assets/Shaders/ComputeTextureQuad.glsl
+++ b/Assets/Shaders/TexturedQuad.glsl