RE: Position of object changing

New Message Reply Date view Thread view Subject view Author view

Gullen, Jim (Jim.Gullen++at++GSC.GTE.Com)
Wed, 01 Jul 1998 11:25:36 -0700


It's not easy or trivial.

        -----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


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:57:39 PDT

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