[osg-users] Particle Sorting

Zach Deedler mynamezach at gmail.com
Wed Sep 5 16:53:35 PDT 2007


With the attached files I can demonstrate the anomaly I thought you were
talking about:
Osgviewer Smoke.osg.0,90,0.rot SmokeSameBin.osg
This should show some flashing as you rotate around the model.

Osgviewer Smoke.osg.0,90,0.rot SmokeLowerBin.osg
The flashing is fixed.

These examples are with particle systems that have the same positions.  Note
you won't see the anomaly, in either case, if the particle systems have the
same color.  So, if you have a particle system that varies its color,
perhaps you could split it into two particle systems with the different
colors?  Or get rid of the color variation altogether.

I know I went through hell trying to get particle systems to interact nice.
Hopefully, what I learned can save you some time.

-----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 --------------
A non-text attachment was scrubbed...
Name: SmokeBoxLowerBin.osg
Type: application/octet-stream
Size: 4508 bytes
Desc: not available
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20070905/e29e3dfd/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SmokeBoxSameBin.osg
Type: application/octet-stream
Size: 4508 bytes
Desc: not available
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20070905/e29e3dfd/attachment-0007.obj>


More information about the osg-users mailing list