techkaczynski.dev / code

summaryrefslogtreecommitdiff
path: root/env.c
diff options
context:
space:
mode:
authortech kaczynski <tk@techkaczynski.dev>2026-11-02 03:23:17 +1000
committertech kaczynski <tk@techkaczynski.dev>2026-11-02 03:23:17 +1000
commitb47b2e022bfa74cd94d3296aae6bd34ca4afff02 (patch)
tree5fa05b743289e1ab877a85c1bf1874be2736f04f /env.c
parent040a896cb98963c74916c0b833efa9df2ef965e3 (diff)
new shaders for foliage, new material settings, added lots of assets.
Diffstat (limited to 'env.c')
-rw-r--r--env.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/env.c b/env.c
index 20466f8..31c7971 100644
--- a/env.c
+++ b/env.c
@@ -10,26 +10,22 @@ static const Color SKY_DAY_ZENITH = { 20, 71, 158, 255 };
static f32
sky_smoothstep(f32 edge_0, f32 edge_1, f32 value) {
f32 amount = (value - edge_0) / (edge_1 - edge_0);
-
if (amount < 0.0f) {
amount = 0.0f;
} else if (amount > 1.0f) {
amount = 1.0f;
}
-
return amount * amount * (3.0f - 2.0f * amount);
}
static Vec3
sky_get_sun_direction(f32 cycle) {
f32 angle = cycle * 2.0f * PI - PI * 0.5f;
-
Vec3 dir = (Vec3) {
cosf(angle),
sinf(angle),
0.0f
};
-
return Vector3Normalize(dir);
}
@@ -45,9 +41,8 @@ sky_draw_symbol(Texture tex, Vec3 dir, Camera3D cam, f32 angular_diameter,
return;
}
- Vec3 cam_fwd = Vector3Normalize(
- Vector3Subtract(cam.target, cam.position));
-
+ Vec3 cam_fwd =
+ Vector3Normalize(Vector3Subtract(cam.target, cam.position));
f32 fwd_facing = Vector3DotProduct(cam_fwd, dir);
// don't draw if behind the camera
@@ -184,7 +179,7 @@ env_update_shader(cstr key) {
return;
}
- Shader sdr = shader_get(key)->sdr;
+ Shader sdr = res->sdr;
SetTraceLogLevel(LOG_DEBUG);
SetShaderValue(
sdr,
@@ -271,8 +266,10 @@ env_exit(void) {
void
env_update(void) {
sky_update_lighting();
- env_update_shader("model");
- env_update_shader("model_cutoff");
+ env_update_shader("default");
+ env_update_shader("alpha_cutoff");
+ env_update_shader("alpha_cutoff_nocull");
+ env_update_shader("foliage");
}
void