Aaand here is the next problem. The systems MFD is blacked out:
- image.png (615.64 KiB) Viewed 772 times
This took me a while to understand …
So the plane is drawn first. It renders a black low-poly pit.
Then the cockpit is drawn. It is farther away from the viewer than the black low-poly pit. F22 did not use depth buffering, so this was no problem and everything was overdrawn fine. But we use depth buffering and we need to set it to write-only mode like explained above, so new pixels write their depth without being discarded if something is closer. After this, we have “real” depth values for the cockpit.
The current TFXplorer version then renders the screens without depth buffering, i.e. just plainly overdrawing the cockpit with the screens. This is visible through this error that we now have for a long, long time:
- image.png (208.51 KiB) Viewed 772 times
The display overdraws the dials, even though the dials are closer to the viewer, because there is no depth buffering in rendering the cockpit. Same thing as with contrails, craters, etc.
But now with all the workarounds, we have “proper” depth values for the cockpit, so we can render the screens with actual depth buffering! This works:
- image.png (115.65 KiB) Viewed 772 times
… except for the systems display. Why?
The TAW cockpit model has a hole where systems MFD is. All other MFDs are opaque black, but this one just is a hole.
So this place doesn’t overwrite the depth values of the base model with the black low-poly pit.
And the black low-poly pit is closer to the viewer than the screen. So this part of the screen is discarded during rendering.
tl:dr: Three geometries are overlapping in this place (base model, cockpit model, screens) and there is no way to have a depth order that fits them all.