MCX performance optimizations

Lately it has been quiet with new features for ModelConverterX, but that doesn’t mean I have not been busy. After optimizing the import performance of glTF files for MSFS, I found quite a big inefficiency in the way ModelConverterX stores the model data internally. So I have been working on optimizing that internal structure of the last weeks.

The performance gains of it turn out to be quite big. As memory, CPU and GPU usage can be reduced a lot. The screenshot below compares the current build I have in development with the 1.4 stable release. In both cases I have loaded the default FSX Boeing 747-400 model. As you can see memory usage is more than half (and if you remember textures take the same amount of memory the gain in the part I optimized is even more). Also the model pans and rotates also more smoothly due to the optimizations.

I still need to do more testing to make sure I did not break functionality, as it was quite a fundamental change deep inside ModelConverterX. So it might take a little while before I can put this out to the community, but something is coming your way soon.

FSDeveloper back online

The FSDeveloper website is back online now with another hosting company. Please note that the domain is still being transferred, so we temporarily use fsdeveloper.org for the website now. The installation of the SSL certificates is also still in progress, so you will see warnings about the site not being secure. We are working on that.

FSDeveloper issues – status update 2

Unfortunately the hosting company has not yet been able to solve the issues with the FSDeveloper forum yet. And to make things worse their technical support does not work in the weekend either.

Since we are unhappy with this as administrators of FSDeveloper we have decided to move the website to another hosting company. I am going to try to get that done this weekend already. We’ll keep you informed and hopefully we are back very soon.

FSDeveloper problems – status update

Time for the status update about FSDeveloper. There are still issues with the site and the problems seems to be that the communication between the forum software and the database server does not work correctly after the webhost moved the site to a new platform. Their system administrators are looking at this issue, but unfortunately all we can do now is wait for their support. So I hope we are back online soon.

FSDeveloper down

Today the hosting company where FSDeveloper is hosted moved the website to their new hosting platform. But although the migration has finished, the website is not yet working correctly. I get a “Service unavailable” error most of the time now. I am in contact with the hosting company to resolve this, but I need their help on this. So hopefully we are back online soon.

ModelConverterX 1.4 stable release is out!

I have just released the new stable release of ModelConverterX. The new stable release is version 1.4 and it contains the development status of around August this year. This means that it includes all the features that have been developed and tested in the last years. I would recommend everybody to stop using the old version 1.3 stable release now.

Any new developments made since August are part of the version 1.5 development release. This includes any development done for MSFS.

MSFS materials

Since last week ModelConverterX supports reading and writing of glTF files for MSFS. But this version did not yet support all the material attributes that MSFS has. There are 15 different material types that can be used in MSFS and each of them have a different set of attributes.

The latest development release of ModelConverterX adds support for all these material attributes. This means that you can read them from the glTF file and also export them to glTF again.

The material editor does also show the available attributes. To work with the MSFS materials you can best select the MSFS filter at the top. If you change the material type attribute to the different types that are supported, the attributes will be updated to only show the ones that are supported by that material type.

Since the MSFS materials are quite complex, I have not been able to test all attributes. So let me know if there is a bug in how certain of the materials are implemented.

glTF support for ModelConverterX

I am happy to announce that from today the development release of ModelConverterX supports the glTF format as used by the new MSFS. With this addition I have also changed the version number of the development release to 1.5.

You can now read glTF files and the MSFS BGL files that contain the object models into ModelConverterX. When reading the BGL files that have been generated by the package tool of MSFS ModelConverterX will show the texture mapping incorrectly, that’s because MSFS stores the texture coordinates in a non-standard way. I hope to figure that out later.

You can also export models in the glTF format, so that you can include them in your scenery package. At the moment the exporting is limited to static objects, so you can export the geometry, material settings, levels of details and lights. Other features like animations, mouse rectangles or visibility conditions are planned to be added later.

In the material editor you can select MSFS now as a filter as well. That will only show the material settings relevant for MSFS. I have mapped the material attributes on the already available ones where possible, to each conversion from older formats to MSFS. But this also means that the names are sometimes slightly different from what the MSFS SDK uses. I plan to update the help texts to clarify this more. For some of the more exotic material types in MSFS not all attributes are implemented. Those will be added later.

At the moment I am not sure if ModelConverterX should call the package tool for MSFS directly, as the package tool typically makes all BGL files of the package, while ModelConverterX is now designed to only make a single BGL file. So for the moment I think it is better to export a glTF file and then create the package from inside MSFS. But if there are suggestions on an easier workflow, let me know.

As can be seen from all the details above, the glTF support is not yet finished. And I’ll continue to add more features. So please let me know if you encounter any issues while using it.

FS2020 support

With FS2020 being available I would like to let you know that I have started on adding support for the glTF models in ModelConverterX already. But it’s not yet finished or fully tested as my current machine doesn’t meet the FS2020 specs.

Once I’m back from vacation I’ll continue on this feature. By that time the dust of the release should have settled a bit as well.

And I’ll have to see how to upgrade my machine, so that I can properly test things.

Ground Polygon Wizard update and seasonal models

The latest development release contains an updated version of the ground polygon wizard (GPW). The user interface has not changed a lot, but under water a lot has changed. So if you run into small issues with the new GPW, please let me know.

The following changes are included:

  • Before the GPW would set the layer number and other attributes at the level of the texture name. This meant that if you had different materials that used the same texture, the GPW would all give them the same settings. In the new version the GPW settings are set at material level, which means that multiple parts with the same texture can now have a different layer or other setting. This also means that you can see the same texture name mentioned multiple times in the list in the GUI.
  • Before the GPW only supported seasonal texture for FS2004 and FSX output. Now seasonal textures are also supported for P3D v4 and P3D v4.4 output. Below I will explain more how the seasonal textures are supported.

So how does MCX support the seasonal textures? This can be done in two ways and the way that is used is selected with the “Use season material script” option in the exporter settings.

  • When this option is set to true, MCX will create a LUA material script that will switch the textures based on the season. The LUA files are saved in the same directory as your BGL or MDL file, so you need to copy them over to your addon. It’s probably easiest to create a local script folder in your addon and load that via the add-on.xml file.
  • When the option is set to false, MCX will use visibility conditions to switch between different model parts that have the seasonal textures on them. The downside of this approach is that your MDL file gets bigger.

You can determine how the seasons need to look in the Season editor. You can select there which seasons are active for your area and in which day of the year each season starts and ends. If you have a heavy winter (with snow) season in your area, you can use winter and winter2 to have a non-snowy winter representation before and after the heavy winter.

In the ObjectModel settings the suffixes that are used for each season are defined. The default values use no suffix for summer, and the logical _SP, _FA, _WI and _HW for the other seasons. But you can change that to your needs.

And the good news is that this functionality to add seasonal textures is not only available in the GPW. You can also use it on a normal model that you export to P3D v4 and above. In the material editor you can set the HasSeasonalTexture option to true and then MCX will create the material script or visibility condition on export of your MDL file. The Season editor can be used to define the seasons again, as this editor can not only be started from the GPW, but also from the toolbar in MCX (it’s just left of the scale object button).

I hope you all enjoy these new functionalities and let me know if you have any issues with it.