Files
wsg/docs/DRAFT.md
T
Jérôme Bousquié 805babe53d HDR
2026-09-24 11:21:35 +02:00

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 — ToneMapper enum (core/hdr.rs) : dispatch compile-time ✅
  • 20.3 — AppBuilder::with_hdr(ToneMapper) + plomberie App → AppRunner → Renderer ✅
  • 20.4 — Allocation HDR (Rgba16Float offscreen) dans Renderer::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.