Re: [info-performer] pfDoubleDCS & isects

New Message Reply Date view Thread view Subject view Author view

From: Yair Kurzion (yair++at++polygon.engr.sgi.com)
Date: 03/24/2003 16:34:08


Hi Joaquin !

o What Performer version are you using ?
 - Versions before 2.4 don't support double-precision intersection.
 - Version pf2.4 is inaccurate: it demotes double-precision to single-precision
   during the intersection traversal of all nodes.
 - Versions pf2.5 and later contain accurate double-precision handling.

o pfGeoSet's contain single-precision geometry. Therefore, when the
  intersection traversal hits a pfGeoSet, it should be able to intersect
  against single-precision segments. In fact, when the intersection traversal
  hits a pfGeoSet, it demotes all double-precision segments to single-precision
  segments and then intersects against the pfGeoSet single-precision geometry.

o If you use pfDoubleDCS as shown in the man pages and pguide examples, then
  you should create your segment-set in a coordinate system with its
  origin at the camera position - not in world coordinates. For segment tests
  close enough to the camera position, single-precision is enough.

General information:

o The Performer API accepts single precision segments. When the intersection
  traversal hits a double-precision node, it transforms the segments by the
  double-precision matrix and leaves the result in a double-precision
  segment set (this is how pfSegSetd showed up in the Performer include files).

  When the intersection traversal hits a single-precision node, it demotes
  the segment set to a single-precision one.

-yair

> I'm working in an application that needs double precision values, so I have
> replaced all the DCS nodes by doubleDCS nodes and done all the stuff for the
> view transformation as explained in man pages and doubleDCS examples. Now
> the collision detection routine fails because it works with single precision
> values. It seems that there are pfSegd and pfSegSetd structures that work
> with doubles (although I haven't been able to find any documentation, just
> browse the header files), but the pfNode isect method only seems to accept a
> pfSegSet structure. I'm sure I'm missing something...
>
> Does anyone know which is the right way of doing isect tests with double
> precision geometry?
>
> Thanks in advance!
>
> -------------------------------------------------------------------------
> Joaquín Casillas Meléndez(Quino), R+D Engineer at iSOCO
> Intelligent Software Components, S.A. http://www.isoco.com
> Addr. iSOCOVal: Profesor Beltrán Báguena, 4, oficina 305, 46009 Valencia
> Voice: +34 96 346 71 43 Fax: +34 96 346 71 42
>
> -----------------------------------------------------------------------
> List Archives, Info, FAQ: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
> -----------------------------------------------------------------------
>

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


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Mar 24 2003 - 16:34:11 PST

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