Fully Destructible Levels - New website and domain!
- Wolfmanfx
- OGRE Team Member
- Posts: 1525
- Joined: Fri Feb 03, 2006 10:37 pm
- Location: Austria - Leoben
- x 99
- Contact:
Re: Fully Destructible Levels - New website and domain!
Nice! Do you still provide the orge bindings / and still use ogre? Just out of interest
- PolyVox
- OGRE Contributor
- Posts: 1316
- Joined: Tue Nov 21, 2006 11:28 am
- Location: Groningen, The Netherlands
- x 18
- Contact:
Re: Fully Destructible Levels - New website and domain!
The library is completely independant of engine or API, and just outputs meshes as indexed vertex buffers for you to load into your engine of choice. So the library doesn't use Ogre. Originally it was tech demo built using Ogre (which is why I bumped this thread) but it's evolved since.
We used Ogre for our last game (Voxeliens) but in the future we'll probably work with a different engine because we want a game engine rather than a graphics engine. Many of our users are still using Ogre though.
We used Ogre for our last game (Voxeliens) but in the future we'll probably work with a different engine because we want a game engine rather than a graphics engine. Many of our users are still using Ogre though.
-
- Orc Shaman
- Posts: 788
- Joined: Mon Jan 18, 2010 6:06 pm
- Location: Costa Mesa, California
- x 24
Re: Fully Destructible Levels - New website and domain!
Nice to see you guys are still at it. I ended up abandoning my PolyVox/ Ogre project because I wasn't able to multithread it. Maybe I'll come back to it someday.
-
- OGRE Retired Team Member
- Posts: 972
- Joined: Mon Jun 02, 2008 6:52 pm
- Location: Berlin
- x 65
Re: Fully Destructible Levels - New website and domain!
What were your problems in multithreading it?
-
- Orc Shaman
- Posts: 788
- Joined: Mon Jan 18, 2010 6:06 pm
- Location: Costa Mesa, California
- x 24
Re: Fully Destructible Levels - New website and domain!
In PolyVox, you can't make multiple volumes. So I was using LargeVolume and splitting the workload between threads to render it, but access to the volume is not thread safe. Something along those lines. I needed quicker access for real time updating but I think it was a bust from the conclusion I came to. Older video of what I was working on before I came to the conslusion - https://www.youtube.com/watch?v=sclXcaDl2-4
- PolyVox
- OGRE Contributor
- Posts: 1316
- Joined: Tue Nov 21, 2006 11:28 am
- Location: Groningen, The Netherlands
- x 18
- Contact:
Re: Fully Destructible Levels - New website and domain!
Yeah, there basically isn't much support for threading in PolyVox and users need to implement this at a higher level if they want it. We have at least now updated the docs to makes this clear: http://www.volumesoffun.com/polyvox/doc ... ading.html
For almost all the stuff I do I'm just using a single thread (even for real-time editing on a mobile phone), but I'll do some research on appropriate higher level mechanisms soon. Not sure they'll make it into PolyVox though, we'll probably keep it low-level. We might add some low-level parallelism and use of OpenMP though.
For almost all the stuff I do I'm just using a single thread (even for real-time editing on a mobile phone), but I'll do some research on appropriate higher level mechanisms soon. Not sure they'll make it into PolyVox though, we'll probably keep it low-level. We might add some low-level parallelism and use of OpenMP though.
-
- OGRE Retired Team Member
- Posts: 972
- Joined: Mon Jun 02, 2008 6:52 pm
- Location: Berlin
- x 65
Re: Fully Destructible Levels - New website and domain!
Couldn't you in one thread construct one small volume, in another thread another volume, etc.? I don't see why that should break anything.
Or would different SurfaceExtractors access some shared resources that are not thread safe?
To construct the mesh (in Ogre), you'd need to collect the data from the threads in one single thread, of course.
Or would different SurfaceExtractors access some shared resources that are not thread safe?
To construct the mesh (in Ogre), you'd need to collect the data from the threads in one single thread, of course.
-
- Orc Shaman
- Posts: 788
- Joined: Mon Jan 18, 2010 6:06 pm
- Location: Costa Mesa, California
- x 24
Re: Fully Destructible Levels - New website and domain!
Yeah, it doesn't seem like it would, but I think there are shared resources like you said that aren't thread safe. It's really the only downside to it. I think I tried every way around it, but that's why I bailed on it. It just wasn't possible or practical at that point.
- PolyVox
- OGRE Contributor
- Posts: 1316
- Joined: Tue Nov 21, 2006 11:28 am
- Location: Groningen, The Netherlands
- x 18
- Contact:
Re: Fully Destructible Levels - New website and domain!
In general it's undesirable to split your terrain accross multiple volumes because many operations need access to a voxel's neighbours, and this get's more complex when those neighbours are in a different volume. Instead we recommend you use a single volume, and internally PolyVox stores this as a set of blocks for which it knows how to perform neighbourhood access. There is more information here.TheSHEEEP wrote:Couldn't you in one thread construct one small volume, in another thread another volume, etc.? I don't see why that should break anything.
PolyVox can absolutely be used in multithreaded applications, it just doesn't make any guarentees about thread saftey by itself. This is similar to other low-level libraries like the STL or OpenGL - these are also not thread safe but can be used in multithreaded applications if the appropriate locks or patterns (message passing, etc) are in place.
Yes, the need to access the GPU from a single thread is indeed another problem, but outside of PolyVox of course.TheSHEEEP wrote:To construct the mesh (in Ogre), you'd need to collect the data from the threads in one single thread, of course.