There are a couple of implementations of Volumes, such as the RawVolume (which stores everything as a single 3D array) and the PagedVolume (which breaks the volume down into blocks, allows them to be moved in and out of memory). You could also write your own implementation if you wish, and it will work with the PolyVox algorithms as long as you match the API interface.
However, these are not really forms of "computation avoidance", as I'm not sure PolyVox really does that much computation. It's not really intended for fluid simulation or anything like that. The main 'computation' would be running the Marching Cubes algorithm to extract the surface mesh, and it is really left to the user to specify for which parts of the volume they want to extract the surface.
|