diff options
| author | tech kaczynski <tk@techkaczynski.dev> | 2026-10-22 06:17:20 +1000 |
|---|---|---|
| committer | tech kaczynski <tk@techkaczynski.dev> | 2026-10-22 06:17:20 +1000 |
| commit | f5259b6c44b5902a0ca35de113fe16b9275ea13e (patch) | |
| tree | de42321bd5148bf8c87fc288a8bfd6c26e812bbc /env.c | |
| parent | 6bdb9fa5f2214f816b4195922b0b2b85f667e364 (diff) | |
added scene stats to default layout.
Diffstat (limited to 'env.c')
| -rw-r--r-- | env.c | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -173,65 +173,71 @@ sky_update_lighting(void) { } static void -env_update_mdl_shader(void) { +env_update_shader(cstr key) { Vec3 sun_col = color_to_vec3(env.sun_col); Vec3 moon_col = color_to_vec3(env.moon_col); Vec3 ambient_col = color_to_vec3(env.ambient_col); - Shader sdr = shader_get("model")->sdr; + FunShader *res = shader_get(key); + if (!res) { + TraceLog(LOG_ERROR, "env_update_shaders: invalid key"); + return; + } + + Shader sdr = shader_get(key)->sdr; SetTraceLogLevel(LOG_DEBUG); SetShaderValue( sdr, - fun_shader_uniform("model", "sun_direction"), + fun_shader_uniform(key, "sun_direction"), &env.sun_dir, SHADER_UNIFORM_VEC3 ); SetShaderValue( sdr, - fun_shader_uniform("model", "sun_colour"), + fun_shader_uniform(key, "sun_colour"), &sun_col, SHADER_UNIFORM_VEC3 ); SetShaderValue( sdr, - fun_shader_uniform("model", "sun_intensity"), + fun_shader_uniform(key, "sun_intensity"), &env.sun_intensity, SHADER_UNIFORM_FLOAT ); SetShaderValue( sdr, - fun_shader_uniform("model", "moon_direction"), + fun_shader_uniform(key, "moon_direction"), &env.moon_dir, SHADER_UNIFORM_VEC3 ); SetShaderValue( sdr, - fun_shader_uniform("model", "moon_colour"), + fun_shader_uniform(key, "moon_colour"), &moon_col, SHADER_UNIFORM_VEC3 ); SetShaderValue( sdr, - fun_shader_uniform("model", "moon_intensity"), + fun_shader_uniform(key, "moon_intensity"), &env.moon_intensity, SHADER_UNIFORM_FLOAT ); SetShaderValue( sdr, - fun_shader_uniform("model", "ambient_colour"), + fun_shader_uniform(key, "ambient_colour"), &ambient_col, SHADER_UNIFORM_VEC3 ); SetShaderValue( sdr, - fun_shader_uniform("model", "ambient_intensity"), + fun_shader_uniform(key, "ambient_intensity"), &env.ambient_intensity, SHADER_UNIFORM_FLOAT ); @@ -265,11 +271,12 @@ env_update(void) { // env.cycle += GetFrameTime() / env.day_len; // env.cycle -= floorf(env.cycle); // } + sky_update_lighting(); - env_update_mdl_shader(); + env_update_shader("model"); + env_update_shader("model_cutoff"); } - void env_draw_sky(Camera cam) { int scr_w = GetScreenWidth(); |
