From 1470dd240f48652d1fe97957fe44a49b0e1ee9a6 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 23 Mar 2026 00:26:52 +0100 Subject: wip(cnn_v3): shadow→dif intermediate + scene tweaks + migration plan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - gbuf_shadow.wgsl: normal bias 0.05→0.02 - gbuf_pack.wgsl: compute dif=diffuse*shadow, drop shadow from t1.z, store dif in t1.w (INTERMEDIATE — incorrect packing, see migration plan) - gbuf_deferred.wgsl: read dif from t1.w.x (matches intermediate packing) - gbuf_view.wgsl: expand to 4×6 grid, show dif.r/g/b in row 5 (INTERMEDIATE — to be reverted to 4×5 with ch18=dif) - gbuffer_effect.cc: add small hovering sphere (r=0.6) above scene; swap cube/sphere positions; both spheres pulsate - docs/GBUF_DIF_MIGRATION.md: full migration plan with checklist handoff(Claude): intermediate commit — GBUF_DIF_MIGRATION.md §Current State describes what is wrong and the full implementation checklist (5 steps). --- cnn_v3/shaders/gbuf_shadow.wgsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cnn_v3/shaders/gbuf_shadow.wgsl') diff --git a/cnn_v3/shaders/gbuf_shadow.wgsl b/cnn_v3/shaders/gbuf_shadow.wgsl index 6c81d66..65ae1fa 100644 --- a/cnn_v3/shaders/gbuf_shadow.wgsl +++ b/cnn_v3/shaders/gbuf_shadow.wgsl @@ -121,7 +121,7 @@ fn fs_main(@builtin(position) pos: vec4f) -> @location(0) vec4f { // Use rasterized surface normal for bias — correct for sphere impostors. let nm = textureLoad(normal_mat_tex, vec2i(pos.xy), 0); let nor = oct_decode_unorm(nm.rg); - let bias_pos = world + nor * 0.05; + let bias_pos = world + nor * 0.02; // March shadow rays toward each light; take the darkest value. var shadow_val = 1.0; -- cgit v1.2.3