New GUI for object images and reports

Image2013-10-08 2145.57.165In the next development release two new graphical user interfaces will be added. Both for the object report function and for the object image function there is a GUI now.

The object report function can be used to create a HTML file with information about the loaded object or library. It includes a thumbnail image and information about for example the textures used or the attachpoints of the object. With the new GUI you can now select which information you want in the report and you can also set the size of the thumbnail image.

The object image function was just a simple capture of the preview window before. This function now also has a GUI where you can set the size of the image and the naming convention of the file. The size of the image is not linked to the preview anymore, it can even be bigger than your screen size. So if you want you can make a nice high resolution rendering of your object.

A last new feature in the object image editor is that you can also set an option to create multiple images. In that case you specify a rotation offset and for each image the object will be rotated by the angle. So for example you make screenshots of your object with a 30 degrees offset between them. This can be useful if you want to show your object from multiple angles.

I plan to make a video tutorial about these new features soon.

Repackaged development release

pile-of-boxesUntil now the development release (or should I just say beta version) of all of my tools was released as one big ZIP file with all the different tools in it. I have changed this now. So from now on you can download a separate ZIP file for each tool. The file contains all files needed to run the tool, so you can install them each in their own folder if you want. I have uploaded the development releases page to contain the correct links.

Why did I make this change? Mainly because the ZIP file was growing in size too much. And with some other developments that are in the pipeline it would have grown even more. That would mean every single download would take quite a while, while not all user are probably interested in all tools. So by splitting it into multiple files people can download what they need and the download times also stay more manageable.

So please update your links and let me know if there are any issues!

Earth curve editor explained

I have a made a new video tutorial explaining the earth curve editor of ModelConverterX. It also shows the effect of not correcting for the curve of the earth and how that can result in misaligned objects. I decided to make this tutorial now, since I fixed a few bugs in the earth curve editor this week. Animated objects are working better now, before they did not always align as they should.

Heading offsets

One problem with the scenProc feature to place objects along a line was that the user could not influence the orientation of the model. It would just follow the line and for the default light everything ended up fine. But if you wanted the use an object that was oriented differently in the MDL file you would end up with wrongly aligned objects.

So it has been requested a couple of times that the user can alter the heading of the objects. I have now implemented this chance. There is an additional attribute now in the steps to create the library objects. You can specify a heading offset in degrees in that attribute. This offset will then be added to the heading as stored with the feature. So this way you can get the orientation exactly like you want.

And while testing this new feature I also found a bug in the step to place points along a line. The heading calculated was not correct anymore (probably since I fixed another bug in some other part of the code) . So that issue has been fixed as well now.

Slower development

Horizontal snail on chartAs you have probably already noticed the development of my different tools is a bit more slow recently. That’s just because I am a bit busy at the moment. There are a few reasons for that:

  1. It has been quite good weather this month here, so I have been trying to ride my racing bicycle as often as possible in the weekend as long as the weather still allows me. For example this Sunday I’ll be doing a 105 km tour with a group of colleagues.
  2. Work has also been rather busy recently, there are some projects that are about the finish, so that means reports have to be finished etcetera.
  3. Last, but certainly not least, my son has changed his sleeping habit a bit, he goes to sleep a bit later than before the holidays. Which means I have more time to play with him in the evening, but of course that cuts down the time left for FS development. Not that I am complaining about that of course.

So now you know why the development is a bit slower recently. I still try to check and fix reported bugs as soon as I can. And probably when autumn starts I should have more time to work on planned new features as well. So let me go back to some bug fixing now…

FSDS objects and smoothing

Unlike many other formats the FSDS FSC format does not store the normal of each vertex separately. This means a little more work for me when reading the format when polygons are smooth shaded. Until now the FSC importer just ignored the fact that some polygons are smooth shaded. But I have changed that now.

In the next development release the smooth shaded polygons are supported as well. ModelConverterX will average the normals of all polygons that meet at a certain location when they are smooth shaded. That results in a smooth shaded effect. I am not sure if this is exactly the same way as FSDS exports the smooth shaded polygons to a FS2004 or FSX MDL file, but it seems to work well. Below you see a picture of a model that has smooth shaded polygons and as you can see the normals appear as you would affect.

Next step is to detect when an object is smooth shaded, so that I can also support writing this attribute to a FSC file. But that’s for a next update.

Image2013-09-09 2120.06.675

Back home again

image

For the last three weeks this was the scenerydesign.org headquarters. Needless to say I didn’t spend much time on flightsim at all. We had a great holiday in Normandy and Bretagne. I’ll probably spend a day or two to unpack, clean and store all vacation stuff again, and after that I’ll be turning my attention to flightsim again as well.

Luckily not to many new bugs were reported during my holiday. So my plan is to finish some of the work in progress that I started before the vacation. But who knows these priorities change again when I catch up with all forum discussions.

Is it easy to waste performance?

Let me start with the answer to the question I posed in the title: YES.

Earlier this week I introduced a scenProc update that could handles holes in shapefile polygons. This new features used the functions I have to do boolean operations on polygons. Things like intersect or subtract two polygons. This functionality is also used in the ground polygon wizard of ModelConverterX or in the SPLITGRID step of scenProc. Initially I noticed that loading the shapefiles with holes took quite a bit longer than loaded the shapefiles before.

So time to have a look where that extra time was spend. Not really surprisingly it was inside my boolean functions. After I used a profiler to see in which functions most time was spend (it is always in the functions that you don’t expect), I was able to optimize the algorithm quite a bit more.

So compared to the beginning of the week, my boolean functions have become at least 6 times quicker. That will not only be useful when importing shapefiles with holes, but also when performing the SPLITGRID step. So I hope you enjoy the extra speed.

Looking for presenters

As FSDeveloper we are trying to organize an online conference for FS developers, with the aim to share techniques, knowledge and just have fun. We are now one step closer to organizing this conference, as we have our call for presenters ready. So do you have a topic that you would like to talk about for other developers, let us know!

Features with holes

Holes are often used in shapefiles, for example to mark an island in an water polygon or to mark a clearing in a forest polygon. Until now scenProc did not support holes, so they were ignored when importing shapefiles. As a result of this the autogen generated would not be correct.

The scenProc code that handles the splitting of features into the autogen grid does not know about holes and also the autogen polygons in the AGN file don’t know the concept of holes. So therefore I have added functionality to the SHP importer to remove them. Instead a cut is made in the polygon, so that the entire shape can still be represented as one polygon. After that they can be processed like any other shapefile.

Interestingly you can have island within holes again (and that island can have a hole of itself). scenProc should be able to handle such situations as well, as you can see in the picture below. Although I haven’t tested it to the extreme.

The new functionality will come at a small performance cost. When importing features with holes scenProc has to do additional work to correctly represent them. So for complex files this can increase the loading time a bit. But of course you get support for the holes in return.

If you still have a file with holes that doesn’t work correctly please let me know.

holes