Fully Destructible Levels - New website and domain!

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
User avatar
Wolfmanfx
OGRE Team Member
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!

Post by Wolfmanfx »

Nice! Do you still provide the orge bindings / and still use ogre? Just out of interest
User avatar
PolyVox
OGRE Contributor
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!

Post by PolyVox »

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.
drwbns
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!

Post by drwbns »

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.
TheSHEEEP
OGRE Retired Team Member
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!

Post by TheSHEEEP »

What were your problems in multithreading it?
My site! - Have a look :)
Also on Twitter - extra fluffy
drwbns
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!

Post by drwbns »

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
User avatar
PolyVox
OGRE Contributor
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!

Post by PolyVox »

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.
TheSHEEEP
OGRE Retired Team Member
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!

Post by TheSHEEEP »

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.
My site! - Have a look :)
Also on Twitter - extra fluffy
drwbns
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!

Post by drwbns »

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.
User avatar
PolyVox
OGRE Contributor
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!

Post by PolyVox »

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.
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.

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.
TheSHEEEP wrote:To construct the mesh (in Ogre), you'd need to collect the data from the threads in one single thread, of course.
Yes, the need to access the GPU from a single thread is indeed another problem, but outside of PolyVox of course.
Post Reply