feat: multi-lumières directionnelles + ponctuelles (Étape 12, Phase 4.2)
- Light (48 o) + MAX_LIGHTS=8 ; FrameUniforms étendu (ambient, lights[8], compteurs, _pad) - resources/lights.rs : Lights (1 dir +Z par défaut, non-régression) + into_frame_array - Scene : API déclarative add_directional_light / add_point_light / set_ambient / clear_lights - Renderer::write_frame_uniforms upload les lumières/ambiant de la scène - standard_shader.wgsl : struct Light + boucles d'accumulation (dir + ponctuelles, atténuation linéaire) - exemple cube : 1 lumière ponctuelle chaude - Docs : shaders/resources README, README roadmap, ROADMAP (item coché + Spot notée futur) - Build/test/fmt OK ; non-régression par défaut (1 dir +Z + ambiant blanc)
This commit is contained in:
+2
-13
@@ -1,15 +1,4 @@
|
||||
# DRAFT — Étape suivante
|
||||
|
||||
> 📅 **Document vidé le 2026-09-18** (fin de l'Étape 11, Resize — Phase 4.4, bilan archivé
|
||||
> dans l'historique git). Ce fichier accueillera le plan de l'étape suivante.
|
||||
>
|
||||
> **Étape 11 (2026-09-18) : Gestion du Resize (Surface + Depth) — FAIT & vérifié.**
|
||||
> `App::resize(w,h)` (`lib/src/app.rs`) reconfigure la surface via `Context::configure` et
|
||||
> recrée la depth texture via `Renderer::resize_depth` (+ `set_format`), avec re-synchronisation
|
||||
> de la Scene si le format change (D4). `AppRunner::window_event` branche `WindowEvent::Resized`
|
||||
> (garde 0×0, D3) et `RedrawRequested` (garde taille nulle, D6).
|
||||
> Vérifié : `cargo build`/`test` workspace + compilation des exemples OK, et **au runtime**
|
||||
> (exemple `cube`) le resize (agrandir + rétrécir) ne produit ni crash, ni artefact — rendu
|
||||
> correct à la nouvelle taille, aspect non déformé.
|
||||
>
|
||||
> Source de vérité = code + README.md. Ce document est vidé à la complétion de chaque étape.
|
||||
> DRAFT vide. L'Étape 12 (Phase 4.2 — multi-lumières) est terminée et son bilan est archivé dans l'historique git
|
||||
> (commit correspondant). Préparer le plan de l'étape suivante ici.
|
||||
|
||||
+2
-1
@@ -139,7 +139,8 @@ generated: { by: human:jerome, at: 2026-07-31T00:00:00Z }
|
||||
|
||||
### 4.2 Éclairage avancé
|
||||
- [x] Lumières hémisphériques *(déjà dans le `standard_shader` : mélange hémisphérique, Étape 2)*
|
||||
- [ ] Support multi-lumières (directionnelles, ponctuelles)
|
||||
- [x] Support multi-lumières (directionnelles, ponctuelles) *(Étape 12, 2026-09-18 : liste globale dans la `Scene`, tableau `FrameUniforms.lights[8]`, shader accumule ambiant + directionnelles + ponctuelles, `MAX_LIGHTS = 8`)*
|
||||
- [ ] Lumières spot (cône + angle) *(futur, post-Étape 12 — hors périmètre du multi-lumières initial ; extension triviale : même struct `Light` + champ d'angle/orientation et boucle d'accumulation dédiée)*
|
||||
- [ ] Shadows (optionnel)
|
||||
|
||||
### 4.3 Optimisations
|
||||
|
||||
Reference in New Issue
Block a user