From: Marcin Romaszewicz (marcin++at++sgi.com)
Date: 10/24/2002 13:09:49
To sort back to front, all you need to call is:
chan->setBinSort(PFSORT_TRANSP_BIN, PFSORT_BACK_TO_FRONT, NULL);
The third parameter is used only if the second parameter is set to
PFSORT_BY_STATE.
-- Marcin
On Thu, 24 Oct 2002, Fred Dech wrote:
> i'll check that. i think you're absolutely right!
>
> i'm passing:
> static uint64_t sort[] = { PFSORT_BACK_TO_FRONT };
> chan->setBinSort(PFSORT_TRANSP_BIN, PFSORT_TRANSP_BIN_ORDER, sort);
> i think this is incorrect.
> and i believe i should be passing:
> static uint64_t sort[1];
> sort[0] = PFSORT_BACK_TO_FRONT;
>
> i'll give it a try in a bit.
>
> thanks!
>
> --fred
>
> On Thu, Oct 24, 2002 at 11:46:48AM -0700, Marcin Romaszewicz wrote:
> >
> >
> > This error means that you likely passed a corrupt array of sort orders to
> > pfChannel::setBinSort(). If you're not calling that function, then I
> > wouldn't be surprised if it were some sort of memory corruption.
> >
> > -- Marcin
> >
> > On Thu, 24 Oct 2002, Fred Dech wrote:
> >
> > > hi.
> > >
> > > i recently ported some code from an IR2 to a V12 that interactively varies the
> > > transparency of some pfGeoStates. i don't get warnings on the IR2, but
> > > as soon as i start modifying alpha on the V12, i get plenty. the mod code
> > > looks like:
> > >
> > > /////////////////////////////////////////////////
> > > if (alpha < 1.0)
> > > gstate->setMode(PFSTATE_TRANSPARENCY, PFTR_FAST);
> > > else
> > > gstate->setMode (PFSTATE_TRANSPARENCY, PFTR_OFF);
> > > /////////////////////////////////////////////////
> > >
> > > if (gset->getAttrBind(PFGS_COLOR4)==PFGS_OVERALL)
> > > {
> > > pfVec4 * colors;
> > >
> > > gset->getAttrLists(PFGS_COLOR4, (void **)&colors, NULL);
> > > (*colors)[3] = alpha;
> > >
> > > } else {
> > > pfMaterial * mtl = NULL;
> > > mtl = (pfMaterial *)gstate->getAttr(PFSTATE_FRONTMTL);
> > > mtl->setColorMode(PFMTL_FRONT,PFMTL_CMODE_OFF);
> > > mtl->setAlpha(alpha);
> > > }
> > >
> > > i believe the first conditional ends up being true all the time. i can't
> > > recall why i put this conditional in. 'forgot to comment that one :-o
> > >
> > > and the error messages look like:
> > >
> > > PF Warning/Usage: Bad sort token 1e00000000
> > > PF Warning/Usage: Bad sort token 47b35a000001600
> > > PF Warning/Usage: Bad sort token 1e0000001e
> > > PF Warning/Usage: Bad sort token 1e00000000
> > > PF Warning/Usage: Bad sort token 1010c17800001600
> > > PF Warning/Usage: Bad sort token 1e0000001e
> > > PF Warning/Usage: Bad sort token 1010bfd800001600
> > > PF Warning/Usage: Bad sort token 1010c14800001600
> > > PF Warning/Usage: Bad sort token 1e00000000
> > > PF Warning/Usage: Bad sort token 1010c6a800001600
> > > PF Warning/Usage: Bad sort token 47b35a000001600
> > > PF Warning/Usage: Bad sort token 1effffffff
> > > PF Warning/Usage: Bad sort token ffffffff0000001e
> > > etc., etc.
> > >
> > > once they start, they just keep on 'a comin', until all gstates are set to:
> > > (PFSTATE_TRANSPARENCY, PFTR_OFF).
> > >
> > > i'd greatly appreciate any advice on what i might be doing wrong.
> > >
> > > thanks.
> > >
> > > --fred
> > > --
> > > Fred Dech fdech++at++uchicago.edu
> > > University of Chicago Dept. of Surgery
> > > Ph: (773) 834-8359, Fax: (773) 702-0564
> > >
> > > -----------------------------------------------------------------------
> > > List Archives, Info, FAQ: http://www.sgi.com/software/performer/
> > > Open Development Project: http://oss.sgi.com/projects/performer/
> > > Submissions: info-performer++at++sgi.com
> > > Admin. requests: info-performer-request++at++sgi.com
> > > -----------------------------------------------------------------------
> > >
>
This archive was generated by hypermail 2b29 : Thu Oct 24 2002 - 13:09:53 PDT