<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Arno Gerretsen : Programming</title><link>http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx</link><description>Tags: Programming</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>LOD Creator improvements</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2009/10/18/lod-creator-improvements.aspx</link><pubDate>Sun, 18 Oct 2009 11:29:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1733133</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1733133</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2009/10/18/lod-creator-improvements.aspx#comments</comments><description>&lt;p&gt;The functionality in ModelConverterX to create lower level of detail versions of a model was running very slow for complex objects. I have not fixed that completely (yet), but I have made some changes to this functionality that should at least make it easier to work with. The calculation that simplifies the object is now running on a different thread, so that at least the rest of the tool should remain more responsive. I have also added a progress bar, so that you can see how far in the simplification process the tool is already. See the screenshot of the new dialog below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/arnogerretsen/7870.Image2009_2D00_10_2D00_18-1332.42.999.jpg"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/arnogerretsen/7870.Image2009_2D00_10_2D00_18-1332.42.999.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As you might see there are some more changes. I have removed the 3D preview from the LOD Creator dialog. Instead the mean 3D preview is used now to display the result of the LOD Creator dialog. You can still select the LOD you want to see from the LOD Creator dialog though.&lt;/p&gt;
&lt;p&gt;Optimizing the simplication code further, so that it will run faster is still on my todo list. But at the moment I am also busy with preparing for the new gPoly ground polygon tool. So I am not sure which one will get my attention first. Now that I am talking about the gPoly tool, I would still be happy to receive &lt;a href="http://www.fsdeveloper.com/forum/forumdisplay.php?f=110"&gt;your input&lt;/a&gt; on what you would like to see in a tool for custom ground polygons.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1733133" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Visual+databases/default.aspx">Visual databases</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FS2004/default.aspx">FS2004</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/ModelConverterX/default.aspx">ModelConverterX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/gPoly/default.aspx">gPoly</category></item><item><title>Unions</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2009/09/27/unions.aspx</link><pubDate>Sun, 27 Sep 2009 17:28:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1727634</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1727634</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2009/09/27/unions.aspx#comments</comments><description>&lt;p&gt;You could say that recently unions have played a role in my life. First there has been my wedding one and a half week ago of course, forming a nice union between me and my wife. But that is not what I want to talk about in this blog post.&lt;/p&gt;
&lt;p&gt;I have also been working on some code that allows me to do boolean operations between polygons. This functionality is something that will come in handy when I start working on my new &lt;a href="http://msmvps.com/blogs/arnogerretsen/archive/2009/09/27/looking-for-input-on-a-new-ground-polygon-tool.aspx"&gt;ground polygon tool&lt;/a&gt;, It can for example be used to automatically slice the polygons into piece of no more than 100 meters, so that there are no problems with the curvation of the earth within FSX.&lt;/p&gt;
&lt;p&gt;Below you see a screenshot of my test application, where I am testing out these boolean functions. The red polygon is polygon A and the green one is polygon B. The four small pictures below show in grey the union of A and B, the intersection of A and B, polygon A minus B and polygon B minus A respectively.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/arnogerretsen/2514.boolean_5F00_operations.jpg"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/arnogerretsen/2514.boolean_5F00_operations.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At first I looked around for some library that implements this functionality and although some exist, I still decided to code it myself in the end. The main reason for that was that I wanted to understand how the process works and that why learn a bit more from it (although it might not always be the easiest way). So in the end I used the algorithms described in &lt;a href="http://www.amazon.com/Geometric-Computer-Graphics-Morgan-Kaufmann/dp/1558605940/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1254073541&amp;amp;sr=8-1"&gt;Geometric tools for computer graphics&lt;/a&gt; and make my own implementation, building further onto for example the polygon class I had already made for ModelConverterX.&lt;/p&gt;
&lt;p&gt;The boolean operations are not completely bug free yet, I have already found a few polygons that are not processed correctly. So there is still some more work to do and after that I will start with creating the tool for ground polygons that can make use of this logic. So I still have much more fun ahead...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1727634" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/General/default.aspx">General</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/gPoly/default.aspx">gPoly</category></item><item><title>Reading of textures</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2008/11/16/reading-of-textures.aspx</link><pubDate>Sun, 16 Nov 2008 12:33:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1654253</guid><dc:creator>arno</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1654253</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2008/11/16/reading-of-textures.aspx#comments</comments><description>&lt;p&gt;A little while ago I already wrote about the fact that I was working on my own texture loaders for the ModelConverterX tool. I have now finished the first versions of the loaders I find most important for the tool. I say first, as I am sure some bugs will be surfacing when they are used by more users. So I have now made loaders for the DDS, BMP and R8 format.&lt;/p&gt;
&lt;p&gt;The DDS format is common in FSX and I can now read DXT1, DXT3 and DXT5 variants. Figuring out what their difference on the binary level are was very interesting to understand how the compression of those files work by the way. I think I should make a little Wiki or blog article about the things I learned, as that would help a lot of other users as well in understanding which format to choose in which case.&lt;/p&gt;
&lt;p&gt;For the BMP format I can read the normal 8, 24 and 32 bit BMP files, but also the ones with DXT compression that were used in previous version of Flight Simulator. I am sure there are some other compressions that are sometimes used for FS as well, but I did not yet encounter these in my own collection of test models.&lt;/p&gt;
&lt;p&gt;Finally there is the R8 format. If you still remember these textures you are around for a while, as it is the format used by FS5. Basically it is a RAW file with indices into the FS5 colour palette. A wide range of extensions was used for these textures, not only R8, but also PAT, 0AF, 1AF, ..., or any other extension the designer could think of. I can now read those textures in ModelConverterX and display them in the preview for old API macros that still use them. Maybe it would be a good idea to convert these old textures to a more modern format when you export to FSX MDL again.&lt;/p&gt;
&lt;p&gt;So that is an update on my texture reading progress, I am now looking forward to tackle some of the other wishes still on my wishlist for the next version.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1654253" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/ModelConverterX/default.aspx">ModelConverterX</category></item><item><title>Texture file formats</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2008/11/02/texture-file-formats.aspx</link><pubDate>Sun, 02 Nov 2008 14:25:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1652821</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1652821</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2008/11/02/texture-file-formats.aspx#comments</comments><description>&lt;p&gt;Loading the textures files into the ModelConverterX tool is something that has given me quite some challenges already. I have used different libraries for it already and all of them gave me some trouble. At the moment I am using the library by Martin Wright and although this one can read all the files I want, it is not a very fast library. So this makes the loading of models relatively slow.&lt;/p&gt;
&lt;p&gt;That is why I decided to have a look at how the different texture formats exactly work and see if I could create my own texture file loaders. At the moment I have been studying the BMP and DDS formats. Creating a loader for those formats was not so hard, so at the moment I can read these formats. This should allow loading most of the texture formats used by Flight Simulator.&lt;/p&gt;
&lt;p&gt;Only the R8 format is still on my todo list, as this is still used by older API macros that the tool should be able to convert. Maybe it is a good idea then to convert the textures to the DDS format when exporting to FSX MDL files.&lt;/p&gt;
&lt;p&gt;I still have to test my new loaders with some more models, to see if there are not some &amp;quot;exotic&amp;quot; variants in use that I can not yet read at the moment. But all together it has been quite interesting to study those formats and gave me a lot of useful background information on how they work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1652821" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/ModelConverterX/default.aspx">ModelConverterX</category></item><item><title>ModelConverterX and x64</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2008/09/14/modelconverterx-and-x64.aspx</link><pubDate>Sun, 14 Sep 2008 18:27:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1647757</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1647757</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2008/09/14/modelconverterx-and-x64.aspx#comments</comments><description>&lt;p&gt;Just after the release of the new ModelConverterX version, fellow MVP &lt;a href="http://lkalamaras.blogspot.com/"&gt;Lefteris&lt;/a&gt; reported the first bug to me. That in itself was not so weird, as there have been many bugs reported during the previous testing phases. But the bug that was reported was a bit unusual. It seemed the tool did not run on 64 bit Vista. I guess that was a combination that had not been tried before during the alpha testing. After some testing we were fortunately able to locate the problem and I have produced a fix for it now. The new version, that also works on 64 bit systems, is available from the tread at the forum.&lt;/p&gt;
&lt;p&gt;This bug is the first time that I had problems with any of my tools on a 64 bit system. But I guess that was more lucky than whisdom, as I did not really consider what might go wrong on such a system. I guess from now on I will keep that in the back of my mind when working on the different tools. And if 64 bit systems get more common it might be time to have one installed for testing.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1647757" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/ModelConverterX/default.aspx">ModelConverterX</category></item><item><title>User interface and manuals</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2008/09/12/user-interface-and-manuals.aspx</link><pubDate>Fri, 12 Sep 2008 20:02:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1647645</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1647645</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2008/09/12/user-interface-and-manuals.aspx#comments</comments><description>&lt;p&gt;It&amp;#39;s already some days ago that I wrote that the next version of ModelConverterX is almost ready. One reason for the delay is that I got a cold this week and that reduced the amount of time I would like to spend behind the screen a bit.&lt;/p&gt;
&lt;p&gt;But another reason is that I, and I guess more developers, tend to forget how much time is needed to write or update the user manual. That process or also the process of creating a graphical user interface that is user friendly (and idiot proof) seems to take up more time when programming a tool like ModelConverterX than writing the actual logic of the tool. For example adding the functionallity of attached objects was not that hard, but making the dialog to edit such objects in a user friendly way took me more time.&lt;/p&gt;
&lt;p&gt;Of course I am saying that the user interface and the manual should get less attention to save some time, as without those two things it will be a lot more difficult for people to use the tool. And what is the purpose of making a tool when nobody can use it?&lt;/p&gt;
&lt;p&gt;I hope I can find the time this weekend though to finish that next release...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1647645" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/General/default.aspx">General</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/ModelConverterX/default.aspx">ModelConverterX</category></item><item><title>Real-time rendering</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2008/02/24/real-time-rendering.aspx</link><pubDate>Sun, 24 Feb 2008 16:06:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1523449</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1523449</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2008/02/24/real-time-rendering.aspx#comments</comments><description>Recently I bought an interesting book, &lt;a href="http://www.amazon.com/Real-Time-Rendering-2nd-Tomas-Moller/dp/1568811829"&gt;Real-time rendering&lt;/a&gt;. I have not completely finished reading this book, but it contains a lot of useful information. For example I have found there solutions for some problems I had while working on my ModelConverterX tool. But the explanation of how the rendering process works also give a better insight on what has an influence on the performance when rendering. This is not only interesting to understand better how FSX works, but that is also something I can use at work when dealing with our image generators there.&lt;br /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1523449" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/General/default.aspx">General</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Visual+databases/default.aspx">Visual databases</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Books/default.aspx">Books</category></item><item><title>Triangulation</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2008/01/27/triangulation.aspx</link><pubDate>Sun, 27 Jan 2008 21:22:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1483033</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1483033</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2008/01/27/triangulation.aspx#comments</comments><description>&lt;p&gt;Today I did some more work on the ModelConverterX tool again. There were some complex polygons that were not converted into triangles correctly, so I had to improve the triangulation algorithm. I did make such an algorithm a while ago for another tool, but that one was for 2D polygons only. So I had to convert it into 3D to work correctly with 3D objects.&lt;/p&gt;&lt;p&gt;This turned out to be a lot of fun in the end. With some nice vector and matrix manipulations&amp;nbsp; it seems you don&amp;#39;t even need that much code to triangulate a polygon. And it was a good reason to refresh some of my math skills again.&lt;/p&gt;&lt;p&gt;So that is another problem less, there are still some problems left with the normals and the sides of the polygons being drawn. Once these are solved I hope to release a new alpha version, as there have been quite some improvements by now.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1483033" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/ModelConverterX/default.aspx">ModelConverterX</category></item><item><title>Tango Desktop Project</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2007/12/29/tango-desktop-project.aspx</link><pubDate>Sat, 29 Dec 2007 14:02:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1425487</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1425487</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2007/12/29/tango-desktop-project.aspx#comments</comments><description>&lt;p&gt;Today I was looking around on the web for some icons to use in the ModelConverterX tool. Of course there are a lot of places where you can buy very expensive icons to use in your application, but that was not really what I was looking for. In the end I came across the &lt;a href="http://tango.freedesktop.org/Tango_Desktop_Project"&gt;Tango Desktop Project&lt;/a&gt;, a project with the aim to help create a consistent graphical user interface experience for free and Open Source software. They have a nice set of icons and I think you will see some of them appear in my tools in the future. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1425487" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Working with the GeoTIFF library</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2007/08/22/working-with-the-geotiff-library.aspx</link><pubDate>Wed, 22 Aug 2007 17:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1131404</guid><dc:creator>arno</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1131404</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2007/08/22/working-with-the-geotiff-library.aspx#comments</comments><description>&lt;p&gt;I came across this interesting &lt;a href="http://www.codeguru.com/cpp/g-m/bitmap/viewers/article.php/c9187__1/"&gt;article&lt;/a&gt; on how to use the GeoTIFF library today. This might be of interest for FS scenery tool designers as well, since the GeoTIFF format can now be used with the FsX resample. So that makes the GeoTIFF format also interesting for background images in tools for example.&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1131404" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category></item><item><title>GFL SDK</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2007/07/05/gfl-sdk.aspx</link><pubDate>Thu, 05 Jul 2007 20:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1003365</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=1003365</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2007/07/05/gfl-sdk.aspx#comments</comments><description>&lt;p&gt;Loading in all the different kind of textures that FS supports in a tool can be a quite challenging task. Some scenery object use 8 bit textures, others 32 bit, or compressed DXT textures. Some objects even still use the old RAW textures with a palette. And in FsX the DDS format has been added to this long list.&lt;/p&gt;&lt;p&gt;For my MDL Tweaker tool I have used the graphical DLL files by Martin Wright to help me reading the different (compressed) textures that FS supports. But yesterday when working on ModelConverterX I can across another library that can also help me with this subject, &lt;a href="http://perso.orange.fr/pierre.g/xnview/engfl.html"&gt;GFL SDK&lt;/a&gt;. This is the library that is behind the &lt;a href="http://perso.orange.fr/pierre.g/xnview/enhome.html"&gt;XnView&lt;/a&gt; thumbnail viewer as well. Using this library made my job of loading textures a lot easier and the library also provides some functionality to edit the textures (in case I ever need that).&lt;/p&gt;&lt;p&gt;So if you are having trouble with loading all those different texture formats in your tool, you might want to check out this nice library as well.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1003365" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FSX/default.aspx">FSX</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category></item><item><title>COLLADA</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2007/05/07/collada.aspx</link><pubDate>Mon, 07 May 2007 19:33:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:893769</guid><dc:creator>arno</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=893769</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2007/05/07/collada.aspx#comments</comments><description>&lt;p&gt;For the new model conversion tool I am working on at the moment, I took a closer look at the &lt;a href="http://www.collada.org/"&gt;COLLADA&lt;/a&gt; format this weekend. COLLADA is an open standard Digital Asset
			schema for interactive 3D applications. It can for example be used as an exchange format to share models between different tools. That is also the role in which I want to use it in my tool. There are for example COLLADA plugins for tools like 3DSMax and Maya, but also Blender can work with it.&lt;/p&gt;&lt;p&gt;I think that it would be useful to have the ability to convert COLLADA files to FsX MDL files, so that more models can be used with FsX. And also the reverse conversion might be useful if that allows you to edit your models easier (but I have not looked deep into that yet).&lt;/p&gt;&lt;p&gt;So a COLLADA importer/exporter is certainly on the todo list for my new tool. But it does not have the highest priority at the moment. The first features I want to have working is importing old API macros and being able to save them again as MDL obect. As that is the main purpose of this tool. After that I&amp;#39;ll see what other cool features can be added to it.&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=893769" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Visual+databases/default.aspx">Visual databases</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category></item><item><title>No math?</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2006/04/12/no-math.aspx</link><pubDate>Wed, 12 Apr 2006 21:35:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:97392</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=97392</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2006/04/12/no-math.aspx#comments</comments><description>The last two days I posted rather positive about those new animation macros I was writing. Today I am a little less positive, as it seems I have hit a limit of BGLC/MASM (as far as I know BGLC is build on MASM).&lt;br /&gt;&lt;br /&gt;It seems I can only do very simple mathematical calculations in those macros. But to do fun stuff, I need more than a sum or a multiplication. I would like to calculate square roots and cosines as well. So I guess I need to do a little more research if such functions are available in MASM or if I can add them easily.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=97392" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Scenery+design/default.aspx">Scenery design</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category></item><item><title>OGR</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2006/02/08/ogr.aspx</link><pubDate>Wed, 08 Feb 2006 19:43:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:97418</guid><dc:creator>arno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=97418</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2006/02/08/ogr.aspx#comments</comments><description>The last few days I have been using the OGR library at work. As the website says, it is a Simple Feature Library. It allows you to rather easy read, manipulate and write vector features in different file formats (for example DXF or SHP).&lt;br /&gt;&lt;br /&gt;This can be very useful, as you do not have to create your own file format parser, as I did for my DXF2SCA tool. And the manipulation of the vector data is really nice. At work we for example use the union function to make one&amp;nbsp; big polygon out of different taxiway segments. And the buffer function is used to calculate a grass area around all features of an airport. This way we can rather easy make some generic airports for our visual databases.&lt;br /&gt;&lt;br /&gt;I think I will also give this library a try for my next (updated) version of DXF2SCA. That could certainly save me some coding and allows me to focus on the scenery output for FS, instead of reading a certain file format.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=97418" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/GIS/default.aspx">GIS</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FS2004/default.aspx">FS2004</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category></item><item><title>OpenFlight</title><link>http://msmvps.com/blogs/arnogerretsen/archive/2005/12/13/openflight.aspx</link><pubDate>Tue, 13 Dec 2005 22:11:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:97431</guid><dc:creator>arno</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/arnogerretsen/rsscomments.aspx?PostID=97431</wfw:commentRss><comments>http://msmvps.com/blogs/arnogerretsen/archive/2005/12/13/openflight.aspx#comments</comments><description>I want to start with a little warning. I am afraid this post is going to be rather long, so if you are already desperately in need of coffee now, you&amp;#39;d better get a cup before reading the rest of this.&lt;br /&gt;&lt;br /&gt;So what is this OpenFlight you are talking about you might think? OpenFlight is not some sort of open source Flight Simulator or so. No it is a very common format to store your scenery in, for professional flight simulators. In this article I want to talk about the similarities between this format and the BGL format of Flight Simulator. And also about my attempts to make a converter between the two formats. Let&amp;#39;s get started.&lt;br /&gt;&lt;br /&gt;The OpenFlight format has been create by &lt;a href="http://multigen.com/products/standards/openflight/index.shtml"&gt;MultiGen-Paradigm&lt;/a&gt; and is very common in real flightsimulators. At work we also make use of this format to store our visual databases (or scenery as most of you will know it). Rather soon after I started on my job, I had to learn more about the OpenFlight format, as I wanted to create a few tools to make our work easier. As I can almost dream the FS BGL/MDL format by now, it was rather logical that I compared this new format for me to what I knew. Slightly to my surprise a lot of things are almost the same. All materials are defined with the same properties (diffuse, ambient, specular and emissive colors for example) and the way to to store vertices and create triangles using them is also very similar.&lt;br /&gt;&lt;br /&gt;The biggest difference for me was, that the OpenFlight format is a sort of a database. So each polygon has a few vertex nodes as children. And as a parent the polygon node can for example have a group, object or LOD node. This makes the structure of your object a lot clearer. A downside of this, is that the file format itself takes more diskspace. While learning about OpenFlight, I started to understand that MS has chosen a nice compact format to store the objects in.&lt;br /&gt;&lt;br /&gt;There is another difference I should note. When I am talking about FS BGL/MDL files, I am talking about the object files mainly. The terrain has its own BGL format in FS, which has its own logic. In the OpenFlight format we usually create an entire database in one file (or a set of files that are linked together). So you have terrain, roads, 3D objects, airport all defined in the same file. As a result of this, the structure of your file is much more important, when trying to optimize your scenery. In FS scenery the MDL files usually contain only one object, so that makes their structure less important. All the placement is done with different (XML based) code and that has its own logic and structure again (I won&amp;#39;t start to talk about that as well here).&lt;br /&gt;&lt;br /&gt;At work we were working on a database for Schiphol, the airport of Amsterdam. And because I had already created a FS scenery for this airport (as part of the NL2000 scenery team), the question soon came if we could not convert some of those 3D objects for use in the real flight simulator. One of the other NL2000 members had already created a converter the could create OpenFlight files from SCASM source code. But as we had created these objects with Fs2004 MDL files, they could not be decompiled to SCASM code. I had also started with the new version of my MDL Tweaker tool (which contains a nice MDL loader) at that moment, I decided that it would be cool if I could also add an OpenFlight export function to it.&lt;br /&gt;&lt;br /&gt;In theory this conversion is not that hard. You have an object, that contains of a collection of vertices, materials, textures and triangles and you need to read the MDL format and write the geometry to the OpenFlight format. And the logic behind the conversion was indeed finished rather soon. But then the trouble started for me. I had to code this logic. The API provided with the OpenFlight format provides functions to create an OpenFlight file, but unfortunately for me these are in C++. And because I still need to find an easy way to create a nice GUI in C++, I am coding my MDL Tweaker project in Visual Basic.&lt;br /&gt;&lt;br /&gt;So I first tried to use the functions of this API in Visual Basic. I won&amp;#39;t bother you with all technical details, but it proved to be more difficult then I had expected. Either the export function worked correctly, but crashed on big MDL files, or it worked on big files, but the properties in the OpenFlight format were not set correctly. So a few days ago, I decided that it would be easier if I wrote directly to the binary OpenFlight format from MDL Tweaker. A good discription of this binary format is luckily available.&lt;br /&gt;&lt;br /&gt;So just this evening, I was able to finish that part of MDL Tweaker and the good news is that now everything works fine. So I can create OpenFlight files from my MDL scenery objects created with GMax. Now you also know the reason for the delay of a new alpha version of MDL Tweaker. The last few weeks I have mainly been busy to implement this new function (I could not accept that it did not work as I wanted).&lt;br /&gt;&lt;br /&gt;After reading all this, you might think what can I do with all this? The answer for most of you is probably that the OpenFlight format is not of very much use to you. But if you want to play with it a little bit, I would advice you to give &lt;a href="http://www.openscenegraph.org"&gt;OpenSceneGraph&lt;/a&gt; a try. The OSGViewer that comes with OpenSceneGraph is able to load OpenFlight (FLT) files. So after I have released the next alpha version of MDL Tweaker, you can view your own objects in the OpenFlight format is you ever wish to do so :).&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=97431" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Tools/default.aspx">Tools</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Visual+databases/default.aspx">Visual databases</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/FS2004/default.aspx">FS2004</category><category domain="http://msmvps.com/blogs/arnogerretsen/archive/tags/Programming/default.aspx">Programming</category></item></channel></rss>