Christopher Geyer (cgeyer++at++seas.upenn.edu)
Thu, 26 Jun 1997 19:17:55 -0400 (EDT)
I'm trying to draw a shadow volume; the display list contains the shadow
volume for my scene from a light, and is created in the cull stage.
I create it by setting a post & pre cull function for all the nodes
(pfGeodes) which contain a shadow volume (that's all they contain). In
the pre function I close the current display list and open the display
list that I've created for the shadow volume. In the post function I
close that display list and re-open the previously current one (the same
one closed in the pre function).
> Without more detail I'd suggest a pushmatrix and popmatrix either side
> of the pfDraw would probably be a good idea.
I've used gldebug and it shows that pushmatrix is successfully called by
pfDraw() and so is popmatrix, at the end.
It seems that my display list somehow is emptied, because no GL graphics
commands are executed if pfDraw() has been called before. Either it's
emptied for some strange reason or it just doesn't let it get drawn.
Even stranger, if in the stage after which I've now created my shadow
display list, and after I've re-opened the current display list, I add
that shadow volume display list (i.e. do shadowVolDL->draw() while the
display list is open) it correctly draws that shadow volume as part of
the scene; it ALSO draws the shadow volume when I tell it to draw the
shadow volume display list, whereas before it wouldn't.
BTW, I'm using an O2, R5000.
Christopher
----------------------------------------------------------------------------
Christopher Geyer | CompSci and Math '99 at the University of Pennsylvania
215-732-4218 | cgeyer++at++seas.upenn.edu | http://www.seas.upenn.edu/~cgeyer/
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:30 PDT