1.8 KiB
1.8 KiB
DRAFT — Étape 20 : HDR + Tone Mapping ✅
STATUT : TERMINÉ — implémenté et testé. Ce document sera remplacé par le prochain draft.
Récapitulatif
- 20.1 — Shader TM (
tonemap.wgsl) : fullscreen triangle + 2 curves (ACES/Reinhard) + validation naga ✅ - 20.2 —
ToneMapperenum (core/hdr.rs) : dispatch compile-time ✅ - 20.3 —
AppBuilder::with_hdr(ToneMapper)+ plomberie App → AppRunner → Renderer ✅ - 20.4 — Allocation HDR (
Rgba16Floatoffscreen) dansRenderer::new✅ - 20.5 — Main pass conditionnel (cible HDR vs surface) ✅
- 20.6 — Passe TM (fullscreen triangle → surface sRGB) ✅
- 20.7 — Resize : recreation texture HDR + bind group ✅
- 20.8 — Démo HDR + documentation (
docs/user/hdr.md) ✅
Fichiers modifiés/créés
| Fichier | Action |
|---|---|
lib/src/shaders/tonemap.wgsl |
Nouveau — fullscreen triangle + fs_aces + fs_reinhard |
lib/src/core/hdr.rs |
Nouveau — ToneMapper enum |
lib/src/core/mod.rs |
+ pub mod hdr + re-export |
lib/src/core/renderer.rs |
+ HdrPipeline struct, + HDR alloc, + TM pass, + resize, + helpers |
lib/src/utils/conf.rs |
+ TONEMAP_SHADER constant |
lib/src/app.rs |
+ with_hdr(), + hdr field plomberie |
lib/src/lib.rs |
+ pub use ToneMapper |
lib/examples/demo.rs |
+ .with_hdr(ToneMapper::Aces) |
lib/examples/manual.rs |
+ None param (backward compat) |
lib/tests/wgsl_validate.rs |
+ test tonemap |
docs/user/hdr.md |
Nouveau — doc utilisateur |
docs/user/README.md |
+ lien HDR |
Tests
- 99 unit tests ✅
- 4 WGSL validation (dont
tonemap_shader_is_valid_wgsl) ✅ - 3 doctests ✅
Prochaine étape
Phase 4 complète (4.1 + 4.2 + 4.3 + HDR/TM). Le ROADMAP peut être mis à jour.