culling errors for dynamic geometry

New Message Reply Date view Thread view Subject view Author view

From: Bram Stolk (bram++at++sara.nl)
Date: 04/11/2000 04:42:19


Hello performers,

I use a pfGeoSet for which I change the contents of the vertex array
each frame.

This means, that each frame, the bounding volume changes, and should
be updated to ensure proper culling/isecting.

In the manual page for pfGeoSet, I read:

     ... If the mode is
     PFBOUND_DYNAMIC, IRIS Performer will recompute the bound if the number of
     primitives, the primitive lengths array or the vertex coordinate arrays
     are changed. Note that IRIS Performer does not know if the contents of
     these arrays changes, only when the pointer itself is set. Recomputation
     of the bounding box can be forced by calling pfGeoSet::setBound with a
     bbox that is NULL.

So each time I change the vertex array contents, I do:
    set->setBound(0,PFBOUND_DYNAMIC);

Nevertheless, the geoset is occasionally culled when it should not
have been. I use a CAVE setup, so I see some cave walls do culling,
and others do no culling.

Being quite puzzled about this, I decided to take more drastic
measures, and to disable culling for the geode alltogether,
using this func call:
  geode->setTravMask(PFTRAV_CULL, 0, PFTRAV_SELF | PFTRAV_DESCEND, PF_SET);

Even this does not prevent the erroneous culling of my dynamically
adjusted object!

Can someone please enlighten me in the noble art of culling dynamic geometry?
Many thanks,

    Bram Stolk

-- 
------------------------------------------------------------------------------
 Bram Stolk, VR Specialist.
 SARA Academic Computing Services Amsterdam, PO Box 94613, 1090 GP  AMSTERDAM
 email: bram++at++sara.nl   Phone +31-20-5923059  Fax +31-20-6683167

"I heard if you play the NT-4.0-CD backwards, you get a satanic message." "Thats nothing, if you play it forward, it installs NT-4.0" ------------------------------------------------------------------------------


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue Apr 11 2000 - 04:42:24 PDT

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