mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-08-05 13:06:19 -04:00
49 lines
1.6 KiB
Markdown
49 lines
1.6 KiB
Markdown
# World Renderer
|
|
|
|
- Frustum culling
|
|
- 2 algorithms
|
|
- Fast one (old one): Only tell if it could be in the frustum
|
|
- -> If yes (or no; depends on algo) use complex one to check
|
|
- extreme chunk section values (most east[…] block; highest block; lowest block)
|
|
- "Cave algorithm" (Occlusion culling)
|
|
- 3 Meshes per section (opaque; transparent; translucent)
|
|
- Preparing in nearer to further away order
|
|
- unload meshes if block changed and not in frustum
|
|
- only prepare if chunk is in frustum
|
|
- don't prepare empty chunks
|
|
- Light
|
|
- Client side light engine
|
|
- Lightmap
|
|
- Transparency
|
|
- Sort faces
|
|
- 2 render modes: Fast/Default
|
|
- No block translucency
|
|
- water logged & FluidFillable properties
|
|
- Force interrupt preparing if needed (e.g. new block change; light change; more important task in thread pool)
|
|
- "Resolving" of block models
|
|
- Chunk cache clearing (default F3 + A)
|
|
- Respawn
|
|
- texture animations
|
|
- require neighbour chunks loaded
|
|
- Also don't load if block changes in chunk (e.g. when movement is disabled and walking to chunk border and destroying block)
|
|
- View distance
|
|
- Server side
|
|
- Client side
|
|
- Rewrite renderers
|
|
- Check neighbour positions
|
|
- Cache biomes
|
|
- "Fast biome" in 19w36a+
|
|
- Improved biome blending
|
|
- Performance optimizations
|
|
- Don't render bedrock on y == dimension::minHeight
|
|
- Meshing
|
|
- Greedy meshing
|
|
- Model deciding (for pre flattening versions)
|
|
- Assets manager: Create file from jar with all models inside and load models from there (make them moddable)
|
|
|
|
|
|
- ToDo:
|
|
- Update neighbour chunks if needed
|
|
- Biomes: Check if chunk is single biome
|
|
-
|