Re: Simple Cull Question

New Message Reply Date view Thread view Subject view Author view

Michael T. Jones (mtj++at++babar)
Thu, 20 Nov 1997 07:17:26 -0800


On Nov 20, 3:47pm, Dr Colin Bridgewater wrote:
> Subject: Re: Simple Cull Question

> Michael T. Jones wrote:
> > 2. disable geometric cull testing for that node **AND ALL
> > OF IT'S PARENTS UP TO THE ROOT**. this is necessarially
> > so since the cull testing is hierarchical in nature.
>
> Just curious about why Steve used PFTRAV_CONT and not PFTRAV_PRUNE to
> alter the behaviour of the cull traversal. Otherwise his answer to the
> original posting was very helpful, as per usual.

Steve is very knowledgeable.

> The reason I asked was because the node in question may be a group node
> representing an assembly of components. If so, there will be a lot of
> child nodes to leave alone as well. I wasn't too sure what would happen
> in that case and so thought PFTRAV_PRUNE might have been better than
> writing a node traversal function for each child as well.

If you look in the PFPG section on traversals there is a "verbal
flow chart" that describes the action of the cull traversal as
it visits each node. It's important to understand the interaction
of inherent geometric cull tests, user-defined cull results, and
the hierarchical nature of cull testing as defined on that page.

Having read that, then consider the following restatement of the
original question: "how do I trick IRIS Performer into drawing
a node way down in my scene graph that is off-screen and whose
parent nodes may be off-screen as well?" My answer (and Steve's)
is that you must:

 a. abandon all geometric culling at that node and at all of
    its parent nodes -- since any of these may be off screen
    and thus fall victim to cull testing. This is done by
    interposing a cull callback that always reports "sure this
    node is visible, now test my children." This is PFTRAV_CONTINUE.

 b. don't interfere with culling (as in alternate a), instead
    overstate the size of the object's bounding sphere by a
    few light years so that the culling tests always pass.

or (the third option)

 c. move the node around with the eyepoint when that makes
    sense. for example it is possible (though odd) to fly a
    HUD through a scene so that it's always in front of the
    camera.

Michael

-- 

praesto et persto, Phone:650.933.1455 Fax:650.965.2658 MS:8U-590 Michael T. Jones Silicon Graphics, Advanced Graphics Software, SSG mtj++at++sgi.com 2011 N. Shoreline Blvd., Mtn. View, CA 94039-7311 120 Mario 64 Stars OpenGL/ImageVision/OpenInventor/Performer/Cosmo3D CosmoOpenGL/MolecularInventor/OpenGLOptimizer/... ======================================================================= 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:56:13 PDT

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