We’re pushing to get a stable X-Plane 11.30 beta 3 right now, and I think we’re making progress: Chris has fixed the crash when using the radio stack audio (this Windows-only crash was very frequent) and I have found at least one case of collapsing landing gear.

The bug report was the landing gear collapsing when taxiing on orthophoto-based scenery. It turns out that the custom DSF meshes have triangles that are duplicated and then flipped. In other words, a few of the triangles have twins that are upside down.

Here’s a pair of pictures to illustrate.

The image on the left is the “tops” of the orthophoto mesh triangles – this is what you expect to see.  The image on the right is the bottoms!

Now normally the “bottom” view should show nothing – we should see only the light blue background, because the camera is above the mesh, so all of the triangle backs are facing away from us. Those extra triangles you see are copies of parts of the orthophoto mesh that have been duplicated and flipped over, so that their fronts face down and their backs face up.

This DSF violates the DSF specification, which requires all triangles to be wound counter-clockwise when viewed from above. But as of X-Plane 11.26, this wasn’t a huge problem; X-Plane blissfully ignored the flipped triangles. X-Plane 11.30 is intermittently detecting the upside-down triangles and the resulting upside-down normal vectors are making the collision physics go crazy. We should have a fix for this in X-Plane 11.30 where we filter out these flipped triangles.

One last bit of the mystery: the creation agent on both bad DSFs I have looked at is “X-Plane Scenery Creator 0.9a”. Does anyone have a link to this tool or know who the author might be?

Post script: there is a separate bug where the new physics code is reacting to DSF boundary cracks more severely than X-Plane 11.26. I had hoped this would all be one big bug but it’s not, so mesh cracks will be next on my todo list.

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.

