Re: fast isect when inside geometry

New Message Reply Date view Thread view Subject view Author view

Jenny Zhao (zhz++at++dandan.asd.sgi.com)
Tue, 30 Apr 1996 10:04:22 -0700


On Apr 30, 2:03am, Sharon Clay wrote:
> Subject: Re: fast isect when inside geometry
> +>---- On Apr 17, 2:54pm, Dwight Meglan wrote:
> > Subject: fast isect when inside geometry

> ->
> ->The final complication is that my camera actual has a long cord behind it
> ->(think of snaking a cable through an irregular maze) which must be
> ->continuously checked against the geometry for intersections. This means
> ->that there are a number of segments that must be check. The question here
> ->is:
> ->
> ->Is it better, in terms of intersection calculation efficiency, for the
> ->above geometry to check:
> -> 1. one pfSegSet with all the segments for all the joints of the cord in
> ->it against the entire scenegraph
> -> 2. check each segment individually with its own pfSegSet against the
> ->entire scenegraph
> -> 3. use on pfSegSet with all the segments but mask it for each segment a
> ->check once for each segment against the scenegraph
>
> If the segments have reasonable spatial locality and direction, put
> them together and put a cylinder around them.
> Otherwise, use partitions and do them separately so that you don't have
> to intersect lots of polygons with segments that have no chance of making a
hit.
>
> One might also ask if _all_ of the segments require polygon intersection
> information - maybe for some segments you can stop at just PFTRAV_IS_GEODE
> for bounding sphere or PFTRAV_IS_GSET for bounding box intersections for
> setting your pfNodeTravMask().
>
> Also, I am sure that you know this but just to be complete, be sure
> to enable isect caching on static pfGeoSets with the PFTRAV_IS_CACHE bit
> set in your setMode to pfNodeTravMask().
>
>
> I hpoe this helps,
> src.
>
an additional thought i have on this point is that
since your cord is a "snake", the body of the snake must follow
the rough path of the head of snake. so if you can add a thick
cylinder (the size of which depends on the size of your path way)
at the head of the snake and remember the objects that intersected
the cylinder, then
all the joints in the body of the snake only need to intersect
with these objects instead of the whole scene.
it is extra work, but it probably will save you time with your big database.

jenny zhao

> --
> -----{-----{---++at++ -----{----{---++at++ -----{----{---++at++ -----{----{---++at++
> Sharon Rose Clay (Fischler) - Silicon Graphics, Advanced Systems Dev.
> src++at++sgi.com (415) 933 - 1002 FAX: (415) 965 - 2658 MS 8U-590
> -----{-----{---++at++ -----{----{---++at++ -----{----{---++at++ -----{----{---++at++
>
>-- End of excerpt from Sharon Clay


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:52:49 PDT

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