Reading MSFS 2024 library BGL files

Until now ModelConverterX could not read MSFS 2024 library BGL files, you would get an error that the objects inside were not recognised. This is because MSFS 2024 does store your glTF models differently in the BGL file than MSFS 2020 did. You might have noticed that the BGL files are also smaller for MSFS 2024, that is because a compression is applied to the glTF data.

I have now updated ModelConverterX to support this zstd compression of the objects, so that you can open library BGL files again in the tool. This functionality is available in the latest development release.

I wanted to test it with some more models on my machine, but MSFS 2024 keeps crashing when I tried to compile a scenery package or when I startup the sim. So I’m afraid the testing has been a bit limited. If you encounter any issues, just let me know in the FSDeveloper forum.

FSDeveloper upgrade issue

Just a quick note, I was in the process of upgrading FSDeveloper to the latest forum software version when the process got completely stuck. It seems to be in an invalid state now and I have to manually upload the new version. But since the FTP is very slow I’m afraid that might take a while. So I think we’ll be down for a while…

Wasting performance

With the new LOD system in MSFS 2024 I did notice that more users are using the LOD Creator tool of ModelConverterX as well to add levels of details to their models. So this triggered me to look at a number of issues and feature requests for the LOD Creator that were still on the TODO list.

The first one I looked at is the performance of the LOD Creator. When using a complex object with many triangles it takes a lot of time to calculate the LOD. So I used a profiler this time to have a look which steps of the algorithms take most time. And as usual, it is not where you think the complexity should be of course. The vertex clustering LOD creator was for example wasting a lot of time by updating the slider in the editor user interface at a much too high rate.

In my mind it was not that long ago that I implemented these algorithms, but it turns out that it was 15 years ago already. And I must say that in those 15 years I did learn quite a bit more about programming as well. So the code that I made back then did not look that good anymore with my current standards. I thus took some time to cleanup the code and structure it better.

The results of this are quite stunning if you ask me. An object with 8000 triangles took just over 90 seconds with the old code to calculate a new LOD. After all the changes I have made now it takes less than 2 seconds. Sometimes it is impressive how much performance you can waste in places where you don’t expect it. These performance improvements will be part of the next development release.

Changes to .NET project structure

In this blog post I want to explain some things about the new development releases of my tools that I just put online. This time it is not an announcement for new exciting functionalities, but it is to let you know that the last week I have been updating my .NET projects. I started working on ModelConverterX in 2007 and at that time it was my first C# project. Since then I have of course learned a lot of new things, but the basic why my .NET projects were structured did not change a lot. Recently I was noticing that this limited me to use new libraries and other recently developments. So I have now upgraded all my projects to the .NET SDK format so that I can go to more recent versions of .NET in the (near) future. Also I have used NuGet more to get the 3rd party libraries that I use.

The development release that is now online does still target the same .NET version as before I changed the project version. So it still uses .NET Framework 4.8. But I plan that somewhere in the next weeks I will try to upgrade to a more recent version, probably I’ll go to .NET 8 directly. Once that is changed I will of course announce it.

The changes I made now have changed quite a lot internally. I did quite some testing to make sure everything still works, but still it could be I missed something. So if you have any issues with the latest development release, please let me know on the forum or by email.

MSFS 2024 materials

The latest development release of ModelConverterX includes support for MSFS 2024 materials. Based on the information in the SDK (schema’s, Blender scripts, …) I have tried to implement all new material options and also the schema’s that have changed since MSFS 2020.

The information in the schema’s and SDK did not always align, so I might be missing some material attributes or have made mistake for some material types. If you find anything missing or incorrect please let me know in the forum.

As part of adding support for the MSFS 2024 material options I also made sure that ModelConverterX can export a glTF file for MSFS 2020 or MSFS 2024. So make sure to select the right format when you are exporting an object. The file format with the name of just glTF is to export a plain glTF file without MSFS specific extensions, for example when you want to import an object into a modelling tool.

New development releases

With the ModelConverterX 1.7 and scenProc 3.2 stable releases officially released, I have changed the version number of the development releases to ModelConverterX 1.8 and scenProc 3.3. So from now on I will be adding new functionalities and bug fixes to these development releases.

For ModelConverterX I will start to add support for MSFS 2024 now. I do have a few changes already implemented, that will be part of the first ModelConverterX 1.8 development release. These are the ability to select MSFS 2024 as your preferred version, support to export scenery packages to MSFS 2024 and the ability to read KTX2 textures in the texture converter tool.

In the coming weeks I hope to add more features, like support for all new material options in MSFS 2024 or the changes light types. And of course let me know when other changes are needed to ModelConverterX to support MSFS 2024 better.

ModelConverterX stable release

I have just uploaded the new stable release of ModelConverterX, version 1.7. The main changes compared to the previous stable release are:

  • Much improved support to export FS2004 aircraft MDL files.
  • Internal and external representation of aircraft are shown as two separate models. Especially useful for FS2004 aircraft where based on user variables one had to be selected before.
  • A building generator wizard to easily make 3D buildings.
  • Many improvements in the support of MSFS 2020.
  • Command line interface to convert objects.
  • Support for P3D v6.
  • And many many small bug fixes and improvements.

I would suggest everybody who is using the stable release to update to this new version.

scenProc 3.2 stable release

I have just made the new scenProc stable release version 3.2 available. Compared to the previous stable release the main improvements are:

  • Many improvments in the stability of the Texture Filter Editor.
  • Addition texture filter step to enhance the feature detection, such as the Multi-Layer Perceptrons (MLP) step that uses neural networks for the feature detection.
  • Improved 3D building generation with more roof types, chimneys and dormers.

Besides that a lot of minor bugs have also been fixed. So I would suggest everybody to use this release for now if you are on the stable release.

Another change is that the scenProc Batch Runner tool is now available as a separate download, before it was part of the main scenProc download. This tool is useful if you want to batch process big areas with scenProc efficiently.

Building generation improvements

I have improved the buidling generation algorithm that scenProc uses to create 3D building models from footprints. Additional roof types, chimneys and dormers can now also be generated. I had started on these improvements over a year ago, but got disrupted by the FS2004 aircraft MDL export that I worked on last year a lot. So now I have finihsed this functionality.

Since this building algorithm can also be useful to create generic buildings in ModelConverterX, I have decided to add a building creator wizard to ModelConverterX as well now. In that wizard you can interactively draw a building footprint and then turn it into the building you want.

The video tutorial below shows both the new building creator wizard of ModelConverterX as the way that scenProc uses the new algorithm.