[osg-users] transparent object sorting and back face culling

2009-06-02 Thread Rabbi Robinson
Hi, There are simple questions: What do I need to do to make sure transparent object show up properly? How do I cull the back face of polygon? Thank you! Cheers, Rabbi -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=13372#13372

Re: [osg-users] transparent object sorting and back face culling

2009-06-02 Thread Jason Daly
Rabbi Robinson wrote: Hi, There are simple questions: I was going to point to do some examples, but then I saw there really aren't good examples for these :-) What do I need to do to make sure transparent object show up properly? ss = node->getOrCreateStateSet(); ss->setMode(GL_B

Re: [osg-users] transparent object sorting and back face culling

2009-06-02 Thread Robert Osfield
On Tue, Jun 2, 2009 at 4:57 PM, Jason Daly wrote: >> What do I need to do to make sure transparent object show up properly? >> > > ss = node->getOrCreateStateSet(); > ss->setMode(GL_BLEND, osg::StateAttribute::ON); > ss->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); > ss->setRenderBinDetails(1

Re: [osg-users] transparent object sorting and back face culling

2009-06-02 Thread Jason Daly
Robert Osfield wrote: Small clarification, you either use setRenderingHint or setRenderBinDetails, not both. setRenderingHint is simply a convinience front end to setRenderBinDetails, in the case of TRANSPARENT_BIN, it simply does setRenderBinDetails(10,"DepthSortedBin"); Thanks, Robert.

Re: [osg-users] transparent object sorting and back face culling

2009-06-03 Thread Rabbi Robinson
Hi, Thanks for the help, when I tried ss->setMode(GL_BLEND, StateAttribute::ON); ss->setRenderingHint(StateSet::TRANSPARENT_BIN); nothing shows up. The cull face works tho Thank you! Cheers, Rabbi -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?

Re: [osg-users] transparent object sorting and back face culling

2009-06-03 Thread Jason Daly
Rabbi Robinson wrote: Hi, Thanks for the help, when I tried ss->setMode(GL_BLEND, StateAttribute::ON); ss->setRenderingHint(StateSet::TRANSPARENT_BIN); nothing shows up. The cull face works tho By "nothing shows up" I assume you mean that you don't see the geometry any longer. What a

Re: [osg-users] transparent object sorting and back face culling

2009-06-03 Thread Rabbi Robinson
Hi, The alpha value is about .5, It works fine except for the renderinghint statement. ss->setRenderingHint(StateSet::TRANSPARENT_BIN); If I comment it out, I can see the transparent object but they are not sorted properly. So there must be some problem with the depth sorting. Thank you!

Re: [osg-users] transparent object sorting and back face culling

2009-06-03 Thread su hu
Hi All transparent nodes should be found out and set to TRANSPARENT_BIN one bye one. Nodes should be small enough. But there are lots of transparent nodes in scene. How to find out those transparent nodes quickly? Thanks for your help. Regards, Su Hu 2009/6/4 Rabbi Robinson > Hi, > > The al

Re: [osg-users] transparent object sorting and back face culling

2009-06-04 Thread Jason Daly
su hu wrote: Hi All transparent nodes should be found out and set to TRANSPARENT_BIN one bye one. Nodes should be small enough. But there are lots of transparent nodes in scene. How to find out those transparent nodes quickly? Thanks for your help. I can't think of a reason why you'd need

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Rabbi Robinson
Hi, The transparent blending works fine now. How ever the sorting does seem currect. Sometime the transparent object disappears or not drawn at all. , It view dependent Is there anyway it can be fixed? stateSet->setMode(GL_BLEND, StateAttribute::ON); stateSet->setRenderingHint(StateSet::TRANS

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Jean-Sébastien Guay
Hi Rabbi, The transparent blending works fine now. How ever the sorting does seem currect. Sometime the transparent object disappears or not drawn at all. , It view dependent Is there anyway it can be fixed? This is an FAQ. Since OSG does only coarse sorting when rendering things in the trans

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Jason Daly
Jean-Sébastien Guay wrote: Possible solutions in your case might be depth peeling (but then there's a limited number of depth levels you can render, but see the bucket depth peeling paper from Siggraph 2009), or order-independent transparency (which is apparently pretty slow). So there's always

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Jason Daly
Jean-Sébastien Guay wrote: Possible solutions in your case might be depth peeling (but then there's a limited number of depth levels you can render, but see the bucket depth peeling paper from Siggraph 2009), or order-independent transparency (which is apparently pretty slow). So there's always

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Rabbi Robinson
Hi, Is there anyway that I can enforce drawing the objects inside first before drawing the outside membrane? Thank you! Cheers, Rabbi -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=16203#16203 ___

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Jean-Sébastien Guay
Hi Rabbi, Is there anyway that I can enforce drawing the objects inside first before drawing the outside membrane? Thank you! In OSG SVN there is a SceneGraphOrderRenderBin which will render objects in the order they're in the parent's child vector, so if you add the inside object first and

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Rabbi Robinson
Hi, I see there is a osgUtil::RenderBin, is that what you are refering to? If not, is the class you mentioned going to be released soon? Thank you! Cheers, Rabbi -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=16208#16208

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Jason Daly
Rabbi Robinson wrote: Hi, Is there anyway that I can enforce drawing the objects inside first before drawing the outside membrane? Sure, just use setRenderBinDetails() to set a render bin for the membrane that has a higher number than the render bin used by the interior objects. For the

Re: [osg-users] transparent object sorting and back face culling

2009-08-13 Thread Jean-Sébastien Guay
Hi Rabbi, I see there is a osgUtil::RenderBin, is that what you are refering to? If not, is the class you mentioned going to be released soon? Check if the RenderBin header in the version of OSG you use has SortMode TRAVERSAL_ORDER as one possible sort mode. If so, then that's it. If not,

Re: [osg-users] transparent object sorting and back face culling

2009-08-14 Thread Paul Speed
Even within the transparent bin you can enforce specific ordering with the bin number. Lower numbers get rendered before higher numbers. I'd have to dig to find any of my own example code but I hoped perhaps the hint would be enough in short time. We did this all the time to render double-si

Re: [osg-users] transparent object sorting and back face culling

2009-08-14 Thread Paul Speed
P.S.: I don't pretend to understand any of this. Render bins and render bin details are one of the more confusing parts of OSG... I generally just keep monkeying with them until something sticks. I will point out that in my understanding, the render bin number and the render bin details are n

Re: [osg-users] transparent object sorting and back face culling

2009-08-17 Thread Andrew Thompson
Hi there A quick related question for you guys, does OSG do the transparency bin sorting per Geode or per primitive? I have a Geode with multiple transparent primitives in it, however one is a box with 4 sides created using QUAD_STRIP and top/bottom created using POLYGON and as such as not com

Re: [osg-users] transparent object sorting and back face culling

2009-08-17 Thread Jason Daly
Andrew Thompson wrote: If I create individual QUAD's will this work better? Or perhaps does it have to be individual Geodes to get the sorting working right? It's per-geode, I believe --"J" ___ osg-users mailing list osg-users@lists.openscenegr

Re: [osg-users] transparent object sorting and back face culling

2009-08-17 Thread Andrew Burnett-Thompson
Hi Jason, Ok I've updated my code to work with each side as a geode, however this is still not giving me the results I want. Think a transparent cube, the sides have bounding spheres but at certain camera locations and orientations, the wrong sides are rendered in the wrong order. For my transpar

Re: [osg-users] transparent object sorting and back face culling

2009-08-17 Thread Paul Speed
See my other post in this thread as I've done exactly this before. Split the cube into the inside faces and the outside faces, each as their own drawable and then use the render bin number to have the inside always drawn first. It might be that if you always add the inside child before the out

Re: [osg-users] transparent object sorting and back face culling

2009-08-17 Thread Jason Daly
Paul Speed wrote: See my other post in this thread as I've done exactly this before. Split the cube into the inside faces and the outside faces, each as their own drawable and then use the render bin number to have the inside always drawn first. It might be that if you always add the inside c

Re: [osg-users] transparent object sorting and back face culling

2009-08-18 Thread Andrew Thompson
Hi Paul, Cheers for your response, ok I missed that first time around, so it is possible, that's good, just not 100% sure on how you implemented it. One special case is in my system the transparent box is sort of a zone that the camera may move inside or outside. I need it to render properly

Re: [osg-users] transparent object sorting and back face culling

2009-08-18 Thread Paul Speed
As long as your shape is convex then you should always be able to draw the inside first... even with the camera inside. -Paul Andrew Thompson wrote: Hi Paul, Cheers for your response, ok I missed that first time around, so it is possible, that's good, just not 100% sure on how you implemented