41 comments on “The Mystery of the Collapsing Landing Gear

  1. Quote: “X-Plane Scenery Creator 0.9a”. Does anyone have a link to this tool or know who the author might be?
    MeshTool writes that value for the sim/creation_agent property, as you can see when you look into
    //github.com/X-Plane/xptools/blob/master/src/XESCore/DSFBuilder.cpp 😉

    Therefor, the photo-mesh was generated with MT or (more likley) a custom tool that doesn’t set a custom value for sim/creation_agent and simply copies what MT does.

    Anyway, I develop a lot of custom meshes and also patch existing meshes: I noticed in the course of this work, that the XP default meshes also feature (very rarely) CW orientated triangles (I didn’t investigated it further, when I encountered them the last time, but I’ll leave you a notice when I find such triangles again).

    Regards, Matthias

  2. Nice work, sir! I understand there’s also a fix re: NAV audio causing CTD? I’ve heard it had something to do with the translation from morse to audio if I understand it correctly.

  3. Hi Ben, I have detected another bad DSF for the EDDM area, it’s an old Simheaven ZL16/17 ortho tile which now is no more downloadable.
    Is it useful to you if I open a bug report including only the .dsf file? I figure out that for reproducing you would need also the .dds and .ter files but it would be a huge upload for my bandwidth. Anyway should you need the complete package in a couple of days I could be able to make a GDrive link to it.
    Cris

  4. Ben,

    Yes, have noticed cracks appearing when using Orthos.

    Maybe not relevant to this blog ! About this new tech which you have previously mentioned in your last blog, hope that can fix the Opengl performance of AMD GPU ? AMD Drivers have terrible opengl performance for both windows / linux. And as you don’t support Gallium i have to stick with Proprietary drivers.

    Rgds

    Zulfikar

    1. same here , it seems that some bad formatted Tiles/Orthos just crash X-plane ( made with Ortho4XP in my case), it is not new , already present 11.26 and previous, and still present in 11.30b2. Would be VERY nice to have an explicit test/message …. [i ve submitted a bug on that + XX crash reportss but was recently able to correct it by erasing Ortho4XP images cash & regenerating Tile ]. By the way , Felicitation for all your work !

      1. “Ortho4XP images cash”. Deeply buried into cache. But it writes the creation agent faithfully.

        Frederic, I doubt what you experienced has anything to do with the present post, rather a missing texture because of too many Nvidia texture tools instances used at the same time when building the tile (and the missing texture in such cases is clearly indicated in X-Plane log, certainly not a Laminar bug, but rather an old bug of mine which has been fixed for v130).

  5. On the “X-Plane Scenery Creator 0.9a” – if these DSFs are part of an airport scenery then maybe ask the airport designer if possible?

      1. Is there a way to to tell x-plane to start from the command prompt without loading 3rd party plugins, scenery and airports?

        1. Kind of safe-mode would be nice, maybe asking for which plugins and/or scenrry packages to load or not.
          But maybe some timing histogram with times spent in which plugin (or visual effect) could give nice insights.

      2. There are confirmed performance bugs in 11.30b2, which have nothing to do with plugins (I opened one of them and got confirmation from Jennifer). So although it is worthy to try without plugins and fresh regenerated shaders and preferences, this is NOT a solution. There are many users who saw exactly same performance regression with 11.30b as Tim and I am one of them as well. (on very similar hardware my fps drop is very similar 10-12fps).

  6. this article reminds me back days when using 3ds studio max on MS DOS 3.3
    whereby unifying normals of 3d objects was one of the first concepts that we had to deal with for proper rendering output.
    it is amazing how after all these years such a concept bubbles out and causes such an issue …. it does make a lot of sense for developers of the physics engine to rely on the normal-orientation to do whatever relevant processing along with it.
    Inspiring…

  7. Fantastic post to understand what is happening in the world of 11.30 beta. Now I know why the landing gear collapses and the sim crashes when using radio stack! Thanks and looking forward to beta 3!

  8. Hopefully the mesh cracks resolution will give us some relief from the visual artifacts these can create while flying. Tiny little pinpricks in our “willing suspension of disbelief.” 😉 Thanks for sharing another interesting story of fault investigation. It’s kind of like watching CSI, only without the fake dramatics. 😀

  9. It sounds like this will affect abutted DSF areas that currently have problems. i.e. boundary cracks as you term them. I reported 1 which also had a height difference in XSG 5734 , scenery 8282, airport 17J. This may be useful as a test for you. W to E across taxiway join to Rwy 01.

  10. Your should look at the DSFBuilder.cpp code in xptools on github line 2016

    cbs.AcceptProperty_f(“sim/planet”, “earth”, writer1);
    cbs.AcceptProperty_f(“sim/creation_agent”, “X-Plane Scenery Creator 0.9a”, writer1);
    cbs.AcceptProperty_f(“laminar/internal_revision”, “1”, writer1);
    Ron

  11. Hi, thanks for all your hard work! Do you have a release date for 11.30 yet? I’m really looking forward to it. And is the .30 beta public? If so how can I get it.
    Thanks
    Matt

  12. So is X-Plane going to support raindrops on canopy glass anytime soon given the recent particle effects addition? I’ve been looking into adding rain effects to my BD-5J aircraft but the plugin interface seems rather limited. If I could get access to a known loaded texture the aircraft uses and modify it on the fly, that might work, getting X-Plane to do the rendering work. However the XPLMGetTexture() call is rather limited, only taking a number which can be three values, and I don’t think any of those values maps to my “glass.png” texture.

    1. Okay, did a bit of research and it seems Laminar Research doesn’t want plugins to get at its textures other than the panel because… well, they just don’t. So my plan to paint water droplets onto a texture drawn by X-Plane won’t work. That’s a shame. So I guess I’ll need to draw a 3D object representing my canopy glass and animate it correctly when the canopy opens and closes. It probably won’t work with future versions of X-Plane since drawing 3D will eventually be forbidden, if I understand things correctly. Oh well.

      1. You can draw on your airplane by drawing on the ‘panel’ and then use that in ANY aircraft of your object.

        You can’t just randomly find X-Plane textures and scribble over them. We make NO guarantees that our various textures remain stable, so we didn’t make an interface where you get to find them and mod them.

        1. Thanks Ben! I’ll look into using the panel texture as my raindrop canvas. Hopefully it’s an RGBA texture and not just an RGB texture.

  13. For what it is worth, the lower I set my Reflection Detail and the worse my frame rate (FR) gets on a GTX1080ti in VR, as well as it giving really strange behaving reflections. Visual Effects up to HDR (lower & higher than HDR) gives FR drop and Antialiasing has similar results up to 4x SSAA/FSAA (above and below that FR drops significantly). Texture Quality & World Objects both set to one notch up from minimum.

    Btw, the dust cloud in the helicopter is awesome!

  14. Awesome, Madeira’s scenery is working again 🙂

    By the way, the bug for the “new cloud transparency bug” is filed. It’s quite easy to replicate, just fly above the layer of clouds, place your camera beneath the layer of clouds and look up to your airplane. The lights of the airplane are drawn before the clouds, so you can see the airplane through the clouds.

    In any case, it is so much better now. Literally all I need now is Active Sky to come out and I’ll be one very happy customer 🙂

    Thanks a lot,
    Bruno

    1. PS: Actually, with the new shaders, clouds are so beautiful, and weather has been consistently working so well lately (not sure if you’ve been improving it slightly as well), that I’m not so anxious about a weather engine anymore… What would really be great would be the ability to set some default visibility value when all we’ve got is the “9999” from the METAR, like most weather engines. The world is not normally so hazy 🙂

      Cheers!

  15. I’m slightly confused. Ben, you write: “violates the DSF specification, which requires all triangles to be wound counter-clockwise when viewed from above”.

    In the DSF specification I read: “Triangles must have clockwise rotation as seen from above for all triangle primitives”.

    The latter case matches what I experienced during my various works on terrain meshes and can be easily retraced by decoding a DSF2TXT: Triangles in Primitives of type 0 are oriented clockwise as well as triangles of Primitives of type 1 (when you extract the single triangles of a traingles strip 123,243,345, they are oriented clockwise).

    Please enlighten me 🙂

    Thanks, Matthias

Comments are closed.