# R&D TODO
:fast_forward:Optim :bug:Bug :wrench:Feature :art:Interaction with art team :boom:Crash :question: Maybe
## To Do
- [ ] :bug: :one: Construct mesh with both emissive and non emissive material is glitched on GL
- [x] :bug: :one: Water might be broken on GL on 0.25
- [ ] :wrench: :one: Make it so the client does not wait indefinitely when not receiving server data for mesh or voxel
- [ ] :wrench: :one: Implement decor spawn for mining unit minigame
- [ ] :question: :one: Analyse PVP network usage to see where our bytes go. Players report insane bandwidth usage when doing PVP (Erwan or Sacha)
- [ ] :bug: :two: :boom: Invistigate this rendering crash report: https://novaquark.atlassian.net/browse/DU-31840
- [ ] :bug: :two: Game does not work on Shadow PC (see slack for details)
- [ ] :bug: :three: Ocean shoreline foam
- [ ] :wrench: :three: Create GFX::Texture
- [x] :wrench: :three: Fix Unigine Material memory model so that a child material does not keep dangling pointers to its parent when the parent dies.
- [ ] :bug: :three: Voxel Deployment Tool has its highlighted plane broken with shadows and planet shadow/night.
- [ ] :fast_forward: Use a single Index buffer per mesh for ground rendering
- [ ] Continuous voxel edition / preview
- [ ] Voxel backend speed improvement suggestions
- [ ] Flatten tool and underground material blending when digging
- [ ] :bug: :three: Arkship laser seen through water https://novaquark.atlassian.net/browse/DU-30662?
### Popcorn
- [ ] :wrench: :three: Work on all `TODO` in popcorn integration
- [ ] :wrench: :three: Add support for Custom Mesh Shader for Shield Vfx
- [ ] :wrench: :three: Add support for Masked diffuse in main popcorn shaders
- [ ] :wrench: :three: Add support for Diffuse and Emissive Ramp
- [ ] :wrench: :two: Enable Prewarm feature
- [ ] :wrench: :two: Fix transformUvs for other particles than billboards
## Optims
- [ ] Remove shader use of generic`BLEND_XXXX` defines
## Post Guillaume PR merge
- :three: PostMaterials struct with reference to usual post materials. Maybe create an enum class to reference them instead of hardcoded material names in the code
- :three: Remove need for RenderView::createDummy() by having low overhead renderPost
## Active
- [ ] :fast_forward: :wrench: **Sacha** Diff based voxel storage
- [ ] :earth_africa: **Guillaume** Asteroid prototype according to [this spec](https://docs.google.com/document/d/1XNp42j1yyBIrGNAvZsjUdtQ_AAJsasnegmlbw4eebwQ/edit?usp=sharing)
- [ ] :wrench: :two: **Philip** Evaluate and limit per voxel cell geometric complexity
- [ ] :wrench: :one: **Erwan** Voxel cache stats@
- [ ] :bug: :three: **Romain** Clouds have disappeared on openGL