Nicolas Gauvin (nicolas++at++cae.ca)
Wed, 27 Nov 1996 15:48:52 -0500
One solution is to use the concept of a global world origin kept in double
precision. You need to keep track of your application (world) eye point and
object positions in double precision. At each frame you set your world origin
at the same place or very near your world eye point. Then you set all Performer
values as being the difference between your world positions and this
world origin. Those resulting values should fit in the range of floating point
precision (and graphic hardware).
In summary, for each new frame you must do:
world origin (DP) = world eye point (DP) [or near it]
performer eye point (SP) = world eye point (DP) - world origin (DP)
performer DCS position (SP) = world object position(DP) - world origin (DP)
pfFrame();
--
Nicolas Gauvin CAE Electronics Ltd., 8585 Cote De Liesse
Software Developer Saint-Laurent, Quebec, Canada, H4L-4X4
3-D Graphics Applications tel: +1 514 341 2000 extension 2275
nicolas++at++cae.ca fax: +1 514 340 5496
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:54:01 PDT