From 5354b5dc0b67f775fe173f2968f2e01023e45e21 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 2 Feb 2026 16:39:15 +0100 Subject: fix(3d): Unify all objects to SDF path for consistent shadows - Updated ObjectData to include inv_model for reliable world-to-local mapping. - Enabled SDF raymarching path for all objects in test_3d_render (floor is now a large SDF BOX). - Implemented robust normal calculation using SDF gradient for all objects. - Standardized lighting (light_dir = 1,1,1) and diffuse+ambient model. - Refined calc_shadow with instance-based skip_idx and robust bias. - Fixed non-uniform scale handling in shader by extracting min scale from model matrix. --- src/generated/timeline.cc | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'src/generated/timeline.cc') diff --git a/src/generated/timeline.cc b/src/generated/timeline.cc index 9669b7b..376624b 100644 --- a/src/generated/timeline.cc +++ b/src/generated/timeline.cc @@ -2,25 +2,18 @@ #include "gpu/demo_effects.h" #include "gpu/effect.h" -void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, - WGPUTextureFormat format) { +void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format) { { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), - 0.0f, 60.0f, 0); - seq->add_effect(std::make_shared(device, queue, format), - 0.0f, 60.0f, 1); - seq->add_effect(std::make_shared(device, queue, format), - 0.0f, 60.0f, 2); + seq->add_effect(std::make_shared(device, queue, format), 0.0f, 60.0f, 0); + seq->add_effect(std::make_shared(device, queue, format), 0.0f, 60.0f, 1); + seq->add_effect(std::make_shared(device, queue, format), 0.0f, 60.0f, 2); main_seq.add_sequence(seq, 0.0f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), - 0.0f, 60.0f, 0); - seq->add_effect( - std::make_shared(device, queue, format), 0.0f, - 60.0f, 1); + seq->add_effect(std::make_shared(device, queue, format), 0.0f, 60.0f, 0); + seq->add_effect(std::make_shared(device, queue, format), 0.0f, 60.0f, 1); main_seq.add_sequence(seq, 0.0f, 10); } } -- cgit v1.2.3