Introduction
Many aircraft designed for FS98 (or before) do not display properly in FS2000, due to its new Z-buffer mechanism - in FS98, polygons are drawn complete in (usually) the correct order to display an aircraft correctly. In FS2000, the Z-buffering draws the nearest polygon point at each pixel on the screen. Whilst this technique is generally useful in eliminating "bleed-through", it also means that if two polygons intersect, parts of both will be visible. This causes problems where the intersection is unintended, and is particularly noticeable around the cockpit windows of aircraft - where the window polygons intersect the fuselage polygons, parts of windows tend to disappear!
Here's an example of an aircraft cockpit (Dornier DO328) before and after correction:

In the uncorrected version (left), lower-outer points of the front windscreen are too far back (so that corner disappears into the fuselage), and the side windows are totally inside the fuselage! Note the intake beneath the propeller, which "twinkles" as it is flush with the engine body ... on the right, it has been moved forward a fraction to be fully visible and eliminate the twinkle.
What tools do I need to fix this sort of problem?
You need to use my PolyFix polygon editor and Chuck Dome's MDLVUE (the latter is included in the ZIP for PolyFix, with Chuck's kind permission).
So how do I fix my faulty planes?
The process you need to go through is as follows:
How does this work in practice?
Let's work through the DO328 example above ... load the MDL file into MDLVUE, and we can quickly identify the windscreen as polygon number 2 (below left). Now load the MDL into PolyFix, and display the same polygon (below right) - the polygon number, Addr. Poly and Addr. Pts should all be the same in both programs.

Now, by cycling through the "Point #" values, we can identify the "bad point" using its co-ordinates - in this case it will be the lower (i.e. smallest UP value) of the two outer (i.e. lowest RIGHT value (as we're on the left side of the plane)) points.
So, this is the point we need to edit ... but how? Well, this point is too far back, so move it forward (i.e. increase the FORWARD value) a little bit (one unit = 2mm approx. on the real aircraft, so for example increase the value by 500 to move point 1 metre).
Now save the MDL, then check it out in FS2000. If it's not fixed, change the value again, resave and review until it is fixed! If fixing a feature that appears on both sides of the aircraft (as in this case), note how far you move the points, as you'll need to apply the same correction to the polygon on the other side (the right windscreen in this case).
To do the side windows in this example, follow the same procedure, but this time move all the points (as the whole polygon is faulty), and move them outwards rather than forwards.
What else can I do with PolyFix?
Changing polygon colour: Another common problem is untextured polygons which appear the wrong colour (especially if repainting an aircraft) - as above, use MDLVUE to identify the offending polygon, then use PolyFix to change Colour Byte 2 (use the Colour look-up table for reference).
Removing polygons: Move all polygon points into the centre of the fuselage (usually 0,0,0) - the polygon will then not be seen!
Editing polygon shapes: Redesigning parts of aircraft (e.g. making wings longer) is possible with Polyfix - but very time consuming to do successfully!
Renaming textures: If repainting an aircraft, you will want to rename the texture files used by the MDL - use PolyFix to locate the filename pointers in the MDL, and change all instances to your new filename.
What if I'm still stuck?
If you have any problems with using Polyfix, please drop me an e-mail with your questions (though please do not send me your MDLs to fix)!!
Go to my main flight simulator page
Go to Iain Murray's home page or send me an e-mail
Go to the Applied Computing home page
Go to the University of Dundee home page