Gullen, Jim (Jim.Gullen++at++GSC.GTE.Com)
Wed, 01 Jul 1998 11:25:36 -0700
-----Original Message-----
From: Angus Dorbie [SMTP:dorbie++at++sgi.com]
Sent: Wednesday, July 01, 1998 10:33 AM
To: Steve Baker
Cc: VSM 13; Kevin A. Pilch; info-performer++at++sgi.com
Subject: Re: Position of object changing
Steve Baker wrote:
>
> On Wed, 1 Jul 1998, VSM 13 wrote:
>
> > I have the same problem on flight simulation,
>
> Doesn't everyone? It's something that can be worked around
> (with some measure of pain).
>
> > The problem is that Preformer use only float not double.
>
> Well, not even just Performer - OpenGL has the same problem - it
> works in float precision.
>
> Since an IEEE float has a 23 bit mantissa, you can only expect to
> get precision down to about one part in 8 million or so - it's
> quite a bit worse than that in practice due to accumulated
> roundoff.
>
> In the end, you have to resort to tricks like keeping the
> eyepoint at the origin and moving the world past it.
> It's not easy.
It's very easy.
The simplest way is to store xyz for top level scene graph objects
and the eye in double precision.
Then each frame you subtract a large offset from these double
precision numbers to to keep the eye near the origin. You then
cast to float and send to performer or OpenGL.
It's trivial to implement at the application level.
Cheers,Angus.
--
"Only the mediocre are always at their best." -- Jean Giraudoux
For advanced 3D graphics Performer + OpenGL based examples and
tutors:
http://www.dorbie.com/
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
=======================================================================
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:57:39 PDT