So, I am almost done with the lighting update.
But while I was working on that I figured out how to incredibly optimize chunks.
This is an insanely huge render distance and used 8GB of RAM on my machine but it is really cool to see.
Light update will out very soon. Just been working hard on Sun Light propagation.
Check out on github:
https://github.com/Divine-Star-Software/DivineVoxelEngine
source
This looks absolutely otherworldly. How many voxels is this? What's your chunk dimensions? Are your voxels stored in one dimensional arrays? Are you using a compression tree/acceleration grid? I'm full of questions!
Nice work! I was going to comment this on the multi-threaded video, but the comment section appears to be gone:
Which render api do you use? Especially if it's Vulkan, I would recommend using a compute shader to generate the block-data in parallel. If you need it on the CPU, then you can just transfer it back, but if the only reason you use it on the CPU is for generating a mesh, you can also do that on the GPU too. It's a bit tricky, but it would mean you never transfer the data back to the CPU, or at least no more than is necessary. You could then just load back specific chunks to the CPU for things like player physics.