docs(draft): correct Étape 14 archived bilan (LessEqual, static cube, visibility fix)

This commit is contained in:
Jérôme Bousquié
2026-09-19 21:15:52 +02:00
parent ab13fa725e
commit b2db12e637
+6 -4
View File
@@ -7,15 +7,17 @@
> Ombres portées classiques en **deux passes** sur une lumière unique (directionnelle **ou** spot),
> choisie par `Scene::set_shadow_caster(index)` (D1). Le `Renderer` possède désormais la shadow map
> (1024², `Depth32Float`, `RENDER_ATTACHMENT | TEXTURE_BINDING`), le sampler **comparateur**
> (`GreaterEqual`, WebGPU NDC [0,1]), le bind group **@3** (sampler + texture), un buffer uniform
> (`LessEqual`, WebGPU NDC [0,1]), le bind group **@3** (sampler + texture), un buffer uniform
> `light_view_proj` + sa bind group, et une **pipeline depth-only** (`shadow_shader.wgsl` + bias
> slope-scaled) — tout alloué dans `Renderer::new`, comme la depth texture de scène (D2/D4).
> `render_scene` exécute d'abord `render_shadow_map` (même `CommandEncoder`), puis la passe principale
> échantillonne la map via **PCF 3×3** dans `standard_shader.wgsl` (l'ombre ne touche pas l'ambiant).
> `FrameUniforms` est passé de 704 à 784 octets (`shadow_light_index`, `light_view_proj`, `shadow_params`).
> Ombres **éteintes par défaut** (indice sentinelle `MAX_LIGHTS`) → non-régression des exemples
> `simple`/`cube`/`manual`/`spot_test`. Exemple `shadow_test` : cube tournant projetant une ombre sur
> un sol. Commit-log : `c2cbd7f` (impl), `39167ee` (comparateur), `67bd7af` (direction directionnelle),
> `9a51ff7` (test : clip depth WebGPU + NdotL).
> `simple`/`cube`/`manual`/`spot_test`. Exemple `shadow_test` : cube projetant une ombre douce sur
> un sol (lumière avant-droite basse, `toward_light (1.0, 0.5, 0.0)` — ombre visible). Commit-log :
> `c2cbd7f` (impl), `39167ee` (comparateur), `67bd7af` (direction directionnelle),
> `9a51ff7` (test : clip depth WebGPU + NdotL), `ab13fa7` (fix visibilité : réapplique `LessEqual`
> + lumière réglée après probe offscreen — ombre invisible car trop raide/occultée par le cube).
>
> Source de vérité = code + README.md. Ce document est vidé à la complétion de chaque étape.