Re: Double Precision OpenFlight --> Performer Single Precision

New Message Reply Date view Thread view Subject view Author view

Marcus Barnes (marcus++at++multigen.com)
Fri, 6 Jun 1997 12:01:05 -0700


On Jun 6, 7:18am, Rejean Chartrand wrote:
> I would like to know how double precision floating point values stored in
> a MultiGen Flight database are mapped to a single precision floating point
> value in Performer without introducing errors which are visually traduced by
> a "shaky scene" or visible cracks. Maybe just a look in the loader's source
> code would be enough to answer the question.

The double precision values are first scaled to the desired scene graph units
(feet, meters, kilometers, etc.). The resulting double precision values are
truncated (via simple assignment) into single precision, ie pfSetVec3().

If you want to build and roam around databases that required double precision
accuracy, I recommend using the Vega Large Area Database Module (LADM) as it
manages the coordinate segmentation and paging of database tiles. The tiles can
be modeled with absolute or relative origins (this way preserves precision in
the loader). The OpenFlight header record contains the neccesary information to
support these higher level manipulations.

Note: Performer, OpenGL and the graphics hardware are all single precision.

Regards.

--
+ Marcus Barnes, Technical Staff        mailto:marcus++at++multigen.com +
+ Multigen Inc.                         http://www.multigen.com    +
+ 550 S. Winchester Blvd.               phoneto:1-408-556-2654     +
+ Suite 500 San Jose CA 95128           faxto:1-408-261-4102       +
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com
   SGI DevForum 97 info:  http://www.sgi.com/Forum97/

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:55:24 PDT

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