Engine Design Choices, geometry size and orientation, center vs upper-left

Tell you what, rather than have a 40 post back and forth about it… why don’t you just build a quick-and-dirty block renderer. Make it extra simple… use a 3d array.

The algorithm is pretty straight forward:
for each cell
if it’s solid
check each neighbor cell
if neighbor cell is not solid, make a quad

Then figure out how you’d modify that to deal with different sized objects, etc.

Now try to add lighting, shadows, AO, etc…

Then think about the worst cases where you have sparse blocks. Imagine a checker board of solid/non-solid blocks. Where as before the storage was constant, now you’ve likely significantly INCREASED storage as you have to keep each block’s position, size, etc. separate… it was just one value before.

Then we are ready to have a conversation.