It is great to see that the ground polygon wizard in ModelConverterX is getting more popular. I added this functionality some time ago to ease the scenery design process and let people avoid the manual tweaking of ASM files (it seems most people don’t like to use text editor to tweak source code). So I am happy to see the usage of the tool is picking up now.
How do I know this, you might wonder? Mainly by the amount of bugs that get reported. I tried to make the tool as robust as possible, but it seems end users can always come up with ground polygons that are different and do sometimes break the tool. I do try to fix such issues as soon as possible and would like to thank the users who are happy to try this development release and help me make it even better.
For those developers using 3DS Max to make their aircraft or scenery models there is good news. A common question on the FSDeveloper forum is which version of 3DS Max can I use together with the FSX gamepack? The bad news in that case is that it does not work with the latest versions and you can’t legally buy the old versions that do work. But now the good news, an updated SDK for Prepar3D has been released. This SDK includes the tools to export from the more recent versions of 3DS Max. Since the Prepar3D MDL format is the same as FSX, this SDK should also help FSX developers. So thanks to the Prepar3D team for this!
I have added a new function to ModelConverterX, an notification when a newer development release is available. When a newer release is available you will get a notifcation message as shown in the image below. If you click on the balloon you will be taken to the ModelConverterX webpage where you can review the latest changes and download the new release. If you don’t want this function you can also disable it in the options of course.
There is only one catch to all this, you need to remember to get the latest version yourself to get these notifications in the future.
I have made a few small changes to the Ground Polygon Wizard. These changes deal with the way you can filter out polygons from your object after loading. In the previous version there were two buttons for this. “Filter out non-ground polygons” would remove all polygons that were not on the ground, while “Lower polygons to ground level” would lower all horizontal polygons to the ground level.
In the new version these two buttons are gone. But instead of them you will find two checkboxes directly under the box where you select the file to load. This means that you now specify which filtering you want before you select the file to load. While loading the object the filtering will directly be done. The names of the two options have also changed a little bit.
The first is now called “Project flat polygons on ground”. This does almost the same as the lower ground polygon function before. The only difference is that you can now specify a tolerance for a normal that is still considered as flat. So that means that if you polygons are slightly tilted it will still work. Most of the time the default values should work fine. The second option still works the same and will remove all polygons that are not on the ground. Another difference is that the functions are performed in a fix order now. If you have the checkboxes selected first the polygons will be projected and then the non-ground ones will be filtered out.
I hope these changes make it a little easier to work with ground polygons in the wizard. And be careful with the default settings when you are loading a file that also contains buildings, the project option would project them onto the ground as well. In that case you would like to disable the option.
Today I was “playing” a bit with a profiler on ModelConverterX. This gave some interesting insights in how often certain functions are called or how much time is spend in certain functions. One of the things I noticed was that while loading SCASM API macros the triangulation of the polygons took relatively a lot of time. So I decided to have a look at the code involved and found out that the calculations to determine if lines intersect were to blame for all this.
So I have rewritten this logic now and that seems indeed to have increased the speed of loading API macros quite a bit. On one of my test models it went from 1.3 to 0.5 seconds. So especially for big or complex files you can expect some increase. Some part are still not as fast as I would like, so I will continue to find places where I can improve the performance.
As a nice side effect of these changes, I have also noticed that the Ground Polygon Wizard works faster now, the slicing functionality uses the same code to do line intersections when using the boolean operations.