David Megginson writes:

 > Here's what I think is the offending PLIB code, at the top of
 > src/ssg/ssgOptimiser.cxx:
 > 
 >   static float optimise_vtol [3] =
 >   {
 >     0.01f,   /* DISTANCE_SLOP = One centimeter */
 >     0.04f,   /* COLOUR_SLOP = Four percent */
 >     0.004f,  /* TEXCOORD_SLOP = One texel on a 256 map */
 >   } ;
 > 
 > Unfortunately, this array is not accessible from outside, so we cannot
 > simply modify it -- we'll have to patch.  Try changing the first one
 > (DISTANCE_SLOP) to something like 0.001f and see if most of the
 > problems disappear.

Yep, that did it.  I just tried rebuilding with the patched plib, and
my own problems with small mangled objects vanished: just change 0.01f
(1 cm) to 0.001f (1 mm), or even smaller, if you prefer.  If this
change works for everyone else as well, let's start bugging Steve to
apply our patch and put out a new plib release.

I think that Steve must have originally optimized for the 3D arcade
games he was working on, where none of the objects was small enough
that 1 cm granularity would matter.  On an airplane panel, on the
other hand, many knobs and switches are smaller than 1 cm across.


All the best,


David

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to