[osg-users] Particle Sorting

Zach Deedler mynamezach at gmail.com
Wed Sep 5 16:38:30 PDT 2007


Try running this:

Osgviewer SmokeBox.osg.0,90,0.rot SmokeBox.osg

This doesn't show any anomalies even though the smoke boxes have the same
positions.  Maybe because the smoke is faded away?

 

You can also try

Osgviewer SmokeBox.osg.0,90,0.rot SmokeBox.osg cessnafire.osg

Since the smoke box has binnumber 13 it will have priority over the Cessna
smoke and fire.

 

You will still see an anomaly here because the particles are traveling away
from their source (which is where they are depth sorted from).  You will see
something like this:



The only way I know around this is to split up the particle system into
multiple particle systems, so that their depth sort is more likely to
succeed.

 

-----Original Message-----
From: osg-users-bounces at lists.openscenegraph.org
[mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of DC Fennell
Sent: Wednesday, September 05, 2007 6:46 PM
To: Public OpenSceneGraph Users discussion list.
Subject: Re: [osg-users] Particle Sorting

 

Hello,

 

The settings you mentioned below have been set. These are set  by default 

within the osg particle system. The problem still exists when I create 

another bin.

 

I wish I could be of help with the polygon sorting, but I have never 

implemented it with osg.

 

----- Original Message ----- 

From: "Michele Bosi" <michele.bosi at gmail.com>

To: "Public OpenSceneGraph Users discussion list." 

<osg-users at lists.openscenegraph.org>

Sent: Wednesday, September 05, 2007 5:14 PM

Subject: Re: [osg-users] Particle Sorting

 

 

> Hi,

> I am also dealing with transparencies and sorting, in your case maybe

> it's enough to mask off z-buffer writing for all the particle systems

> using something like:

> 

>  osg::Depth* depth = new osg::Depth();

>  depth->setWriteMask(false);

> 

>  your_geode->getOrCreateStateSet()->setAttribute(depth,

> osg::StateAttribute::OVERRIDE | osg::StateAttribute::ON);

> 

> also be sure that all the rest is ok, like

>
your_geode->getOrCreateStateSet()->setRenderingHint(osg::StateSet::TRANSPARE
NT_BIN);

> 

> usually for particle systems using this little trick you don't need to

> sort at all.

> The method has some flaws since the result is not really correct as if

> you sorted your particles but since they are moving this shouldn't be

> a problem.

> 

> Theoretically transparent object that don't write on the z-buffer

> should be rendered after the transparent ones that do write on it so

> in order to obtain more correct results for your particles you should

> create another BIN  (I know you can do it but have no idea how) and

> schedule it after TRANSPARENT_BIN.

> 

> I just posted a question about polygon sorting, have you ever

> implement it with osg or do you have any particular advice share?

> 

> Regards,

> Mike

> _______________________________________________

> osg-users mailing list

> osg-users at lists.openscenegraph.org

> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org 

 

_______________________________________________

osg-users mailing list

osg-users at lists.openscenegraph.org

http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20070905/a59f8d89/attachment-0003.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 18638 bytes
Desc: not available
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20070905/a59f8d89/attachment-0003.jpeg>


More information about the osg-users mailing list