Generate Procedural Mesh

[=;220411]
I don’t know if I got you right. You have some chunk components, and additional collision and render chunks? And if you say you use theses render chunks to render multiple chunks at a time, why don’t you increase the chunk size for a single chunk? How do you update your chunks within those render chunks (you probably have to recreate all the triangles for alle the chunks within one render chunks, don’t you?).
[/]

No I just have collision and render chunks, the collision chunks store all of the information and the render chunks group the vertices of multiple collision chunks together and render them.

Larger chunk sizes = I have to extract the mesh, run greedy meshing on it, process lighting, and generally iterate over many more voxels at a time when something changes (or not use greedy meshing on the changed area). Compared to larger chunk sizes using render chunks that contain multiple chunks and resends the vertices and indices to the GPU is generally faster in all cases from my tests. I don’t extract the chunks that didn’t change, I store their actual vertices in the collision chunk and just merge them with the changed chunks in the render chunk before sending to the GPU.

It also has the upside of allowing me to set the collision chunks to static mobility so that physics objects don’t fall right through things when they hit a high enough velocity.