fenomas / noa

Experimental voxel game engine.
MIT License
616 stars 91 forks source link

Question about max blocks in registry #93

Closed geggleto closed 4 years ago

geggleto commented 4 years ago

Was there a reason for the 256 limit in the registry?

Seems extremely small :)

fenomas commented 4 years ago

Hi, I think the limit is currently 512 but I could be wrong. The reason for it is that at runtime voxel data is packed into Uint16 arrays, with 9 bits being the voxel ID, 3 bits for flags (solidity, opacity, and whether it's an object block), and the rest reserved for future use.

The eventual plan for the extra bits is to indicate variations of a given voxel (I think minecraft does this with e.g. colors of wool blocks), but there isn't any code for that in the library yet.