From: Angus Dorbie (dorbie++at++sgi.com)
Date: 01/11/2000 00:07:15
Yair Kurzion wrote:
>
> Hi John !
>
> > I have an application I am working on, using
> > ECEF WGS-84 coordinates. For accuracy, this app
> > would/should require 64-bit floating point numbers.
> > Is there any way, or any version of performer that
> > supports this?
>
> First, although OpenGL supports double precision parameters, I believe that all
> current implementations of OpenGL convert to single precision. So, data bases
> with very large vertex coordinates will suffer from precision problems.
>
> Performer attacks this problem by making the following observation: If some
> portion of your database is visible, it must be fairly close to your camera
> position. So, even though both your camera and the database are very far from
> the world origin, you can define a local origin and use it for drawing any
> database part with single precision math.
I'd like to make a minor correction here about the assumptions which
show that single precision management works for large databases. If the
nominal origin is near the eye then you have more accuracy because your
floating point exponent will be smaller the closer to the eye that you
are. Objects which are farther from the eye do have much less accuracy,
they are not assumed to be non visible but rather they require less
accuracy because of the effects of projection. More importantly the
resulting translation numbers in the modelview matrix have small
exponents for data near the eye instead of the very unfortunate
alternative of potentially large exponents in the vertices AND the
modelview matrix translation negating each other to produce small
numerical results in eye space after transformation, which is the real
problem. Similar problems can arise with large translations in model and
view matrices which after multiplication produce a modelview with a
small net translation.
Cheers,Angus.
-- "Success is the ability to go from one failure to another with no loss of enthusiasm." - Winston Churchill.Performer + OpenGL examples and tutors: http://www.dorbie.com/
This archive was generated by hypermail 2b29 : Tue Jan 11 2000 - 00:07:30 PST