Seemed like a good idea so I implemented it. Works great! Thanks for the help,
Sean On Mon, Nov 21, 2011 at 1:23 PM, Glenn Waldron <[email protected]> wrote: > It looks like you want to take groups of drawables, sort each group by > traversal order, and then sort those groups by depth. Right? I can't think > of a stock way to make OSG do that in one pass. > > A custom render bin might work though. If all your transforms are under a > single custom bin, you can author that bin to sort the underlying drawables > any way you like. In the bin, you have access to each drawable's parents so > you should be able to group them by Transform, sort each Transform group by > traversal order, and sort the list of Transforms by the average depth of > its drawables (or whatever). > > Just brainstorming.. > > Glenn Waldron / Pelican Mapping / @glennwaldron > > > On Mon, Nov 21, 2011 at 12:19 PM, Sean Sullivan > <[email protected]>wrote: > >> Ahh, I see what you're saying. Yes you did interpret my drawing >> correctly. I was under the impression that I was creating nested bins by >> calling setRenderBinDetails on the parent transforms. >> >> Would it be possible to create this renderbin hierarchy manually? Or is >> there a better way of doing it? >> >> Sean >> >> >> On Mon, Nov 21, 2011 at 11:27 AM, Glenn Waldron <[email protected]>wrote: >> >>> OK, I didn't know there was already a prototype registered for >>> TraversalOrderBin. >>> You learn something new every day. >>> >>> Anyway, if I understand your drawing correctly, I would comment that the >>> only put into render bins are Drawables (not transforms). So if you have >>> your Transforms set to a depth-sort bin, but all the drawables set to a >>> traversal-order bin.. there's no depth sorting actually taking place b/c >>> there aren't any drawables in a depth-sort bin. Does that make any sense? I >>> could be wrong. >>> >>> Glenn >>> >>> On Mon, Nov 21, 2011 at 11:05 AM, Sean Sullivan <[email protected] >>> > wrote: >>> >>>> I should have mentioned that I am actually using TraversalOrderBin and >>>> DepthSortedBin in my code. Maybe I just don't understand how the renderbins >>>> work. Am I correct in assuming that for example the root node would have >>>> several numbered bins, each with the ability to have a depth sorted bin, a >>>> traversal bin, and a state sorted bin inside them? >>>> >>>> It seems that no matter what I do, the last sort order I set in the >>>> hierarchy is the only one that does anything. >>>> >>>> >>>> On Mon, Nov 21, 2011 at 10:44 AM, Glenn Waldron <[email protected]>wrote: >>>> >>>>> Sean, >>>>> >>>>> RenderBins do have a sort-by-traversal-order option, but it's not >>>>> accessible by default. But registering a custom bin is actually very easy >>>>> to implement. >>>>> >>>>> Here's some code for defining a custom traversal-order bin: >>>>> >>>>> >>>>> https://github.com/gwaldron/osgearth/blob/master/src/osgEarthUtil/Controls.cpp#L1966 >>>>> >>>>> ..and the code that registers the prototype with OSG: >>>>> >>>>> >>>>> https://github.com/gwaldron/osgearth/blob/master/src/osgEarth/Utils#L132 >>>>> >>>>> Then, you just say setRenderBinDetails( binNum, binName) where binName >>>>> is the name of your custom bin. HTH. >>>>> >>>>> >>>>> Glenn Waldron / Pelican Mapping / @glennwaldron >>>>> >>>>> >>>>> On Mon, Nov 21, 2011 at 10:13 AM, Sean Sullivan < >>>>> [email protected]> wrote: >>>>> >>>>>> Hey guys, >>>>>> >>>>>> I'm trying to make a system where I can render part of my scene with >>>>>> two passes: 1 for stencil mask, the other for stencil test. I have the >>>>>> passes working by putting things in consecutive renderbins. I set some >>>>>> stencil stuff in bin 11, then put the mask geometry in bin 12, then some >>>>>> more stencil related state changes in bin 13, then the final rendered >>>>>> geometry in bin 14 followed by some default state restoring stuff in bin >>>>>> 15. >>>>>> >>>>>> The reason why I do it this way is because of the way the geometry >>>>>> get added to the scene. I've made an image to help explain it: >>>>>> [url]http://frongo.net/post_img/scene_bin_structure.jpg[/url] >>>>>> >>>>>> Figure 1 shows how the nodes are laid out that should be rendered >>>>>> with this system. Figure 2 shows how they should be sorted in the bins. >>>>>> >>>>>> Basically I need to have them sorted by depth according to the >>>>>> transform node at LEVEL 2, then drawn in the order that they were added >>>>>> to >>>>>> the LEVEL 3 group node. I don't want to sort by depth according to LEVEL >>>>>> 4. >>>>>> >>>>>> By fiddling with setRenderBinDetails and setNestRenderBins for some >>>>>> reason I can only get the whole thing to sort by depth, or the whole >>>>>> thing >>>>>> to sort by traversal. My understanding of the renderbins isn't great >>>>>> especially where setNestRenderBins comes in. >>>>>> >>>>>> Is there some magical combination of bin settings I can set that will >>>>>> make everything sort properly? Am I doing this completely the wrong way? >>>>>> >>>>>> Any help is appreciated! >>>>>> >>>>>> Cheers, >>>>>> Sean >>>>>> >>>>>> _______________________________________________ >>>>>> osg-users mailing list >>>>>> [email protected] >>>>>> >>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> osg-users mailing list >>>>> [email protected] >>>>> >>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> osg-users mailing list >>>> [email protected] >>>> >>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>>> >>>> >>> >>> _______________________________________________ >>> osg-users mailing list >>> [email protected] >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>> >>> >> >> _______________________________________________ >> osg-users mailing list >> [email protected] >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> >> > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

