94 lines
3.4 KiB
Markdown
94 lines
3.4 KiB
Markdown
# 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 |
|