fix sky shader

This commit is contained in:
MihailRis
2025-09-23 00:51:21 +03:00
parent 28c821006a
commit 4ff18fec99
4 changed files with 12 additions and 4 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ float calc_shadow(
// TODO: add array textures support
float calc_shadow(vec4 modelPos, vec3 realnormal, float distance) {
#ifdef ENABLE_SHADOWS
float s = pow(abs(cos(u_dayTime * PI2)), 0.25) * u_shadowsOpacity;
float s = u_shadowsOpacity;
vec3 normalOffset = realnormal * (distance > 64.0 ? 0.2 : 0.04);
// as slow as mix(...)
+1 -1
View File
@@ -4,7 +4,7 @@
#include <constants>
vec3 pick_sky_color(samplerCube cubemap) {
vec3 skyLightColor = texture(cubemap, vec3(0.8f, 0.01f, 0.4f)).rgb;
vec3 skyLightColor = texture(cubemap, vec3(0.4f, 0.05f, 0.4f)).rgb;
skyLightColor *= SKY_LIGHT_TINT;
skyLightColor = min(vec3(1.0f), skyLightColor * SKY_LIGHT_MUL);
skyLightColor = max(MIN_SKY_LIGHT, skyLightColor);
+5 -1
View File
@@ -268,7 +268,11 @@ void main() {
camera_vector, // the camera vector (ray direction of this pixel)
1e12f, // max dist, essentially the scene depth
vec3(0.0f), // scene color, the color of the current pixel being rendered
vec3(u_lightDir.x, pow(u_lightDir.y, 3.0), u_lightDir.z), // light direction
vec3(
u_lightDir.x,
u_lightDir.y,
u_lightDir.z
), // light direction
vec3(40.0*fog), // light intensity, 40 looks nice
PLANET_POS, // position of the planet
PLANET_RADIUS, // radius of the planet in meters