Re: [info-performer]

Date view Thread view Subject view Author view

From: Yair Kurzion (yair++at++polygon.engr.sgi.com)
Date: 05/20/2003 19:44:58


Hello Remy !

> I'm working on a scenegraph-based application using pfenginess massively.
> My transform nodes use ( of course ? ) pfFCSs.

What process computes your pfEngines ?

pfFCS are useful if you run the computation in a process other than APP.
Especially, in an asynchronous process like COMPUTE. A pfFCS is a good idea
when you want to change a matrix without synchronization and without explicit
knowledge of the matrix node.

If you run in APP, you can use a pfDCS and set its matrix based on the
your engine computation. This way, the pfDCS would re-compute its bounding
box.

> 'Of course' I get a problem with culling. This seems to be a common problem
> with pfFCSs ( as they said in the OpenGL Performer Programmer's Guide:
> Chapter 16. Dynamic Data ).
>
> So my question(s) is (are) :
>
> - What is the point of using pfFCS if bouding boxes are not actualised ?
> Who can use this ? Are pfFCSs useless ? - Is there a way of avoiding this
> incorrect culling ? Note that I would like to keep the advantages of my
> engines and not modify my bounding boxes each frame ...

The answer depends on the way you use them:

(1) If you use the engines to move objects in some restricted space, you can
    set the bounding box of your pfFCS to contain that space. Make this
    bounding box static and Performer won't touch it.
    For example: If you place culture features over terrain and expect them
    to align with different levels-of-detail of that terrain, you can compute
    a maximum for each culture feature and assign it as a static bounding
    volume of the pfFCS.

(2) If your objects move all around the place, you have to set the
    pfFCS bounding box every frame (Or, you have to set a large static
    bounding box and avoid culling altogether - works only if your objects have
    very few polygons).
    Note: You can set a bounding box of a pfFCS successfully from the APP
    process. Setting the bounding box in any other process wont propagate
    the new bounding box up the scene graph.

-yair

-- 
\_________  \_____  \__    \__  \_____        
\_________  \_____   \__   \__  \_____         Yair Kurzion
       \__     \__   \____\__      \__         yair++at++sgi.com
       \__          \__  \__                  (650) 933-6502
       \__          \__   \__          
       \__          \__    \__             


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue May 20 2003 - 19:45:02 PDT