Improved mipmaps handling

It turned out that for all those years the way ModelConverterX handles the mipmaps of textures was not really correct. So in the last version of ModelConverterX there are a number of changes that improve this. These include:

  • Mipmaps are read correctly from DDS and DXTBMP files, instead of being calculated internally by ModelConverterX.
  • Mipmaps are saved to DDS and DXTBMP files based on the data that was loaded, instead of being calculated by ModelConverterX. This means that if you modified some mip levels that data is not being lost when exporting a texture file from ModelConverterX.
  • The Texture Converter form has a dropdown menu now where you can select which mip level you want to see, that way you can inspect the different levels.
  • And last, but not least, the preview in ModelConverterX uses the mipmap data correctly now when rendering the preview of the object.

The video below also shows most of these changes.

Building Texture Configuration file format change

In the latest development release I have fixed the bug that textures in the 3D building generation have to be square in size. But while making this fix I also broke the backwards compatibility of old BTC files partly. So prevent such issues in the future I have added a new file format that has less backwards compatibility issues, this new format is called BT2.

For now the Building Texture Configuration Editor can read both formats, so you can convert your old configurations by loading them in the editor and then saving them in the new format. I have also made a command line conversion tool that you can use: btc_to_bt2.

Object segmentation and machine learning

I have an early Christmas present for scenProc users, today I have push a new development release of scenProc that contains exciting new features for the texture filter that I have been working on the last months.

About half a year ago I start to explore how I could make the vegetation detection in the texture filter more accurate and easier to use. I found a number of interesting articles about this in the literature and soon it became clear that all of them were using an object based classification, instead of a pixel based classification. And most were also using the Support Vector Machine (SVM) machine learning algorithm for the actual classification. So I have been working on adding these two features to scenProc as well and from the testing and experimentation I have done until now I think this will indeed make detection of features in imagery easier.

Below is a video tutorial I made about these new features. I would also mention the sample that is provided in section 6.3.5 of the manual. That should be a good starting point to start experimenting for your own project. And if you have questions or suggestions on how to improve this functionality, feel free to post them on the scenProc forum at FSDeveloper.com.

Texture filter configuration file format changed

The latest development release of scenProc adds a new file format to export the texture filter configuration file to. This new format is called the TF2 format and will replace the TFC format in the future. For now scenProc will support both formats, but I have some changes in development that will give backwards compatibility issues with the old TFC format. That is why this new format has been added now.

As I know developing a texture filter configuration file for complex feature detection can take a lot of time, it is important that developers can easily convert their existing configuration to the new format. There are two ways to do this:

  1. You can open the TFC file in the texture filter editor and then save it in the new TF2 format.
  2. You can use the tfc_to_tf2 command line conversion tool.

Once I have released the features in development now that will break the backwards compatibility option 2 will be the only way to convert your existing work.

Processing scenProc scripts in batch

The scenProcBatchRunner tool has been expanded in the latest development release of scenProc. With this tool you can run your scenProc scripts in a batch file, passing different variables to each run of the same script. By using multiple scenProcWorkers you can also speed up the processing of your scripts. And the new Workflow Feeder mode allows you to setup a entire workflow for your project and easily run that over a big area. The video tutorial below explains this all in more detail.

https://youtu.be/sN2GvgNfIB4

Creating photoreal scenery with scenProc

With the latest development release of scenProc it is possible to create photoreal scenery BGL files directly from scenProc. In your script you define which raster and vector data is used to create the photoreal. In a texture filter configuration file you define how the raster data should be processed before it is handled to resample for the BGL creation. The process also allows you to create watermasks, blendmasks, night or seasonal variants. The video tutorial below gives an overview of the possibilities.

scenProc improvements

The latest development release of scenProc contains a number of interesting improvements.

  1. The available steps for the texture filter have been expanded to include steps to calculate the Normalized Difference Water Index (NDWI), Urban Water Index (UWI) and Urban Shadow Index (USI). With those additional steps it becomes easier to detect water from images as well. Sections 6.3.3 and 6.3.4 of the manual show example scripts using these new steps.
  2. The ExportGDAL step can now also call a texture configuration file. That way you can run a texture filter on the raster data before exporting it to disk. This would for example allow you to export the watermask that you have detected with the new texture filter steps described above to a GeoTIFF file and use it in other applications.
  3. I have unlocked two additional features of scenProc that were previously only available to selected projects. But as these features are more complex they deserve their own blog post with a video tutorial. So I will upload those ones the video tutorials are done.

I have another interesting feature in development. I am currently experimenting with using machine learning in the feature detection process. Hopefully that will make the results even better and hopefully also easier to adapt a script for different input images. But as I am still learning how to do this, I can’t give an estimation when this feature will be ready.

XtoMDL special characters

On the FSDeveloper forum there are regularly questions about why XtoMDL does not compile a certain object. XtoMDL then usually throws a bunch of not so clear errors, as shown in the picture below. One of the common causes for such errors are special characters.

Let me start by saying that what I call special characters here, characters like é or ç, are very common characters to use in many languages. So it might well be that your Windows username contains some special characters or something like that. But XtoMDL is very picky and does not like them. I have analyzed which situations give issues:

  1. If you use special characters in the model name or in texture names, they are lost on export to the MDL file. Therefore FS will also not render the texture correctly. There is no error from XtoMDL in this case and a MDL file is still created.
  2. If you use a special character in the filename of the MDL file there is no problem, this is allowed and works fine.
  3. If you export the MDL to a folder that contains a special character than XtoMDL throws the error shown in the image above is given, no MDL file is created in this case. You should thus make sure that you always export to a location where the path contains no special characters. That means if your Windows username has some of these characters that you should not export to your desktop or places like that.

The latest development release of ModelConverterX also helps you with the special characters. For situation 1 described above a warning message will be shown in the log that informs you that information will be lost on export. For situation 3 ModelConverterX writes a clear error message in the event log and stops the export. So this way you don’t get the unclear XtoMDL error anymore, but a clear error message that tells you want you need to change.

YouTube links

After the accidential loss of the FSDeveloper YouTube channel a few months ago, I have uploaded most of the video tutorials related to my tools to a new channel. Today I have tried to update as many links in the posts and pages on this website to point to the new channel. But if you find an old post that still has an invalid link, just let me know by posting a comment or sending an email.