From: Lawrence Bertoldi (lberto++at++bert.clubfed.sgi.com)
Date: 01/12/2000 11:37:56
Did you explicitly turn of sorting?
If you want to take control of the render order you ned to do that
chan->setBinSort(PFSORT_TRANSP_BIN, PFSORT_NO_SORT, NULL);
Now of corse this means that you are responsable for the
order in which things are rendered. Every thing in the
scene will render in the order it is placed in the scene graph!!
See Ya,
Lawrence Eugene Bertoldi Technical Consultant
vnet 238-8949 Silicon Graphics
phone 301-572-8949 Silver Spring MD.
email lberto++at++clubfed.sgi.com
~;-}>
On Wed, 12 Jan 2000, Stephen Maher wrote:
> Yair,
>
> I have a followup problem .. how do you force render order?
>
> I want to force children B and C of pfGroup A to be rendered in the
> order they're defined in the scene graph (i.e., B, then C). B is
> the result of a pfdLoadFile; C is dynamic geometry. The order of
> rendering between B and C is dependent, understandibly, on what file
> is loaded under B and how Performer sorts the resulting state and
> geosets. But I need B to render before C (because I force
> translucency in C (which is in front of B) using GL_CONSTANT_ALPHA_EXT
> in C's pre draw callback).
>
> I tried adding DRAW callbacks to B, C, and A to turn off sorting, but that
> didn't work.
>
> So then I tried pfChanTravMode(... (PFCULL_VIEW | PFCULL_GSET) ..) for the
> channel to turn off sorting for the whole channel, but that didn't work
> either.
>
> Only after I stripped all the geostate's from all the geosets under B did
> B render before C. Yuck.
>
> I guess the next step is a custom bin, but shouldn't the above steps
> achieve what I want?
>
> Thanks,
> Steve
>
>
> On Tue, Jan 11, 2000 at 05:42:57PM -0800, Yair Kurzion wrote:
> > >
> > > Yair Kurzion wrote:
> > > >
> > > > Hello Steve !
> > > >
> > > > Say you put a DRAW callback on a node A, and node A has children B, C, D, E.
> > > > Performer will make sure that this callback is called before drawing ANY of the
> > > > children of this node.
> > >
> > > The pre draw is called before all children the post draw is called after
> > > all children.
> > >
> > > >..... If Performer decided to draw some children interleaved
> > > > with other geometry (e.g. B, C, g1, D, E where g1 is some other geometry), it
> > > > will call the draw callback multiple times - once for each time its starts
> > > > drawing some children of A (In the example, the DRAW callback gets called
> > > > before drawing B and before drawing D).
> > >
> > > I'm confused, draw callbacks turn sorting off bellow the node so how
> > > could the above scenario happen?
> >
> > Performer state sorting is local to a pfBin. When different GeoSets and up in
> > different bins, they will be sorted within their bins. State sorting will
> > indeed avoid sorting across a DRAW callback inside a pfBin.
> >
> > -yair
> >
> >
> > --
> > \_________ \_____ \__ \__ \_____ Yair Kurzion
> > \_________ \_____ \__ \__ \_____ yair++at++sgi.com
> > \__ \__ \____\__ \__ http://reality.sgi.com/yair
> > \__ \__ \__ Work: (650) 933-6502
> > \__ \__ \__ Home: (408) 226-9771
> > \__ \__ \__
>
> --
> stephen.maher++at++gsfc.nasa.gov (301) 286-3368 fax:(301) 286-1776
> http://holodeck.gsfc.nasa.gov/vr/vr.html
> http://svs.gsfc.nasa.gov http://www.digitalearth.gov
> NASA Goddard Space Flight Center
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
>
This archive was generated by hypermail 2b29 : Wed Jan 12 2000 - 11:36:04 PST