Re: display lists in cull traversal

New Message Reply Date view Thread view Subject view Author view

Nicolas Gauvin (nicolas++at++cae.ca)
Wed, 2 Jul 1997 15:20:22 -0400


On Jul 2, 9:42am, Christopher Geyer wrote:
> Subject: display lists in cull traversal

> What happens is that for some reason a popmatrix() (or apparently the
> token DL_POPMAT) does not get appended to the shadVolDL. It instead gets
> appended to currentDL. So I have an extra pushmatrix() without its
> corresponding popmatrix() in a my shadow volume display list; and I have
> an extra popmatrix() without a cooresponding pushmatrix() in the scene
> display list (this is what I gather from looking at output from gldebug).
...
> It would seem that AFTER the call to preShadVolCullCallback() a
> pushmatrix() is being added, and that AFTER postShadVolCullCallback() a
> popmatrix() is being added. Wouldn't it either be before and after, or
> after and before, but not after and after?
>-- End of excerpt from Christopher Geyer

If what you are describing is really what is happening then how about simply
trying to add the missing push and pop to each display list yourself?

Something like:

> preShadVolCullCallback( ... )
> {
> currentDL = pfGetCurDList( );

    // add the missing push to currentDL
    pfPushMatrix();

> currentDL->close( );
> shadVolDL->open( );
> return( PFTRAV_CONT );
> }

>
> // in between capture the draw commands for the shadow volume
> // in the shadVolDL
>
> postShadVolCullCallback( ... )
> {

    // add the missing pop to shadVolDL
    pfPopMatrix();

> shadVolDL->close( );
> currentDL->open( );
> return( PFTRAV_CONT );
> }

-- 
Nicolas Gauvin              CAE Electronics Ltd., 8585 Cote De Liesse
3D Graphics Software        Saint-Laurent, Quebec, Canada, H4L-4X4
nicolas++at++cae.ca              Tel: (514) 341-2000 x2275, Fax: (514) 340-5496 
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:34 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.