You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ticket 014 V14 already gives us effectively 2-bounce GI on HW-RT adapters: V3 Mesh Cards are shadow-aware per-frame lit (bounce 1) → V14 WSRC bake ray-traces into the pre-lit card atlas (bounce 2) → SSGI probe rays sample WSRC on miss (bounce 3, indirect on-screen). But this is a one-shot chain — infinite bounce would require WSRC to be lit from itself.
Approach
In V14's WSRC_BAKE_HW_WGSL, on ray hit at a card: instead of sampling ONLY the pre-lit card atlas, also add sample_wsrc(hit_pos, hit_normal) × albedo from the card's albedo atlas + WSRC evaluated at the hit point.
This creates a feedback loop — each WSRC bake integrates the previous WSRC's radiance at card-hit points. Over several frames the EMA converges to multi-bounce equilibrium.
Risks
Uncontrolled feedback = runaway brightness. Need energy conservation: WSRC contribution at hit should be clamped to 1.0 / (1.0 - mean_albedo) or similar.
Firefly propagation — a bad outlier in WSRC gets multiplied each bake. Need strong firefly clamping per-texel.
When to do this
If the scene has strongly-coloured bounce that's currently lost after the first bounce (e.g., red rug bouncing onto white ceiling should stay red after 2-3 bounces; currently goes neutral).
Ticket 014 V14 already gives us effectively 2-bounce GI on HW-RT adapters: V3 Mesh Cards are shadow-aware per-frame lit (bounce 1) → V14 WSRC bake ray-traces into the pre-lit card atlas (bounce 2) → SSGI probe rays sample WSRC on miss (bounce 3, indirect on-screen). But this is a one-shot chain — infinite bounce would require WSRC to be lit from itself.
Approach
WSRC_BAKE_HW_WGSL, on ray hit at a card: instead of sampling ONLY the pre-lit card atlas, also addsample_wsrc(hit_pos, hit_normal) × albedofrom the card's albedo atlas + WSRC evaluated at the hit point.Risks
1.0 / (1.0 - mean_albedo)or similar.When to do this
Scope
WSRC_BAKE_HW_WGSL: addcard_albedo_atlasbinding + WSRC sample at hit.Natural follow-up to ticket 014; not a blocker for any current quality gap.