Yair Kurzion (yair++at++polygon.engr.sgi.com)
Tue, 16 Mar 1999 11:00:37 -0800 (PST)
> In my app I'm trying to pick an object using pfiPick. The object is
> placed below a switch node and the switch node below an FCS. My problem
> is that picking allways fails when using FCS:es. If I use DCS:es there's
> no problem picking at all.
Are you using STATIC bounding volumes on the FCS node and on the nodes under
it ?
The main difference between a DCS and an FCS is that when an FCS matrix
changes, performer does NOT re-calculate the bounding volumes of the nodes
under and above the FCS. When using a DCS node, any matrix change causes a
re-calculation of all bounding volumes under the DCS and on the path from the
root to the DCS.
The intersection code uses this bounding volume in order to minimize the number
of geometric primitives that it intersects. If the bounding volume is incorrect,
the intersection will sometimes miss the objects.
The way around this (when using FCS) is to define a STATIC bounding volume for
all the geometry under the FCS node. Find a bounding volume that bounds all the
possible matrices that your application will store in the FCS node. Set this
bounding volume as the static bounding volume of the nodes under the FCS.
-yair
--
\_________ \_____ \__ \__ \_____ Yair Kurzion
\_________ \_____ \__ \__ \_____ yair++at++sgi.com
\__ \__ \____\__ \__ http://reality.sgi.com/yair
\__ \__ \__ Work: (650) 933-6502
\__ \__ \__ Home: (408) 226-9771
\__ \__ \__
This archive was generated by hypermail 2.0b2 on Tue Mar 16 1999 - 11:00:40 PST