On the FsDeveloper Wiki I have added a page that describes (part of) the FsX MDL format. At the moment mainly the sections involved in a simple scenery object are covered, as that is the part I mainly looked at for the ModelConverterX tool until now. Hopefully this page is useful to other programmers as well, when they want to read information from FsX MDL files.
But in this blog post I want to try to explain some of the changes in less technical terms, so that also “normal” scenery designers can understand what effects the new MDL format might have on their scenery. To do that, I will start with a short description of the Fs2004 MDL format.
The Fs2004 MDL format contains lists of the vertices, textures and materials used in the object. And there is one big section that determines what is actually drawn. In that section triangles are defined using the vertices for example. When drawing the object the scenery engine has to read this entire section from start to end, as conditions and jumps can be just in it to control what is actually drawn. Besides this there are also some sections for animations, attachpoints, etc but I will not consider these in detail here.
In the new FsX format still has lists of vertices, materials and textures. But there is no longer one big section that draws the object. It has been replaced by a couple of sections that for example defined a list of triangles and a list of object parts. So each object part uses a certain material and has a number of triangles related to it. These triangles are linked to the vertices that define them.
As you might already understand now, this structure is less flexible. The part lists are part of the LOD section, so you can define different parts for different LOD levels. But it seems no longer possible to add other conditions or jumps, to for example only show your objects during winter. I can understand that MS has chosen this new structure, as the more rigid structure makes it a lot easier to optimize the scenery engine to draw them. There are no surprises anymore because a designer has added a weird jump or complex condition somewhere.
The downside of this seems to be that we have lost the ability to make objects like docking systems that require conditions and jumps for the correct display or the ability to show different textures for each seasons.
As FsX is still very new, we might find a way to get past these problems later on. But for the moment it seems we are limited to making less complex objects (feature wise of course, I am not talking about the amount of polygons here).