AticAtac wrote:
- What is the max size for SimpleVolume? When should one switch to LargeVolume?
The limitation of SimpleVolume is that it doesn't perform any compression, and so you should switch to LargeVolume once SimpleVolume is using too much memory. For example, if your volume is 512x512x512 voxels and you are store an 8-bit material identifier for each voxel then the total storage in bytes is 512x512x512x1 = approx 128Mb. This is no problem on desktop but too much for mobile.
AticAtac wrote:
- Are there any good examples for LargeVolume?
Only the PagingExample which comes with PolyVox. But I'd strongly recommend you just work with SimpleVolume until you have your basic system working and then scale up when you need to. The interface is basically the same so it is easy to switch, and LargeVolume is undergoing some active development at the moment (
on this branch).
AticAtac wrote:
- If a level is static then caching the extracted meshes and reuse them is better than extracting it each frame?
If your level is static then you may not need to use PolyVox at all... it probably easier just to model your level once in Bleder or some other 3D package and use it from there. But if you do use PolyVox then you shold only re-extract when the volume data changes and not every frame.
AticAtac wrote:
- a region is always rectangular? I am asking this because if i would go to cull out early voxels based on camera and view distance then it would be handy to define a reference voxel (camera position) and only extract voxels which are within a certain distance.
Yes, a region is always rectangular (well, a cuboid really). You can split you volume into regions, and then compute the distance from the centre of each region to your camera. Based on this distance you can decide when to extract a region and when to draw it.
AticAtac wrote:
But maybe i am completly on wrong track here, i am not sure if i am using the right technologies together.
I think it does depend if you need your block-based world to be dynamic or procedurally generated. A game like
3D Dot Game Heros looks like it is made of voxels but actually they just have regular geometry with a 'tile' texture stretched over it (and so it isn't dynamic). You have to weigh the extra complication of a dynamic/procedural world against the game play benefits.