voxel-test/todo.md
2025-08-04 12:03:31 +01:00

2.1 KiB

world generation

  1. world state "object" which will keep track of chunks to generate, to remove, to keep, those that are currently being generated in a thread pool.
  2. parallelised creeping chunk generation in a radius.
  3. removing of chunks when they go outside the radius.
  4. interlinked chunks; each chunk should have a ptr to the 26 neighbor chunks or null.
  5. world state linking and unlinking chunks automatically.
  6. ambient occlusion spanning between chunks.
  7. chunk loading, unloading, saving/loading from files; world state keeping track of chunks loaded and unloaded as well
  8. generation of (LOD) simplified chunk models
  9. generation of simplified chunks
  10. separate LOD radiuses for different LOD levels
  11. partial chunk loading and unloading.
  12. block change handling: recalculate only the relevant quads

misc graphics

  1. implement possibilities for 6 different surfaces for a tile, e.g a branch tile should have 4 bark surfaces and 2 inner surfaces
  2. implement random rotation and reflection of surfaces
  3. implement fixed rotation and reflection of surfaces
  4. implement custom models, e.g a tall grass tile is a model with two planes crossing in the middle (see: minecraft). implement optional greedy meshing for such models; e.g tall grass textures could fuse together diagonally and grass could have 2 layers who could mesh as well.
  5. implement metallicity (e.g block of iron) (?, discuss)
  6. implement random shininess (e.g rough diamond block, would sparkle as you move across, see purple rocks in PEAK's Alpine biome)
  7. implement emissive textures (e.g a computer screen, see minecraft's enderman/spider eyes and sculk blocks)
  8. implement bloom effect (see gregtech's glowing EBF's)

directional sun/moonlight

  1. discuss implementation

directional central lightning, e.g torches

  1. discuss implementation

tooling

  1. benchmarking step in build.zig: benchmark chunk meshing, generation, and similar tasks which will need to be performed at scale
  2. texturepack compiler: something that would compile minecraft-style texturepacks into a format that could be more suited for in game usage.