From c5e66964c0463219019d0439ec20b79248637fa4 Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 22 Mar 2026 19:15:55 +0100 Subject: feat(cnn_v3): GBufferEffect internal scene + GBufViewEffect debug wiring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GBufferEffect: - set_scene() now owns Scene/Camera internally; no external pointers needed - 20 randomly rotating cubes (xorshift32 seed, axis-angle animation) - 4 pumping spheres (radius = base_r * (1 + audio_intensity * 0.8)) - Camera at (0,2.5,6) looking at origin; aspect updated per-frame - GBufLightsUniforms: 2 directional lights (warm key + cool fill) - object_type written to ObjectData.params.x (ready for SDF shadow) - shadow/transp nodes cleared via zero-draw render passes (placeholder) - bilinear sampler cached via create_linear_sampler() / sampler_.get() - dead placeholder textures removed GBufViewEffect: - gbuf_view.wgsl: all channels now fully grayscale (removed color tint) - seq_compiler.py: GBufViewEffect added to CLASS_TO_HEADER - timeline.seq: cnn_v3_test uses GBufViewEffect -> sink for debug view Docs: HOWTO.md §1 updated with set_scene() description + §1b implementation plan for Pass 2 SDF shadow (shader spec, bind layout, C++ additions) handoff(Gemini): GBufferEffect has internal scene, 36/36 tests green. Next: implement Pass 2 shadow (gbuf_shadow.wgsl) per §1b plan in HOWTO.md. --- cnn_v3/shaders/gbuf_view.wgsl | 5 ----- 1 file changed, 5 deletions(-) (limited to 'cnn_v3/shaders/gbuf_view.wgsl') diff --git a/cnn_v3/shaders/gbuf_view.wgsl b/cnn_v3/shaders/gbuf_view.wgsl index f2ae085..a5e6c91 100644 --- a/cnn_v3/shaders/gbuf_view.wgsl +++ b/cnn_v3/shaders/gbuf_view.wgsl @@ -93,10 +93,5 @@ fn fs_main(@builtin(position) pos: vec4f) -> @location(0) vec4f { disp = clamp(v, 0.0, 1.0); } - // Albedo channels: tint for identification (ch0=red, ch1=green, ch2=blue) - if (ch == 0u) { return vec4f(disp, 0.0, 0.0, 1.0); } - else if (ch == 1u) { return vec4f(0.0, disp, 0.0, 1.0); } - else if (ch == 2u) { return vec4f(0.0, 0.0, disp, 1.0); } - return vec4f(disp, disp, disp, 1.0); } -- cgit v1.2.3