Nice progress there.
Changed from keeping track of neighbouring chunks and accessing their data, to n+2^3 array that just keeps extra layer (redundant) of data around the real data. for chunk edge drawing and occlusion. Works much better.
Will put this eventually to GitHub once it is decent enough and I have learned to use Github. I did start a project and made readme, but no code yet. Link in initial post.
I want to see that sources...
No signature provided yet.
I worked a bit tonight and I did get the initial save/load (binary) chunks to disk to work.
Did have some challenges from the fact that the world size is not artifically limited.
The maximum world size is Int64 chunks per axis.
Chunk size then is freely selectable, but with a limit of 2 642 243^3 (but in practice something like 16^3 to 32^3).
Code:Benchmarks Chunks cubed: 21 Chunk count: 9261 Chunk blocks cubed: 16 Blocks array(+2) size: 5832 Initialization etc: 190 ms Occupy ListLoad: 4 ms Per item: 0.000431918799265738 ms Creating chunks, please wait Create chunks one at a time: 10989 ms Chunks processed: 9261 Per item: 1.1865889212828 ms Chunks with solids created: 544 Per created: 20.2003676470588 ms Save chunks disk bulk: 10 ms Items: 544 Per item: 0.0183823529411765 ms Save chunks file locations: 11 ms Create vertices, Indices: 965 ms Items: 544 Per item: 1.77389705882353 ms Slowest item: 2 ms Render (all loaded): 49 ms Items: 544 Per item: 0.0900735294117647 ms Render (all loaded): 1 ms Items: 544 Per item: 0.00183823529411765 ms Updated frustrum: 0 ms Render (in frustrum): 1 ms Items: 185 Per item: 0.00540540540540541 ms
Is any sort of LOD planned?
I mean, those chunks missing their meshes: it would look nicer if instead of holes you rendered solid "plugs" as high as the highest block of the chunk missing its mesh yet. Then retract them into the ground smoothly after the mesh is generated.
Also, there could be other ways: (Planet Explorers had this implemented): LODs like, in the distance meshes are built by joining 8 adjacent blocks into one -- this way you can have a 4-chunk LOD mesh at the price of one.
Bookmarks