Christopher Geyer (cgeyer++at++seas.upenn.edu)
Thu, 3 Jul 1997 10:06:48 -0400 (EDT)
-> preShadVolCullCallback( ... )
-> {
-> currentDL = pfGetCurDList( );
-> printf( "### temporarily closing pfDispList %p\n", currentDL );
-> currentDL->close( );
-> printf( "#### opening shadow pfDispList %p\n", shadowVolDL );
-> shadVolDL->open( );
-> return( PFTRAV_CONT );
-> }
->
-> // in between capture the draw commands for the shadow volume
-> // in the shadVolDL
->
-> postShadVolCullCallback( ... )
-> {
-> printf( "#### closing shadow pfDispList %p\n", shadVolDL );
-> shadVolDL->close( );
-> printf( "### re-opening pfDispList %p\n", currentDL );
-> currentDL->open( );
-> return( PFTRAV_CONT );
-> }
Here's the output of dbx. Put on your parser.
(%%) denotes output from my program
...
(dbx) stop in pfPushMatrix
Process 21500: [3] stop in pfPushMatrix
(dbx) stop in pfPopMatrix
Process 21500: [4] stop in pfPopMatrix
(dbx) stop in MyVeryOwnCullFunc
Process 21500: [5] stop in MyVeryOwnCullFunc
(dbx) cont
[5] Process 21500 (SurfInShade) stopped at [::MyVeryOwnCullFunc(pfChannel*,void*):143 ,0x40e790]
143 printf( "<-> cull func\n" );
(dbx) where
> 0 ::MyVeryOwnCullFunc(pfChannel*,void*)(chan =
0x18083160,__P273155816 = (nil))
["/tmp_mnt/home/cgeyer/testdrive/SurfInShade.C":143, 0x40e790]
1 pfChannel::pf_callCullFunc(void)(0x18083160, 0x0, 0x2,
0x18083160) ["../../../lib/libpf/pfChannel.C":1800, 0x9a83528]
2 threadCull(void)(0x18083160, 0x0, 0x2, 0x18083160)
["../../../lib/libpf/pfProcess.C":3216, 0x9a7d818]
3 doCull(pfChannel*,pfChannel*)(0x18083160, 0x0, 0x2, 0x18083160)
["../../../lib/libpf/pfProcess.C":3268, 0x9a84328]
4 appCullDraw(int)(0x0, 0x0, 0x2, 0x18083160)
["../../../lib/libpf/pfProcess.C":2376, 0x9b217d4]
5 pfFrame(0x18083160, 0x0, 0x2, 0x18083160)
["../../../lib/libpf/pfProcess.C":2727, 0x9b2258c]
6 main(argc = 1, argv = 0x7fff2f34)
["/tmp_mnt/home/cgeyer/testdrive/SurfInShade.C":327, 0x40f6b4]
7 __start() ["crt1text.s":133, 0x40dd0c]
(dbx) cont
<-> cull func
%% ### temporarily closing pfDispList 180a05c0
%% #### opening shadow pfDispList 18076950
[3] Process 21500 (SurfInShade) stopped at [pfPushMatrix:98 +0xc,0x9a844c0]
Source (of ../../../lib/libpr/xform.C) not available for Process 21500
(dbx) where
> 0 pfPushMatrix(0x1808eb10, 0x0, 0x0, 0x18099f08)
["../../../lib/libpr/xform.C":98, 0x9a844c0]
1 _pfCuller::pf_applyXform(int)(0x1808eb10, 0x0, 0x0, 0x18099f08)
["../../../lib/libpf/pfCuller.C":1226, 0x9a80428]
2 _pfCuller::pf_flushStackState(void)(0x1808eb10, 0x0, 0xc4b52890,
0x18099f08) ["../../../lib/libpf/pfCuller.C":399, 0x9a7e11c]
3 _pfCuller::add(pfGeoSet*)(0x1808eb10, 0x180a04c0, 0x0,
0x18099f08) ["../../../lib/libpf/pfCuller.C":351, 0x9a727d8]
4 pfGeode::nb_cull(int,int,_pfCuller*)(0x180e70c0, 0x0, 0x1,
0x1808eb10) ["../../../lib/libpf/pfGeode.C":253, 0x9a714a0]
5 pfGroup::nb_cull(int,int,_pfCuller*)(0x1809faa0, 0xb, 0x1,
0x1808eb10) ["../../../lib/libpf/pfGroup.C":247, 0x9a6dbe4]
6 pfSCS::nb_cull(int,int,_pfCuller*)(0x1807f770, 0xb, 0x1,
0x1808eb10) ["../../../lib/libpf/pfSCS.C":308, 0x9a877e8]
7 pfScene::nb_cull(int,int,_pfCuller*)(0x180763a0, 0xb, 0x1,
0x1808eb10) ["../../../lib/libpf/pfScene.C":269, 0x9afacbc]
8 _pfCuller::nb_cull(void)(0x1808eb10, 0x0, 0x0, 0x18099f08)
["../../../lib/libpf/pfCuller.C":197, 0x9a7ad70]
9 pfCull(0x1808eb10, 0x0, 0x0, 0x18099f08)
["../../../lib/libpf/pfProcess.C":3319, 0x9a7f1d4]
10 ::MyVeryOwnCullFunc(pfChannel*,void*)(chan = 0x18083160,
__P273155816 = (nil))
["/tmp_mnt/home/cgeyer/testdrive/SurfInShade.C":144, 0x40e7b4]
11 pfChannel::pf_callCullFunc(void)(0x1808eb10, 0x0, 0x0,
0x18083160) ["../../../lib/libpf/pfChannel.C":1800, 0x9a83528]
12 threadCull(void)(0x18083160, 0x0, 0x0, 0x18099f08)
["../../../lib/libpf/pfProcess.C":3216, 0x9a7d818]
13 doCull(pfChannel*,pfChannel*)(0x18083160, 0x0, 0x0, 0x18099f08)
["../../../lib/libpf/pfProcess.C":3268, 0x9a84328]
14 appCullDraw(int)(0x0, 0x0, 0x0, 0x18099f08)
["../../../lib/libpf/pfProcess.C":2376, 0x9b217d4]
15 pfFrame(0x1808eb10, 0x0, 0x0, 0x18099f08)
["../../../lib/libpf/pfProcess.C":2727, 0x9b2258c]
16 main(argc = 1, argv = 0x7fff2f34)
["/tmp_mnt/home/cgeyer/testdrive/SurfInShade.C":327, 0x40f6b4]
17 __start() ["crt1text.s":133, 0x40dd0c]
(dbx) cont
%% #### closing shadow pfDispList 18076950
%% ### re-opening pfDispList 180a05c0
[4] Process 21500 (SurfInShade) stopped at [pfPopMatrix:144 +0xc,0x9a845fc]
Source (of ../../../lib/libpr/xform.C) not available for Process 21500
(dbx) where
> 0 pfPopMatrix(0x1808eb10, 0xffffffff, 0x0, 0x0)
["../../../lib/libpr/xform.C":144, 0x9a845fc]
1 _pfCuller::pf_applyXform(int)(0x1808eb10, 0xffffffff, 0x0, 0x0)
["../../../lib/libpf/pfCuller.C":1222, 0x9a8040c]
2 _pfCuller::nb_cull(void)(0x1808eb10, 0xffffffff, 0x0, 0x0)
["../../../lib/libpf/pfCuller.C":202, 0x9a7ade0]
3 pfCull(0x1808eb10, 0xffffffff, 0x0, 0x0)
["../../../lib/libpf/pfProcess.C":3319, 0x9a7f1d4]
4 ::MyVeryOwnCullFunc(pfChannel*,void*)(chan = 0x18083160,
__P273155816 = (nil))
["/tmp_mnt/home/cgeyer/testdrive/SurfInShade.C":144, 0x40e7b4]
5 pfChannel::pf_callCullFunc(void)(0x1808eb10, 0xffffffff, 0x0,
0x18083160) ["../../../lib/libpf/pfChannel.C":1800, 0x9a83528]
6 threadCull(void)(0x18083160, 0xffffffff, 0x0, 0x0)
["../../../lib/libpf/pfProcess.C":3216, 0x9a7d818]
7 doCull(pfChannel*,pfChannel*)(0x18083160, 0xffffffff, 0x0, 0x0)
["../../../lib/libpf/pfProcess.C":3268, 0x9a84328]
8 appCullDraw(int)(0x0, 0xffffffff, 0x0, 0x0)
["../../../lib/libpf/pfProcess.C":2376, 0x9b217d4]
9 pfFrame(0x1808eb10, 0xffffffff, 0x0, 0x0)
["../../../lib/libpf/pfProcess.C":2727, 0x9b2258c]
10 main(argc = 1, argv = 0x7fff2f34)
["/tmp_mnt/home/cgeyer/testdrive/SurfInShade.C":327, 0x40f6b4]
11 __start() ["crt1text.s":133, 0x40dd0c]
(dbx)
Does this help any?
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:34 PDT