Advertisement
Guest User

Untitled

a guest
Sep 27th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1.  
  2. -- LOD proposal --
  3.  
  4. An LOD system would improve render performance and greatly
  5. increase the perceived draw distance, one of the worst issues in Minetest.
  6.  
  7. * Absolutely worth it
  8. - Bump the draw distance from ~150ish to 2k and beyond
  9. - Minimal overhead (see below) and much, much bigger savings
  10. - Not as difficult as it sounds
  11.  
  12. * Approximate mapblocks before fully generating them.
  13.  
  14. * Store and send the "mipmaps" of a mapblock.
  15. - The costs increase only by about 0.142; the "mipmap principle" applies even harder in 3D
  16.  
  17. * As the distance increases, information can be skipped.
  18. - Special drawtypes can be omitted
  19. - Textures can be approximated with color
  20.  
  21. * Extremely far info need not be accurate
  22. - Can probably get away with just sampling mapgen data
  23. - At the same time, updating a 2x2 heightmap is dirt cheap
  24.  
  25. * Approximate certain features in special ways
  26. - Most maps have a terrain with an ocean, handle these specially
  27. - Known light sources can be sprites
  28.  
  29. * Player structures and decos can be approximated with imposter sprites
  30. - 3 flat cross sections will always be cheaper than the voxel equivalent
  31.  
  32. * Retroactively regenerate the mips for blocks altered throughout the game
  33. - Lazy, low priority, separate thread, etc.
  34.  
  35. * Cache and generate some of the data client side
  36. - Don't send me LODs of a mapblock I've just been to, I've already generated it locally
  37. - Hashes and timestamps to verify if the client already has the block
  38.  
  39. * Play nice with Lua, and minimize the burden on mods
  40. - Let modders specify if a node is used for terrain, or if it's manmade, and if it should be a light source
  41. - ...but attempt to guess it in case it's not known! ( from biome and deco defs )
  42. - Also let node-modifying code specify if a change is important
  43. -- You can guess some of this, actually; VoxelManip changes and player digs are usually important, other stuff less so
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement