bvle-voxels/docs/plan.md

95 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2026-03-31 20:04:00 +02:00
# BVLE Voxels - Plan de travail
Fonctionnalites restantes et idees d'evolution, organisees par sujet.
Chaque sujet a un document d'implementation detaille dans `docs/`.
L'etat actuel du prototype est documente dans `CLAUDE.md` a la racine.
---
## Sujets restants de la specification originale
### 1. GPU Compute Surface Nets (Phase 5.3) ✅
Le mesher smooth fonctionne en GPU compute (2-pass: centroid CS + mesh CS).
Auto-bascule GPU/CPU. Shaders: `voxelSmoothCentroidCS.hlsl`, `voxelSmoothCS.hlsl`.
**Statut :** Termine.
### 2. LOD multi-resolution (Phase 5.4)
LOD 1 implementé : chunks 32³ couvrant 64³ world space, lodScale dans GPUChunkInfo,
VS multiplie localPos par lodScale. LOD 0 radius=6, LOD 1 ring radius=12 (480 chunks).
Pas de smooth/topings sur LOD 1.
Reste a faire : LOD 2+, skirts pour cacher les coutures, fog aux bords, LOD dynamique.
**Statut :** En cours. Voir `docs/plan-lod-skirts.md`.
### 3. Fallback Shadow Maps + SSAO (Phase 6.4)
Le ray tracing est obligatoire pour les ombres/AO. Les GPU sans RT (ou les configs
faibles) n'ont aucun eclairage directionnel. Le fallback devrait utiliser le pipeline
existant de Wicked Engine.
**Statut :** Non commence. Priorite basse (tous les GPU cibles supportent RT).
### 4. Connected Blocks / Tuyaux (idee spec)
Blocs contenant des modeles 3D customs avec jointure dynamique selon les voisins
identiques. Exemple : tuyaux qui se connectent automatiquement. Extension du systeme
de topings avec bitmask 6-faces au lieu de 4-adjacence.
**Statut :** Concept uniquement.
---
## Nouveaux sujets (inspires du talk Roblox SIGGRAPH 2020)
### 5. Deformation de vertices par materiau
Roblox definit des deformations procedurales par materiau sur les vertices Surface Nets :
shift (offset random), cubify (lerp vers centre cube), quantize (arrondi a 1/K),
barrel (cubify en Y), soft/hard edges. Donne du caractere visuel a chaque materiau
sans cout GPU.
**Statut :** Non commence. Voir `docs/plan-vertex-deformation.md`.
### 6. LOD avec skirts
Roblox utilise un mip pyramid par chunk + octree LOD. Les coutures entre niveaux LOD
sont resolues par des "skirts" (triangles de debordement + depth bias) au lieu du
stitching Transvoxel, qui est complexe. Solution elegante et simple.
**Statut :** Non commence. Voir `docs/plan-lod-skirts.md`.
### 7. Textures stylisees reelles
Passer des couleurs procedurales actuelles a de vraies textures (albedo + heightmap +
normal) dans un texture array. Triplanar mapping ameliore avec detiling (rotation/shift
par vertex a la Roblox). Height-based blending deja en place cote shader.
**Statut :** Infrastructure presente (texture array 5 layers, triplanar, height blend),
mais textures generees proceduralement. Voir `docs/plan-stylized-textures.md`.
### 8. Texture quilting (Roblox)
Alternative au triplanar : 1 plan de projection parmi 18 par vertex, encode dans le
vertex data. Reduit les fetches de 9-27 a 3. Technique a integrer dans le sujet
textures si le triplanar devient un bottleneck.
**Statut :** Non commence. Integre dans `docs/plan-stylized-textures.md`.
---
## Priorites suggerees
| Priorite | Sujet | Impact | Effort |
|----------|-------|--------|--------|
| 1 | Textures stylisees reelles | Visuel majeur | Moyen |
| 2 | Deformation vertices/materiau | Visuel fort, cout nul | Faible |
| 3 | LOD avec skirts | Scalabilite | Moyen-eleve |
| 4 | GPU Surface Nets | Performance smooth | Moyen |
| 5 | Fallback SM+SSAO | Compatibilite | Faible |
| 6 | Connected blocks | Gameplay | Eleve |