Marc wrote:
It helps partially. From what you say I understand that I can use the PolyVox library independently, without using Thermite, from another engine (Ogre, for example?). Then an example of how to use it would be fantastic.
Yep, that's the idea. The PolyVox library only depends on Boost - and I half planning to remove this dependency so it's standard C++. The mesh data which comes out of PolyVox is then fed into Ogre (for graphics) and Bullet (for physics) and the resulting system is what I call Thermite. However, you could just as easily feed the data into another engine. Over the next week or so I will try to write a simple example which puts some data in the volume and displays it with OpenGL.
Marc wrote:
I've been trying to use the source version of Thermite but it doesn't work well (the best results I have gotten is the scene with castle being invisible

, but with some blocks becoming visible after clicking with the left mouse button, and the right mouse button causing an instant crash). On the other hand, the precompiled version works perfectly. From the logs I can see that one of the differences is that the mipmaps are generated by hardware in the precompiled version but by software in the one compiled by me

, but I still have to investigate more on this.
Hmmm.... we firstly I guess it could be an instance of this problem?:
http://www.ogre3d.org/phpBB2/viewtopic.php?t=41789http://www.ogre3d.org/phpBB2/viewtopic.php?t=41547Though I'm not really convinced. Try using a much simpler material. Open 'WorldRegion.cpp' and replace the text "SingleMaterial" with "RedMaterial" and recompile. Does the world show up (though it will now be red)?
Marc wrote:
And one final question: what is the format of the voxel models loaded by Thermite?
All volumes are currently 256x256x256 - though I think the only example of a valid volume is the castle. The first three bytes are the width, height, and depth of the volume represented
by the power to which 2 must be raised. That is, in the castle volume the first three bytes are all '8' because 2^8 = 256.
After that you have 256x256x256 = 16777216 bytes with each byte corresponding to a voxel. I think they are in X then Y then Z order. That is, the first 256 bytes form one row of voxels, the next 256 form the next row, etc, until you have a slice. Then the next byte is the start of the next slice.
But actually this format is independent of PolyVox - it is only part of Thermite. PolyVox itself has no format, it doesn't care where it's data comes from. For example, you might choose to generate the volume procedurally instead.