From ec915533c9a49f0bf599f3afc7c24e321d9dac6f Mon Sep 17 00:00:00 2001 From: Bixilon Date: Fri, 29 Oct 2021 13:45:34 +0200 Subject: [PATCH] world renderer requirements --- doc/rendering/world_renderer.md | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 doc/rendering/world_renderer.md diff --git a/doc/rendering/world_renderer.md b/doc/rendering/world_renderer.md new file mode 100644 index 000000000..e473e4cbd --- /dev/null +++ b/doc/rendering/world_renderer.md @@ -0,0 +1,37 @@ +# 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" +- 2 Meshes per section (opaque; transparent) +- 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 +- 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) +- View distance + - Server side + - Client side +- Rewrite renderers +- Check neighbor positions +- Cache biomes +- "Fast biome" in 19w36a+ +- Improved biome blending +- Performance optimizations + - Don't render bedrock on y == dimension::minHeight