Lee Elliott wrote:
> In a/c that have one or more VC views there's a visible 'jitter'
> when looking at parts of the a/c, most notably in my experience,
> with the windshield/canopy frames.

This is a bug, not an intentional feature. :)

It's a precision problem with the view code.  The current architecture
puts the coordinate origin at the current tile origin, which is
sometimes ~1000m from the viewpoint.

So the OpenGL matrix stack has to do something like

 + move the origin from the viewpoint (where it starts, by definition)
   to the tile centroid
 + draw scenery, objects...
 + move the origin back to the aircraft origin
 + draw the aircraft, cockpit ...

These two matrix multiplications result in floating point values that
are "off" by a few parts in 2^23 (basically one part ), due simply to
roundoff error in the single precision operations.  Doing the math,
that comes out to an error of about 1mm.  In small cockpits (the A-4
shows this effect really well), that can be several pixels worth of

I looked at fixing it about a year or so ago, but got confused and
distracted by other things.  The best solution would be to "recreate"
the cockpit modelview matrix from scratch, using double-precision math
for the offsets, instead of deriving it from the tile centroid with
OpenGL matrix calls.


Flightgear-devel mailing list

Reply via email to