From aa64db6e7ffa7c07e54786497a42b74f37682608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Madar=C3=A1sz?= Date: Fri, 30 Aug 2024 16:18:04 +0200 Subject: [PATCH] tweak spotlight pos --- demos/09-shadows.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/demos/09-shadows.c b/demos/09-shadows.c index 85c3af8..5cc4f15 100644 --- a/demos/09-shadows.c +++ b/demos/09-shadows.c @@ -89,7 +89,8 @@ int main(int argc, char** argv) { initialized = 1; sky = skybox(flag("--mie") ? 0 : SKY_DIRS[SKY_DIR], 0); sm = shadowmap(512, 4096); - // sm.blur_pcf = 1; + // sm.blur_pcf = 1; + // sm.blur_scale mdl = model(OBJ_MDLS[OBJ_MDL], 0); shader_bind(mdl.program); cubemap_sh_shader(&sky.cubemap); @@ -139,11 +140,15 @@ int main(int argc, char** argv) { if (input_down(KEY_SPACE)) camera_spot = !camera_spot; if (mode == SPOT && camera_spot) { lights[0].pos = cam.position; + lights[0].pos = add3(lights[0].pos, scale3(cam.lookdir, 1.5f)); + vec3 rhs = cross3(cam.lookdir, vec3(0,1,0)); + lights[0].pos = add3(lights[0].pos, scale3(rhs, 0.5)); lights[0].dir = cam.lookdir; } if (mode == DIR) { lights[0].pos = cam.position; + lights[0].dir = vec3(1,-1,-1); } @@ -159,6 +164,9 @@ int main(int argc, char** argv) { lights[1].pos.z += cosf(window_time()*4)*6.0; lights[2].pos = cam.position; + lights[2].pos = add3(lights[2].pos, scale3(cam.lookdir, 1.5f)); + vec3 rhs = cross3(cam.lookdir, vec3(0,1,0)); + lights[2].pos = add3(lights[2].pos, scale3(rhs, 0.5)); lights[2].dir = cam.lookdir; lights[3].dir = vec3(1,-1,-1);