<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.silentwings.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thomas</id>
	<title>Silent Wings Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.silentwings.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thomas"/>
	<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php/Special:Contributions/Thomas"/>
	<updated>2026-06-03T22:54:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=MediaWiki:Sidebar&amp;diff=1869</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=MediaWiki:Sidebar&amp;diff=1869"/>
		<updated>2017-04-30T18:21:14Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** http://www.silentwings.no|Silent Wings home&lt;br /&gt;
** http://meta.wikimedia.org/wiki/Help:Contents|help&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Forest_Data&amp;diff=1868</id>
		<title>Forest Data</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Forest_Data&amp;diff=1868"/>
		<updated>2014-03-28T07:36:16Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tree Types==&lt;br /&gt;
&lt;br /&gt;
A tree type defines which 3D model is used for this tree when rendering. There should be two different 3D models, one for up close rendering (model), and one for far away rendering (bb_model). The second should be only a flat billboard model.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 tree_type {&lt;br /&gt;
    id = 0&lt;br /&gt;
    model = fir.gng&lt;br /&gt;
    bb_model = fir_flat.gng&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
These models look for their texture files in the forest folder together with the .gng file.&lt;br /&gt;
&lt;br /&gt;
==Forest classes==&lt;br /&gt;
The forest classes tie the various tree types to different forest themes in the forest geodata. Each forest class consists of an optional code tieing it to the geodata and two arrays linking tree types to probabilities. If no code is given for the geodata, this class is used for all areas that have forest, regardless of the data value of the forest area. Here are a couple of examples:&lt;br /&gt;
&lt;br /&gt;
 forest_class {&lt;br /&gt;
    code       = 2&lt;br /&gt;
    tree_types = [ 0 ]&lt;br /&gt;
    tree_prob  = [ 1.0 ]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 forest_class {&lt;br /&gt;
    code       = 3&lt;br /&gt;
    tree_types = [ 0 1 ]&lt;br /&gt;
    tree_prob  = [ 0.5 0.5 ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this case we have one class that is used for the value 2 in the forest map data. This class consists only of tree type 0. We also have a class that is used for the data value 3 in the forest maps. Here we have a 50/50% chance of either tree type 0 or 1 in each tree cell.&lt;br /&gt;
&lt;br /&gt;
Another example:&lt;br /&gt;
&lt;br /&gt;
 forest_class {&lt;br /&gt;
    tree_types = [ 0 1 ]&lt;br /&gt;
    tree_prob  = [ 0.8 0.2 ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Here we have only one forest class that is used regardless of the value in the map data. We have 80% chance of type 0 trees and 20% chance of type 1. As long as there is data, this class is used. (This methid is only useful for polygonal forest maps).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Forest_Data&amp;diff=1867</id>
		<title>Forest Data</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Forest_Data&amp;diff=1867"/>
		<updated>2014-03-28T07:35:33Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Created page with &amp;#039;(Work in progress)   ==Tree Types==  A tree type defines which 3D model is used for this tree when rendering. There should be two different 3D models, one for up close rendering …&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tree Types==&lt;br /&gt;
&lt;br /&gt;
A tree type defines which 3D model is used for this tree when rendering. There should be two different 3D models, one for up close rendering (model), and one for far away rendering (bb_model). The second should be only a flat billboard model.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 tree_type {&lt;br /&gt;
    id = 0&lt;br /&gt;
    model = fir.gng&lt;br /&gt;
    bb_model = fir_flat.gng&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
These models look for their texture files in the forest folder together with the .gng file.&lt;br /&gt;
&lt;br /&gt;
==Forest classes==&lt;br /&gt;
The forest classes tie the various tree types to different forest themes in the forest geodata. Each forest class consists of an optional code tieing it to the geodata and two arrays linking tree types to probabilities. If no code is given for the geodata, this class is used for all areas that have forest, regardless of the data value of the forest area. Here are a couple of examples:&lt;br /&gt;
&lt;br /&gt;
 forest_class {&lt;br /&gt;
    code       = 2&lt;br /&gt;
    tree_types = [ 0 ]&lt;br /&gt;
    tree_prob  = [ 1.0 ]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 forest_class {&lt;br /&gt;
    code       = 3&lt;br /&gt;
    tree_types = [ 0 1 ]&lt;br /&gt;
    tree_prob  = [ 0.5 0.5 ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this case we have one class that is used for the value 2 in the forest map data. This class consists only of tree type 0. We also have a class that is used for the data value 3 in the forest maps. Here we have a 50/50% chance of either tree type 0 or 1 in each tree cell.&lt;br /&gt;
&lt;br /&gt;
Another example:&lt;br /&gt;
&lt;br /&gt;
 forest_class {&lt;br /&gt;
    tree_types = [ 0 1 ]&lt;br /&gt;
    tree_prob  = [ 0.8 0.2 ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Here we have only one forest class that is used regardless of the value in the map data. We have 80% chance of type 0 trees and 20% chance of type 1. As long as there is data, this class is used. (This methid is only useful for polygonal forest maps).&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1866</id>
		<title>Tile Models</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1866"/>
		<updated>2014-03-10T13:39:58Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A scenery can contain 3D models at specific georeferenced positions, such as buildings, bridges and other fixed structures.&lt;br /&gt;
&lt;br /&gt;
These models reside in the &amp;quot;models&amp;quot; subfolder of each scenery block. This folder should contain all the models in .gng format with their texture files int he models/textures subfolder. In addition the folder should contain a set of index files. These index files should be named tmRRRCCC.dat where RRR and CCC are the row and column numbers of the scenery tile these models belong in. &lt;br /&gt;
&lt;br /&gt;
The TM-file defines all models that are used in each tile, as well as the position and orientation of each instance of this model. For example:&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id   = 1&lt;br /&gt;
    file = norrak2k_0065.gng&lt;br /&gt;
    lat  = 59.7595976461&lt;br /&gt;
    lon  = 9.91826831515&lt;br /&gt;
    alt  = 2.83452878869&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 model {&lt;br /&gt;
    id   = 2&lt;br /&gt;
    file = windsock.gng&lt;br /&gt;
 }&lt;br /&gt;
   &lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.7597236675&lt;br /&gt;
    lon  = 9.91773279126&lt;br /&gt;
    alt  = 2.74537796015&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.757&lt;br /&gt;
    lon  = 10.001&lt;br /&gt;
    alt  = 0.0&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Here we have two models, a runway model called &amp;quot;norrak2k_0065.gng&amp;quot; and a windsock called &amp;quot;windsock.gng&amp;quot;. The windsock is used twice with different positions. First we define the model with a unique integer id and a file name, next we reference it twice with the same ID and the actual positions/orientations of each instance.&lt;br /&gt;
&lt;br /&gt;
Most of these parameters should be self-explanatory, but there are a couple of flags which can be useful to know about:&lt;br /&gt;
&lt;br /&gt;
    coosys = surface&lt;br /&gt;
&lt;br /&gt;
By default, the model is placed in geocentric coordinates, i.e. relative to a coordinate system centered in the earth&#039;s center where the X-axis points through the 0 meridian and equator, the z axis points up through the north pole, and the y axis points out somewhere in the indian ocean.&lt;br /&gt;
&lt;br /&gt;
Usually, however, you want to place the object relative to the earth&#039;s local surface around your object. To achieve this, add the above parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
&lt;br /&gt;
By default, the alt parameter is relative to ocean level. By adding this flag, the altitude is taken to be relative to the terrain surface in the location of the object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1865</id>
		<title>Tile Models</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1865"/>
		<updated>2014-03-10T13:29:45Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A scenery can contain 3D models at specific georeferenced positions, such as buildings, bridges and other fixed structures.&lt;br /&gt;
&lt;br /&gt;
These models reside in the &amp;quot;models&amp;quot; subfolder of each scenery block. This folder should contain all the models in .gng format with their texture files int he models/textures subfolder. In addition the folder should contain a set of index files. These index files should be named tmRRRCCC.dat where RRR and CCC are the row and column numbers of the scenery tile these models belong in. &lt;br /&gt;
&lt;br /&gt;
The TM-file defines all models that are used in each tile, as well as the position and orientation of each instance of this model. For example:&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id   = 1&lt;br /&gt;
    file = norrak2k_0065.gng&lt;br /&gt;
    lat  = 59.7595976461&lt;br /&gt;
    lon  = 9.91826831515&lt;br /&gt;
    alt  = 2.83452878869&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id   = 2&lt;br /&gt;
    file = windsock.gng&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.7597236675&lt;br /&gt;
    lon  = 9.91773279126&lt;br /&gt;
    alt  = 2.74537796015&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.757&lt;br /&gt;
    lon  = 10.001&lt;br /&gt;
    alt  = 0.0&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Here we have two models, a runway model called &amp;quot;norrak2k_0065.gng&amp;quot; and a windsock called &amp;quot;windsock.gng&amp;quot;. The windsock is used twice with different positions. First we define the model with a unique integer id and a file name, next we reference it twice with the same ID and the actual positions/orientations of each instance.&lt;br /&gt;
&lt;br /&gt;
Most of these parameters should be self-explanatory, but there are a couple of flags which can be useful to know about:&lt;br /&gt;
&lt;br /&gt;
    coosys = surface&lt;br /&gt;
&lt;br /&gt;
By default, the model is placed in geocentric coordinates, i.e. relative to a coordinate system centered in the earth&#039;s center where the X-axis points through the 0 meridian and equator, the z axis points up through the north pole, and the y axis points out somewhere in the indian ocean.&lt;br /&gt;
&lt;br /&gt;
Usually, however, you want to place the object relative to the earth&#039;s local surface around your object. To achieve this, add the above parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
&lt;br /&gt;
By default, the alt parameter is relative to ocean level. By adding this flag, the altitude is taken to be relative to the terrain surface in the location of the object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1864</id>
		<title>Tile Models</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1864"/>
		<updated>2014-03-10T13:28:49Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A scenery can contain 3D models at specific georeferenced positions, such as buildings, bridges and other fixed structures.&lt;br /&gt;
&lt;br /&gt;
These models reside in the &amp;quot;models&amp;quot; subfolder of each scenery block. This folder should contain all the models in .gng format as well as a set of index files. These index files should be named tmRRRCCC.dat where RRR and CCC are the row and column numbers of the scenery tile these models belong in. &lt;br /&gt;
&lt;br /&gt;
The TM-file defines all models that are used in each tile, as well as the position and orientation of each instance of this model. For example:&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id   = 1&lt;br /&gt;
    file = norrak2k_0065.gng&lt;br /&gt;
    lat  = 59.7595976461&lt;br /&gt;
    lon  = 9.91826831515&lt;br /&gt;
    alt  = 2.83452878869&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id   = 2&lt;br /&gt;
    file = windsock.gng&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.7597236675&lt;br /&gt;
    lon  = 9.91773279126&lt;br /&gt;
    alt  = 2.74537796015&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.757&lt;br /&gt;
    lon  = 10.001&lt;br /&gt;
    alt  = 0.0&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Here we have two models, a runway model called &amp;quot;norrak2k_0065.gng&amp;quot; and a windsock called &amp;quot;windsock.gng&amp;quot;. The windsock is used twice with different positions. First we define the model with a unique integer id and a file name, next we reference it twice with the same ID and the actual positions/orientations of each instance.&lt;br /&gt;
&lt;br /&gt;
Most of these parameters should be self-explanatory, but there are a couple of flags which can be useful to know about:&lt;br /&gt;
&lt;br /&gt;
    coosys = surface&lt;br /&gt;
&lt;br /&gt;
By default, the model is placed in geocentric coordinates, i.e. relative to a coordinate system centered in the earth&#039;s center where the X-axis points through the 0 meridian and equator, the z axis points up through the north pole, and the y axis points out somewhere in the indian ocean.&lt;br /&gt;
&lt;br /&gt;
Usually, however, you want to place the object relative to the earth&#039;s local surface around your object. To achieve this, add the above parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
&lt;br /&gt;
By default, the alt parameter is relative to ocean level. By adding this flag, the altitude is taken to be relative to the terrain surface in the location of the object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1863</id>
		<title>Tile Models</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tile_Models&amp;diff=1863"/>
		<updated>2014-03-10T13:28:35Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Created page with &amp;#039;A scenery can contain 3D models at specific georeferenced positions, such as buildings, bridges and other fixed structures.  These models reside in the &amp;quot;models&amp;quot; subfolder of each…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A scenery can contain 3D models at specific georeferenced positions, such as buildings, bridges and other fixed structures.&lt;br /&gt;
&lt;br /&gt;
These models reside in the &amp;quot;models&amp;quot; subfolder of each scenery block. This folder should contain all the models in .gng format as well as a set of index files. These index files should be named tmRRRCCC.dat where RRR and CCC are the row and column numbers of the scenery tile these models belong in. &lt;br /&gt;
&lt;br /&gt;
The TM-file defines all models that are used in each tile, as well as the position and orientation of each instance of this model. For example:&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id   = 1&lt;br /&gt;
    file = norrak2k_0065.gng&lt;br /&gt;
    lat  = 59.7595976461&lt;br /&gt;
    lon  = 9.91826831515&lt;br /&gt;
    alt  = 2.83452878869&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id   = 2&lt;br /&gt;
    file = windsock.gng&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.7597236675&lt;br /&gt;
    lon  = 9.91773279126&lt;br /&gt;
    alt  = 2.74537796015&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 model {&lt;br /&gt;
    id = 2&lt;br /&gt;
    lat  = 59.757&lt;br /&gt;
    lon  = 10.001&lt;br /&gt;
    alt  = 0.0&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
    rx   = 0&lt;br /&gt;
    ry   = 0&lt;br /&gt;
    rz   = 0&lt;br /&gt;
    coosys = surface&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Here we have two models, a runway model called &amp;quot;norrak2k_0065.gng&amp;quot; and a windsock called &amp;quot;windsock.gng&amp;quot;. The windsock is used twice with different positions. First we define the model with a unique integer id and a file name, next we reference it twice with the same ID and the actual positions/orientations of each instance.&lt;br /&gt;
&lt;br /&gt;
Most of these parameters should be self-explanatory, but there are a couple of flags which can be useful to know about:&lt;br /&gt;
&lt;br /&gt;
    coosys = surface&lt;br /&gt;
&lt;br /&gt;
By default, the model is placed in geocentric coordinates, i.e. relative to a coordinate system centered in the earth&#039;s center where the X-axis points through the 0 meridian and equator, the z axis points up through the north pole, and the y axis points out somewhere in the indian ocean.&lt;br /&gt;
&lt;br /&gt;
Usually, however, you want to place the object relative to the earth&#039;s local surface around your object. To achieve this, add the above parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    rel_gnd = true&lt;br /&gt;
&lt;br /&gt;
By default, the alt parameter is relative to ocean level. By adding this flag, the altitude is taken to be relative to the terrain surface in the location of the object.&lt;br /&gt;
&lt;br /&gt;
[Category:Scenery]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=UDP_Output&amp;diff=1862</id>
		<title>UDP Output</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=UDP_Output&amp;diff=1862"/>
		<updated>2012-02-05T00:11:06Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Debugging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Note: This feature is implemented in Silent Wings 1.08. It will not work with earlier versions&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Silent Wings can output various flight data to a configurable UDP socket. This can be useful for add-on developers and cockpit builders. Specifically, we support the Simmeters protocol for output of flight data to [http://www.simmeters.com Simmeters] instrument panels. In addition, we support the Condor format and our own binary format.&lt;br /&gt;
&lt;br /&gt;
The following options in the &amp;quot;options.dat&amp;quot; file control the UDP protocol settings.&lt;br /&gt;
&lt;br /&gt;
 use_output_udp      = true&lt;br /&gt;
 output_udp_protocol = simmeters&lt;br /&gt;
 output_udp_address  = localhost&lt;br /&gt;
 output_udp_port     = 6060&lt;br /&gt;
 output_udp_rate     = 30&lt;br /&gt;
&lt;br /&gt;
== Simmeters Protocol ==&lt;br /&gt;
&lt;br /&gt;
== Condor Protocol ==&lt;br /&gt;
&lt;br /&gt;
To enable it, use the option&lt;br /&gt;
&lt;br /&gt;
    output_udp_protocol = condor&lt;br /&gt;
&lt;br /&gt;
The Condor protcol consists of a bunch of strings on the format TAG=VALUE. The values sent by Silent Wings are (without the &amp;lt;&amp;gt; brackets):&lt;br /&gt;
&lt;br /&gt;
 time=&amp;lt;decimal hours&amp;gt;&lt;br /&gt;
 airspeed=&amp;lt;absolute airspeed&amp;gt;&lt;br /&gt;
 altitude=&amp;lt;altitude&amp;gt;&lt;br /&gt;
 vario=&amp;lt;variometer value [1]&amp;gt;&lt;br /&gt;
 evario=&amp;lt;variometer values [1]&amp;gt;&lt;br /&gt;
 nettovario=&amp;lt;netto vario&amp;gt;&lt;br /&gt;
 integrator=&amp;lt;integrated vario&amp;gt;&lt;br /&gt;
 compass=&amp;lt;compass heading&amp;gt;&lt;br /&gt;
 slipball=&amp;lt;ball angle (radians) [2]&amp;gt;&lt;br /&gt;
 turnrate=&amp;lt;rad/sec&amp;gt;&lt;br /&gt;
 yawstringangle=&amp;lt;radians&amp;gt;&lt;br /&gt;
 radiofrequency=&amp;lt;current comm frequency&amp;gt;&lt;br /&gt;
 yaw=&amp;lt;rotation about z axis, radians&amp;gt;&lt;br /&gt;
 pitch=&amp;lt;rotation about y axis, radians&amp;gt;&lt;br /&gt;
 bank=&amp;lt;rotation about x axis, radians&amp;gt;&lt;br /&gt;
 quaternionx=&amp;lt;quaternion representation of aircraft orientation, X component&amp;gt;&lt;br /&gt;
 quaterniony=&amp;lt;quaternion representation of aircraft orientation, Y component&amp;gt;&lt;br /&gt;
 quaternionz=&amp;lt;quaternion representation of aircraft orientation, Z component&amp;gt;&lt;br /&gt;
 quaternionw=&amp;lt;quaternion representation of aircraft orientation, W component&amp;gt;&lt;br /&gt;
 ax=&amp;lt;accelleration along X axis&amp;gt; &lt;br /&gt;
 ay=&amp;lt;accelleration along Y axis&amp;gt;&lt;br /&gt;
 az=&amp;lt;accelleration along Z axis&amp;gt;&lt;br /&gt;
 vx=&amp;lt;velocity along X axis (m/s)&amp;gt; &lt;br /&gt;
 vy=&amp;lt;velocity along Y axis (m/s)&amp;gt; &lt;br /&gt;
 vz=&amp;lt;velocity along Z axis (m/s)&amp;gt; &lt;br /&gt;
 rollrate=&amp;lt;radians/second around X axis&amp;gt;&lt;br /&gt;
 pitchrate=&amp;lt;radians/second around Y axis&amp;gt;&lt;br /&gt;
 yawrate=&amp;lt;radians/second around Z axis&amp;gt;&lt;br /&gt;
 gforce=&amp;lt;filtered g load&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note [1]: The first variometer value is filtered with a slow&lt;br /&gt;
filter to simulate a slower mechanical vario. The &amp;quot;evario&amp;quot; value&lt;br /&gt;
is the variometer value that is normally indicated in the&lt;br /&gt;
instrument panel.&lt;br /&gt;
&lt;br /&gt;
Note [2]: The slip ball  is calibrated to +/- 15 degrees in radians&lt;br /&gt;
&lt;br /&gt;
All coordinate values are given in aircraft body coordinates&lt;br /&gt;
which are defined as X forward, Y right and Z down.&lt;br /&gt;
&lt;br /&gt;
== Binary Protocol ==&lt;br /&gt;
&lt;br /&gt;
The binary protocol is the most compact, and gives the best precision, but can be harder to program and debug.&lt;br /&gt;
To enable it, use the option&lt;br /&gt;
&lt;br /&gt;
    output_udp_protocol = binary&lt;br /&gt;
&lt;br /&gt;
in the options.dat file.&lt;br /&gt;
&lt;br /&gt;
The binary protocol sends the following data:&lt;br /&gt;
&lt;br /&gt;
    unsigned int timestamp;          // Millisec  Timestamp&lt;br /&gt;
    double position_latitude;        // Degrees   Position latitude,&lt;br /&gt;
    double position_longitude;       // Degrees            longitude,&lt;br /&gt;
    float  altitude_msl;             // m         Altitude - relative to Sea-level&lt;br /&gt;
    float  altitude_ground;          // m         Altitude above gnd&lt;br /&gt;
    float  altitude_ground_45;       // m         gnd 45 degrees ahead (NOT IMPLEMENTED YET),&lt;br /&gt;
    float  altitude_ground_forward;  // m         gnd straight ahead (NOT IMPLEMENTED YET).&lt;br /&gt;
    float  roll;                     // Degrees&lt;br /&gt;
    float  pitch;                    // Degrees&lt;br /&gt;
    float  yaw;                      // Degrees&lt;br /&gt;
    float  d_roll                    // Deg/sec   Roll speed.&lt;br /&gt;
    float  d_pitch                   // Deg/sec   Pitch speed.&lt;br /&gt;
    float  d_yaw                     // Deg/sec   Yaw speed.&lt;br /&gt;
    float  vx                        // m/sec     Speed vector in body-axis&lt;br /&gt;
    float  vy &lt;br /&gt;
    float  vz                &lt;br /&gt;
    float  vx_wind                   // m/sec     Speed vector in body-axis, relative to wind&lt;br /&gt;
    float  vy_wind&lt;br /&gt;
    float  vz_wind &lt;br /&gt;
    float  v_eas                     // m/sec     Equivalent (indicated) air speed. &lt;br /&gt;
    float  ax                        // m/sec2    Acceleration vector in body axis&lt;br /&gt;
    float  ay&lt;br /&gt;
    float  az&lt;br /&gt;
    float  angle_of_attack;          // Degrees   Angle of attack&lt;br /&gt;
    float  angle_sideslip;           // Degrees   Sideslip angle&lt;br /&gt;
    float  vario                     // m/sec     TE-compensated variometer.&lt;br /&gt;
    float  heading                   // Degrees   Compass heading.&lt;br /&gt;
    float  rate_of_turn              // Deg/sec   Rate of turn.&lt;br /&gt;
    float  airpressure               // pascal    Local air pressure (at aircraft altitude).&lt;br /&gt;
    float  density                   // Air density at aircraft altitude.&lt;br /&gt;
    float  temperature               // Celcius   Air temperature at aircraft altitude.&lt;br /&gt;
&lt;br /&gt;
total size: 132 bytes&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
To check that you have everything correctly set up, you can use the &#039;nc&#039; or &#039;ncat&#039; command which is available on both windows and linux. On Windows it is distributed in the [http://nmap.org/download.html NMap] software.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have set the output to port 6060 you can type the following into a terminal window while Silent Wings is running:&lt;br /&gt;
&lt;br /&gt;
  ncat -l -u localhost 6060&lt;br /&gt;
&lt;br /&gt;
And the terminal window should be filled with the output of the protocol you have selected, for example with the condor protocol:&lt;br /&gt;
&lt;br /&gt;
 time=12.08&lt;br /&gt;
 airspeed=30.327&lt;br /&gt;
 altitude=1183.170&lt;br /&gt;
 vario=-0.850&lt;br /&gt;
 evario=-0.851&lt;br /&gt;
 nettovario=0.000&lt;br /&gt;
 integrator=-0.838&lt;br /&gt;
 compass=220.21&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=UDP_Output&amp;diff=1861</id>
		<title>UDP Output</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=UDP_Output&amp;diff=1861"/>
		<updated>2012-02-05T00:10:53Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Note: This feature is implemented in Silent Wings 1.08. It will not work with earlier versions&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Silent Wings can output various flight data to a configurable UDP socket. This can be useful for add-on developers and cockpit builders. Specifically, we support the Simmeters protocol for output of flight data to [http://www.simmeters.com Simmeters] instrument panels. In addition, we support the Condor format and our own binary format.&lt;br /&gt;
&lt;br /&gt;
The following options in the &amp;quot;options.dat&amp;quot; file control the UDP protocol settings.&lt;br /&gt;
&lt;br /&gt;
 use_output_udp      = true&lt;br /&gt;
 output_udp_protocol = simmeters&lt;br /&gt;
 output_udp_address  = localhost&lt;br /&gt;
 output_udp_port     = 6060&lt;br /&gt;
 output_udp_rate     = 30&lt;br /&gt;
&lt;br /&gt;
== Simmeters Protocol ==&lt;br /&gt;
&lt;br /&gt;
== Condor Protocol ==&lt;br /&gt;
&lt;br /&gt;
To enable it, use the option&lt;br /&gt;
&lt;br /&gt;
    output_udp_protocol = condor&lt;br /&gt;
&lt;br /&gt;
The Condor protcol consists of a bunch of strings on the format TAG=VALUE. The values sent by Silent Wings are (without the &amp;lt;&amp;gt; brackets):&lt;br /&gt;
&lt;br /&gt;
 time=&amp;lt;decimal hours&amp;gt;&lt;br /&gt;
 airspeed=&amp;lt;absolute airspeed&amp;gt;&lt;br /&gt;
 altitude=&amp;lt;altitude&amp;gt;&lt;br /&gt;
 vario=&amp;lt;variometer value [1]&amp;gt;&lt;br /&gt;
 evario=&amp;lt;variometer values [1]&amp;gt;&lt;br /&gt;
 nettovario=&amp;lt;netto vario&amp;gt;&lt;br /&gt;
 integrator=&amp;lt;integrated vario&amp;gt;&lt;br /&gt;
 compass=&amp;lt;compass heading&amp;gt;&lt;br /&gt;
 slipball=&amp;lt;ball angle (radians) [2]&amp;gt;&lt;br /&gt;
 turnrate=&amp;lt;rad/sec&amp;gt;&lt;br /&gt;
 yawstringangle=&amp;lt;radians&amp;gt;&lt;br /&gt;
 radiofrequency=&amp;lt;current comm frequency&amp;gt;&lt;br /&gt;
 yaw=&amp;lt;rotation about z axis, radians&amp;gt;&lt;br /&gt;
 pitch=&amp;lt;rotation about y axis, radians&amp;gt;&lt;br /&gt;
 bank=&amp;lt;rotation about x axis, radians&amp;gt;&lt;br /&gt;
 quaternionx=&amp;lt;quaternion representation of aircraft orientation, X component&amp;gt;&lt;br /&gt;
 quaterniony=&amp;lt;quaternion representation of aircraft orientation, Y component&amp;gt;&lt;br /&gt;
 quaternionz=&amp;lt;quaternion representation of aircraft orientation, Z component&amp;gt;&lt;br /&gt;
 quaternionw=&amp;lt;quaternion representation of aircraft orientation, W component&amp;gt;&lt;br /&gt;
 ax=&amp;lt;accelleration along X axis&amp;gt; &lt;br /&gt;
 ay=&amp;lt;accelleration along Y axis&amp;gt;&lt;br /&gt;
 az=&amp;lt;accelleration along Z axis&amp;gt;&lt;br /&gt;
 vx=&amp;lt;velocity along X axis (m/s)&amp;gt; &lt;br /&gt;
 vy=&amp;lt;velocity along Y axis (m/s)&amp;gt; &lt;br /&gt;
 vz=&amp;lt;velocity along Z axis (m/s)&amp;gt; &lt;br /&gt;
 rollrate=&amp;lt;radians/second around X axis&amp;gt;&lt;br /&gt;
 pitchrate=&amp;lt;radians/second around Y axis&amp;gt;&lt;br /&gt;
 yawrate=&amp;lt;radians/second around Z axis&amp;gt;&lt;br /&gt;
 gforce=&amp;lt;filtered g load&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note [1]: The first variometer value is filtered with a slow&lt;br /&gt;
filter to simulate a slower mechanical vario. The &amp;quot;evario&amp;quot; value&lt;br /&gt;
is the variometer value that is normally indicated in the&lt;br /&gt;
instrument panel.&lt;br /&gt;
&lt;br /&gt;
Note [2]: The slip ball  is calibrated to +/- 15 degrees in radians&lt;br /&gt;
&lt;br /&gt;
All coordinate values are given in aircraft body coordinates&lt;br /&gt;
which are defined as X forward, Y right and Z down.&lt;br /&gt;
&lt;br /&gt;
== Binary Protocol ==&lt;br /&gt;
&lt;br /&gt;
The binary protocol is the most compact, and gives the best precision, but can be harder to program and debug.&lt;br /&gt;
To enable it, use the option&lt;br /&gt;
&lt;br /&gt;
    output_udp_protocol = binary&lt;br /&gt;
&lt;br /&gt;
in the options.dat file.&lt;br /&gt;
&lt;br /&gt;
The binary protocol sends the following data:&lt;br /&gt;
&lt;br /&gt;
    unsigned int timestamp;          // Millisec  Timestamp&lt;br /&gt;
    double position_latitude;        // Degrees   Position latitude,&lt;br /&gt;
    double position_longitude;       // Degrees            longitude,&lt;br /&gt;
    float  altitude_msl;             // m         Altitude - relative to Sea-level&lt;br /&gt;
    float  altitude_ground;          // m         Altitude above gnd&lt;br /&gt;
    float  altitude_ground_45;       // m         gnd 45 degrees ahead (NOT IMPLEMENTED YET),&lt;br /&gt;
    float  altitude_ground_forward;  // m         gnd straight ahead (NOT IMPLEMENTED YET).&lt;br /&gt;
    float  roll;                     // Degrees&lt;br /&gt;
    float  pitch;                    // Degrees&lt;br /&gt;
    float  yaw;                      // Degrees&lt;br /&gt;
    float  d_roll                    // Deg/sec   Roll speed.&lt;br /&gt;
    float  d_pitch                   // Deg/sec   Pitch speed.&lt;br /&gt;
    float  d_yaw                     // Deg/sec   Yaw speed.&lt;br /&gt;
    float  vx                        // m/sec     Speed vector in body-axis&lt;br /&gt;
    float  vy &lt;br /&gt;
    float  vz                &lt;br /&gt;
    float  vx_wind                   // m/sec     Speed vector in body-axis, relative to wind&lt;br /&gt;
    float  vy_wind&lt;br /&gt;
    float  vz_wind &lt;br /&gt;
    float  v_eas                     // m/sec     Equivalent (indicated) air speed. &lt;br /&gt;
    float  ax                        // m/sec2    Acceleration vector in body axis&lt;br /&gt;
    float  ay&lt;br /&gt;
    float  az&lt;br /&gt;
    float  angle_of_attack;          // Degrees   Angle of attack&lt;br /&gt;
    float  angle_sideslip;           // Degrees   Sideslip angle&lt;br /&gt;
    float  vario                     // m/sec     TE-compensated variometer.&lt;br /&gt;
    float  heading                   // Degrees   Compass heading.&lt;br /&gt;
    float  rate_of_turn              // Deg/sec   Rate of turn.&lt;br /&gt;
    float  airpressure               // pascal    Local air pressure (at aircraft altitude).&lt;br /&gt;
    float  density                   // Air density at aircraft altitude.&lt;br /&gt;
    float  temperature               // Celcius   Air temperature at aircraft altitude.&lt;br /&gt;
&lt;br /&gt;
total size: 132 bytes&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
To check that you have everything correctly set up, you can use the &#039;nc&#039; or &#039;ncat&#039; command which is available on both windows and linux. On Windows it is distributed in the [http://nmap.org/download.html NMap] software.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have set the output to port 6060 you can type the following into a terminal window while Silent Wings is running:&lt;br /&gt;
&lt;br /&gt;
  ncat -l -u localhost 6060&lt;br /&gt;
&lt;br /&gt;
And the terminal window should be filled with the output of the protocol you have selected, for example with the condor protocol:&lt;br /&gt;
&lt;br /&gt;
 time=12.08&lt;br /&gt;
 airspeed=30.327&lt;br /&gt;
 altitude=1183.170&lt;br /&gt;
 vario=-0.850&lt;br /&gt;
 evario=-0.851&lt;br /&gt;
 nettovario=0.000&lt;br /&gt;
 integrator=-0.838&lt;br /&gt;
 compass=220.21&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Category:Aircraft_graphics_and_sounds&amp;diff=1860</id>
		<title>Category:Aircraft graphics and sounds</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Category:Aircraft_graphics_and_sounds&amp;diff=1860"/>
		<updated>2011-08-02T14:02:54Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Created page with &amp;#039;In order to edit the graphics models for the aircraft, you need the GngModeler application which can be downloaded here:  Windows:  http://download.silentwings.no/devtools/GngMod…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to edit the graphics models for the aircraft, you need the GngModeler application which can be downloaded here:&lt;br /&gt;
&lt;br /&gt;
Windows: &lt;br /&gt;
http://download.silentwings.no/devtools/GngModeler/GngModeler-1.07.exe &lt;br /&gt;
&lt;br /&gt;
Linux: &lt;br /&gt;
http://download.silentwings.no/devtools/GngModeler/GngModeler-1.07.tar.gz&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=UDP_Output&amp;diff=1858</id>
		<title>UDP Output</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=UDP_Output&amp;diff=1858"/>
		<updated>2011-04-19T21:59:48Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Note: This feature is implemented in Silent Wings 1.08. It will not work with earlier versions&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Silent Wings can output various flight data to a configurable UDP socket. This can be useful for add-on developers and cockpit builders. Specifically, we support the Simmeters protocol for output of flight data to [http://www.simmeters.com Simmeters] instrument panels. In addition, we support the Condor format and our own binary format.&lt;br /&gt;
&lt;br /&gt;
The following options in the &amp;quot;options.dat&amp;quot; file control the UDP protocol settings.&lt;br /&gt;
&lt;br /&gt;
 use_output_udp      = true&lt;br /&gt;
 output_udp_protocol = simmeters&lt;br /&gt;
 output_udp_address  = localhost&lt;br /&gt;
 output_udp_port     = 6060&lt;br /&gt;
 output_udp_rate     = 30&lt;br /&gt;
&lt;br /&gt;
== Simmeters Protocol ==&lt;br /&gt;
&lt;br /&gt;
== Condor Protocol ==&lt;br /&gt;
&lt;br /&gt;
The Condor protcol consists of a bunch of strings on the format TAG=VALUE. The values sent by Silent Wings are (without the &amp;lt;&amp;gt; brackets):&lt;br /&gt;
&lt;br /&gt;
 time=&amp;lt;decimal hours&amp;gt;&lt;br /&gt;
 airspeed=&amp;lt;absolute airspeed&amp;gt;&lt;br /&gt;
 altitude=&amp;lt;altitude&amp;gt;&lt;br /&gt;
 vario=&amp;lt;variometer value [1]&amp;gt;&lt;br /&gt;
 evario=&amp;lt;variometer values [1]&amp;gt;&lt;br /&gt;
 nettovario=&amp;lt;netto vario&amp;gt;&lt;br /&gt;
 integrator=&amp;lt;integrated vario&amp;gt;&lt;br /&gt;
 compass=&amp;lt;compass heading&amp;gt;&lt;br /&gt;
 slipball=&amp;lt;ball angle (radians) [2]&amp;gt;&lt;br /&gt;
 turnrate=&amp;lt;rad/sec&amp;gt;&lt;br /&gt;
 yawstringangle=&amp;lt;radians&amp;gt;&lt;br /&gt;
 radiofrequency=&amp;lt;current comm frequency&amp;gt;&lt;br /&gt;
 yaw=&amp;lt;rotation about z axis, radians&amp;gt;&lt;br /&gt;
 pitch=&amp;lt;rotation about y axis, radians&amp;gt;&lt;br /&gt;
 bank=&amp;lt;rotation about x axis, radians&amp;gt;&lt;br /&gt;
 quaternionx=&amp;lt;quaternion representation of aircraft orientation, X component&amp;gt;&lt;br /&gt;
 quaterniony=&amp;lt;quaternion representation of aircraft orientation, Y component&amp;gt;&lt;br /&gt;
 quaternionz=&amp;lt;quaternion representation of aircraft orientation, Z component&amp;gt;&lt;br /&gt;
 quaternionw=&amp;lt;quaternion representation of aircraft orientation, W component&amp;gt;&lt;br /&gt;
 ax=&amp;lt;accelleration along X axis&amp;gt; &lt;br /&gt;
 ay=&amp;lt;accelleration along Y axis&amp;gt;&lt;br /&gt;
 az=&amp;lt;accelleration along Z axis&amp;gt;&lt;br /&gt;
 vx=&amp;lt;velocity along X axis (m/s)&amp;gt; &lt;br /&gt;
 vy=&amp;lt;velocity along Y axis (m/s)&amp;gt; &lt;br /&gt;
 vz=&amp;lt;velocity along Z axis (m/s)&amp;gt; &lt;br /&gt;
 rollrate=&amp;lt;radians/second around X axis&amp;gt;&lt;br /&gt;
 pitchrate=&amp;lt;radians/second around Y axis&amp;gt;&lt;br /&gt;
 yawrate=&amp;lt;radians/second around Z axis&amp;gt;&lt;br /&gt;
 gforce=&amp;lt;filtered g load&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note [1]: The first variometer value is filtered with a slow&lt;br /&gt;
filter to simulate a slower mechanical vario. The &amp;quot;evario&amp;quot; value&lt;br /&gt;
is the variometer value that is normally indicated in the&lt;br /&gt;
instrument panel.&lt;br /&gt;
&lt;br /&gt;
Note [2]: The slip ball  is calibrated to +/- 15 degrees in radians&lt;br /&gt;
&lt;br /&gt;
All coordinate values are given in aircraft body coordinates&lt;br /&gt;
which are defined as X forward, Y right and Z down.&lt;br /&gt;
&lt;br /&gt;
== Binary Protocol ==&lt;br /&gt;
&lt;br /&gt;
The binary protocol is the most compact, and gives the best precision, but can be harder to program and debug.&lt;br /&gt;
To enable it, use the option&lt;br /&gt;
&lt;br /&gt;
    output_udp_protocol = binary&lt;br /&gt;
&lt;br /&gt;
in the options.dat file.&lt;br /&gt;
&lt;br /&gt;
The binary protocol sends the following data:&lt;br /&gt;
&lt;br /&gt;
    unsigned int timestamp;          // Millisec  Timestamp&lt;br /&gt;
    double position_latitude;        // Degrees   Position latitude,&lt;br /&gt;
    double position_longitude;       // Degrees            longitude,&lt;br /&gt;
    float  altitude_msl;             // m         Altitude - relative to Sea-level&lt;br /&gt;
    float  altitude_ground;          // m         Altitude above gnd&lt;br /&gt;
    float  altitude_ground_45;       // m         gnd 45 degrees ahead (NOT IMPLEMENTED YET),&lt;br /&gt;
    float  altitude_ground_forward;  // m         gnd straight ahead (NOT IMPLEMENTED YET).&lt;br /&gt;
    float  roll;                     // Degrees&lt;br /&gt;
    float  pitch;                    // Degrees&lt;br /&gt;
    float  yaw;                      // Degrees&lt;br /&gt;
    float  d_roll                    // Deg/sec   Roll speed.&lt;br /&gt;
    float  d_pitch                   // Deg/sec   Pitch speed.&lt;br /&gt;
    float  d_yaw                     // Deg/sec   Yaw speed.&lt;br /&gt;
    float  vx                        // m/sec     Speed vector in body-axis&lt;br /&gt;
    float  vy &lt;br /&gt;
    float  vz                &lt;br /&gt;
    float  vx_wind                   // m/sec     Speed vector in body-axis, relative to wind&lt;br /&gt;
    float  vy_wind&lt;br /&gt;
    float  vz_wind &lt;br /&gt;
    float  v_eas                     // m/sec     Equivalent (indicated) air speed. &lt;br /&gt;
    float  ax                        // m/sec2    Acceleration vector in body axis&lt;br /&gt;
    float  ay&lt;br /&gt;
    float  az&lt;br /&gt;
    float  angle_of_attack;          // Degrees   Angle of attack&lt;br /&gt;
    float  angle_sideslip;           // Degrees   Sideslip angle&lt;br /&gt;
    float  vario                     // m/sec     TE-compensated variometer.&lt;br /&gt;
    float  heading                   // Degrees   Compass heading.&lt;br /&gt;
    float  rate_of_turn              // Deg/sec   Rate of turn.&lt;br /&gt;
    float  airpressure               // pascal    Local air pressure (at aircraft altitude).&lt;br /&gt;
    float  density                   // Air density at aircraft altitude.&lt;br /&gt;
    float  temperature               // Celcius   Air temperature at aircraft altitude.&lt;br /&gt;
&lt;br /&gt;
total size: 132 bytes&lt;br /&gt;
&lt;br /&gt;
[[Category:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1857</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1857"/>
		<updated>2010-08-06T09:22:34Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|800px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
===getprotocolinfo===&lt;br /&gt;
&lt;br /&gt;
This command is normally used during startup of the client to get the protocol version number and&lt;br /&gt;
server time of the tracking server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;version&#039;&#039; Version number string. Should be 1.3 to be in compliance with this document.&lt;br /&gt;
* &#039;&#039;date&#039;&#039; Server date: YYYYMMDD&lt;br /&gt;
* &#039;&#039;time&#039;&#039; Server time in seconds since 1/1 1970&lt;br /&gt;
&lt;br /&gt;
=== getactivecontests ===&lt;br /&gt;
This command is used in the init phase to retrieve a list of available contests on the server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
 getactivecontests.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
 version=&amp;lt;version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Returns a list of available competitions on this server.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 {contestname}FAIGP2005{/contestname}{contestdisplayname}1st FAI Grand PrixMondial{/contestdisplayname}{datadelay}15{/datadelay}{utcoffset}+01:00{/utcoffset}&lt;br /&gt;
 {countrycode}FR{/countrycode}{site}St. Auban{/site}{fromdate}20050903{/fromdate}&lt;br /&gt;
 {todate}20050912{/todate}{lat}44.1959{/lat}{lon}5.98849{/lon}{alt}{/alt}&lt;br /&gt;
 {contestname}GawlerGrandPrix{/contestname}{contestdisplayname}Australian Gliding GrandPrix{/contestdisplayname}{datadelay}6{/datadelay}{utcoffset}+10:30{/utcoffset}&lt;br /&gt;
 {countrycode}AU{/countrycode}{site}Gawler{/site}{fromdate}20061228{/fromdate}&lt;br /&gt;
 {todate}20070106{/todate}{lat}-34.6{/lat}{lon}138.71{/lon}{alt}48{/alt}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;contestname&#039;&#039; Internal name for this contest. Should be a short name with no whitespace or special characters.&lt;br /&gt;
* &#039;&#039;contestdisplayname&#039;&#039; Full name of competition as it should be presented in the GUI of the application.&lt;br /&gt;
* &#039;&#039;datadelay&#039;&#039; Initial delay (in minutes) of the tracker data. This value can be changed at a later stage with the datadelay tag in the gettrackerdata command.&lt;br /&gt;
* &#039;&#039;utcoffset&#039;&#039; UTC Offset in HH:MM format at the contest site.&lt;br /&gt;
* &#039;&#039;countrycode&#039;&#039; ISO Country code at the contest site.&lt;br /&gt;
* &#039;&#039;site&#039;&#039; String – name of the contest site.&lt;br /&gt;
* &#039;&#039;lat,lon,alt&#039;&#039; Global position of contest site.&lt;br /&gt;
&lt;br /&gt;
=== getcontestinfo ===&lt;br /&gt;
This command is used in the init phase to get information about a given contest. This command can&lt;br /&gt;
return two different kinds of data depending on whether or not a date is given. If no date is given, a list&lt;br /&gt;
of contest days is returned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 getcontestinfo.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
 contestname=&amp;lt;contest name&amp;gt;&lt;br /&gt;
 date=&amp;lt;YYYYMMDD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If no date is given, a list of the available contest days is returned like this:&lt;br /&gt;
&lt;br /&gt;
 {date}20050903{/date}{task}1{/task}{validday}0{/validday}&lt;br /&gt;
 {date}20050904{/date}{task}1{/task}{validday}0{/validday}&lt;br /&gt;
 {date}20050907{/date}{task}1{/task}{validday}0{/validday}&lt;br /&gt;
 {date}20050909{/date}{task}1{/task}{validday}1{/validday}&lt;br /&gt;
 {date}20050910{/date}{task}1{/task}{validday}1{/validday}&lt;br /&gt;
 {date}20050911{/date}{task}1{/task}{validday}1{/validday}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;date&#039;&#039; the date of the competion day&lt;br /&gt;
* &#039;&#039;task&#039;&#039; Boolean flag, 0,1 tells if we have a task for this competition day&lt;br /&gt;
* &#039;&#039;validday&#039;&#039; Boolean flag tells if the day is a valid competition day. &lt;br /&gt;
&lt;br /&gt;
If a date is given, the CUC file (SeeYou competition file) for that date is returned including task and pilot info. The CUC file is transmitted verbatim. See the SeeYou documentation for more info on the CUC file format if necessary. The CUC file must contain a [pilots] block which maps all the pilots to a tracker ID. The tracker ID&lt;br /&gt;
should be put into the IGC Logger field (4th field). Multiple loggers can be separated with comma in this field. The tracker ID is taken to be the last logger ID in the list. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 [Pilots]&lt;br /&gt;
 &amp;quot;John&amp;quot;, &amp;quot;Doe&amp;quot;, 26356, &amp;quot;CAIXX00,1052&amp;quot;, ...&lt;br /&gt;
&lt;br /&gt;
Here we have an IGC logger first (CAIXX00) and the tracker last (1052). Next there should be a [Day] block for each competition day with the task for this competition day&lt;br /&gt;
&lt;br /&gt;
=== gettrackerdata ===&lt;br /&gt;
This command returns the actual fix data for a given tracker unit. This command is sent at regular&lt;br /&gt;
intervals by the tracking client. For Silent Wings Viewer, the current default interval for these requests&lt;br /&gt;
is 60 seconds.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 gettrackerdata.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 querytype=getintfixes&lt;br /&gt;
 contestname=&amp;lt;contest name&amp;gt;&lt;br /&gt;
 trackerid=&amp;lt;tracker id&amp;gt;&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
 starttime=&amp;lt;YYYYMMDDHHMMSS&amp;gt;&lt;br /&gt;
 endtime=&amp;lt;YYYYMMDDHHMMSS&amp;gt;&lt;br /&gt;
 compression=&amp;lt;none | gzip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 {datadelay}6{/datadelay}&lt;br /&gt;
 1052,20061230045824,-34.60305,138.72063,49.0,0&lt;br /&gt;
 1052,20061230045828,-34.60306,138.72067,48.0,0&lt;br /&gt;
 1052,20061230045832,-34.60306,138.72071,48.0,0&lt;br /&gt;
 1052,20061230045836,-34.60306,138.72075,47.0,0&lt;br /&gt;
 1052,20061230045840,-34.60306,138.72079,46.0,0&lt;br /&gt;
 1052,20061230045844,-34.60307,138.72083,45.0,0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The fix format is as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tracker id&amp;gt;,&amp;lt;timestamp&amp;gt;,&amp;lt;latitude&amp;gt;,&amp;lt;longitude&amp;gt;,&amp;lt;altitude&amp;gt;,&amp;lt;status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latitude and longitude are given in decimal degrees, altitude in meters. The status flag indicates the&lt;br /&gt;
GPS status of the fix. A zero indicates that the GPS fix was bad and the last good fix is used. A status&lt;br /&gt;
of 1 indicates a valid fix.&lt;br /&gt;
&lt;br /&gt;
If the compression parameter is set to gzip, the returned data, including the datadelay tag, should be&lt;br /&gt;
gzip compressed. This is highly recommended to reduce the data traffic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;datadelay&#039;&#039; currently allowed minimun delay for this tracker. This can be changed dynamically by the&lt;br /&gt;
organiser, so that we have more delay in the beginning of the competition than towards the final glide,&lt;br /&gt;
as per FAI Grand Prix rules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1856</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1856"/>
		<updated>2010-08-06T09:21:07Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|800px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
===getprotocolinfo===&lt;br /&gt;
&lt;br /&gt;
This command is normally used during startup of the client to get the protocol version number and&lt;br /&gt;
server time of the tracking server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;version&#039;&#039; Version number string. Should be 1.3 to be in compliance with this document.&lt;br /&gt;
* &#039;&#039;date&#039;&#039; Server date: YYYYMMDD&lt;br /&gt;
* &#039;&#039;time&#039;&#039; Server time in seconds since 1/1 1970&lt;br /&gt;
&lt;br /&gt;
=== getactivecontests ===&lt;br /&gt;
This command is used in the init phase to retrieve a list of available contests on the server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
 getactivecontests.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
 version=&amp;lt;version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
Returns a list of available competitions on this server.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 {contestname}FAIGP2005{/contestname}{contestdisplayname}1st FAI Grand PrixMondial{/contestdisplayname}{datadelay}15{/datadelay}{utcoffset}+01:00{/utcoffset}&lt;br /&gt;
 {countrycode}FR{/countrycode}{site}St. Auban{/site}{fromdate}20050903{/fromdate}&lt;br /&gt;
 {todate}20050912{/todate}{lat}44.1959{/lat}{lon}5.98849{/lon}{alt}{/alt}&lt;br /&gt;
 {contestname}GawlerGrandPrix{/contestname}{contestdisplayname}Australian Gliding GrandPrix{/contestdisplayname}{datadelay}6{/datadelay}{utcoffset}+10:30{/utcoffset}&lt;br /&gt;
 {countrycode}AU{/countrycode}{site}Gawler{/site}{fromdate}20061228{/fromdate}&lt;br /&gt;
 {todate}20070106{/todate}{lat}-34.6{/lat}{lon}138.71{/lon}{alt}48{/alt}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;contestname&#039;&#039; Internal name for this contest. Should be a short name with no whitespace or special characters.&lt;br /&gt;
* &#039;&#039;contestdisplayname&#039;&#039; Full name of competition as it should be presented in the GUI of the application.&lt;br /&gt;
* &#039;&#039;datadelay&#039;&#039; Initial delay (in minutes) of the tracker data. This value can be changed at a later stage with the datadelay tag in the gettrackerdata command.&lt;br /&gt;
* &#039;&#039;utcoffset&#039;&#039; UTC Offset in HH:MM format at the contest site.&lt;br /&gt;
* &#039;&#039;countrycode&#039;&#039; ISO Country code at the contest site.&lt;br /&gt;
* &#039;&#039;site&#039;&#039; String – name of the contest site.&lt;br /&gt;
* &#039;&#039;lat,lon,alt&#039;&#039; Global position of contest site.&lt;br /&gt;
&lt;br /&gt;
=== getcontestinfo ===&lt;br /&gt;
This command is used in the init phase to get information about a given contest. This command can&lt;br /&gt;
return two different kinds of data depending on whether or not a date is given. If no date is given, a list&lt;br /&gt;
of contest days is returned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
 getcontestinfo.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
 contestname=&amp;lt;contest name&amp;gt;&lt;br /&gt;
 date=&amp;lt;YYYYMMDD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
If no date is given, a list of the available contest days is returned like this:&lt;br /&gt;
&lt;br /&gt;
 {date}20050903{/date}{task}1{/task}{validday}0{/validday}&lt;br /&gt;
 {date}20050904{/date}{task}1{/task}{validday}0{/validday}&lt;br /&gt;
 {date}20050907{/date}{task}1{/task}{validday}0{/validday}&lt;br /&gt;
 {date}20050909{/date}{task}1{/task}{validday}1{/validday}&lt;br /&gt;
 {date}20050910{/date}{task}1{/task}{validday}1{/validday}&lt;br /&gt;
 {date}20050911{/date}{task}1{/task}{validday}1{/validday}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;date&#039;&#039; the date of the competion day&lt;br /&gt;
* &#039;&#039;task&#039;&#039; Boolean flag, 0,1 tells if we have a task for this competition day&lt;br /&gt;
* &#039;&#039;validday&#039;&#039; Boolean flag tells if the day is a valid competition day. &lt;br /&gt;
&lt;br /&gt;
If a date is given, the CUC file (SeeYou competition file) for that date is returned including task and pilot info. The CUC file is transmitted verbatim. See the SeeYou documentation for more info on the CUC file format if necessary. The CUC file must contain a [pilots] block which maps all the pilots to a tracker ID. The tracker ID&lt;br /&gt;
should be put into the IGC Logger field (4th field). Multiple loggers can be separated with comma in this field. The tracker ID is taken to be the last logger ID in the list. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 [Pilots]&lt;br /&gt;
 &amp;quot;John&amp;quot;, &amp;quot;Doe&amp;quot;, 26356, &amp;quot;CAIXX00,1052&amp;quot;, ...&lt;br /&gt;
&lt;br /&gt;
Here we have an IGC logger first (CAIXX00) and the tracker last (1052). Next there should be a [Day] block for each competition day with the task for this competition day&lt;br /&gt;
&lt;br /&gt;
=== gettrackerdata ===&lt;br /&gt;
This command returns the actual fix data for a given tracker unit. This command is sent at regular&lt;br /&gt;
intervals by the tracking client. For Silent Wings Viewer, the current default interval for these requests&lt;br /&gt;
is 60 seconds.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 gettrackerdata.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 querytype=getintfixes&lt;br /&gt;
 contestname=&amp;lt;contest name&amp;gt;&lt;br /&gt;
 trackerid=&amp;lt;tracker id&amp;gt;&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
 starttime=&amp;lt;YYYYMMDDHHMMSS&amp;gt;&lt;br /&gt;
 endtime=&amp;lt;YYYYMMDDHHMMSS&amp;gt;&lt;br /&gt;
 compression=&amp;lt;none | gzip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 {datadelay}6{/datadelay}&lt;br /&gt;
 1052,20061230045824,-34.60305,138.72063,49.0,0&lt;br /&gt;
 1052,20061230045828,-34.60306,138.72067,48.0,0&lt;br /&gt;
 1052,20061230045832,-34.60306,138.72071,48.0,0&lt;br /&gt;
 1052,20061230045836,-34.60306,138.72075,47.0,0&lt;br /&gt;
 1052,20061230045840,-34.60306,138.72079,46.0,0&lt;br /&gt;
 1052,20061230045844,-34.60307,138.72083,45.0,0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The fix format is as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tracker id&amp;gt;,&amp;lt;timestamp&amp;gt;,&amp;lt;latitude&amp;gt;,&amp;lt;longitude&amp;gt;,&amp;lt;altitude&amp;gt;,&amp;lt;status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latitude and longitude are given in decimal degrees, altitude in meters. The status flag indicates the&lt;br /&gt;
GPS status of the fix. A zero indicates that the GPS fix was bad and the last good fix is used. A status&lt;br /&gt;
of 1 indicates a valid fix.&lt;br /&gt;
&lt;br /&gt;
If the compression parameter is set to gzip, the returned data, including the datadelay tag, should be&lt;br /&gt;
gzip compressed. This is highly recommended to reduce the data traffic.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;datadelay&#039;&#039; currently allowed minimun delay for this tracker. This can be changed dynamically by the&lt;br /&gt;
organiser, so that we have more delay in the beginning of the competition than towards the final glide,&lt;br /&gt;
as per FAI Grand Prix rules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1855</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1855"/>
		<updated>2010-08-06T09:13:36Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|800px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
===getprotocolinfo===&lt;br /&gt;
&lt;br /&gt;
This command is normally used during startup of the client to get the protocol version number and&lt;br /&gt;
server time of the tracking server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Returns:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;version&#039;&#039; Version number string. Should be 1.3 to be in compliance with this document.&lt;br /&gt;
* &#039;&#039;date&#039;&#039; Server date: YYYYMMDD&lt;br /&gt;
* &#039;&#039;time&#039;&#039; Server time in seconds since 1/1 1970&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1854</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1854"/>
		<updated>2010-08-06T09:13:00Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|800px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
===getprotocolinfo===&lt;br /&gt;
&lt;br /&gt;
This command is normally used during startup of the client to get the protocol version number and&lt;br /&gt;
server time of the tracking server.&lt;br /&gt;
&lt;br /&gt;
Command:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
Tags:&lt;br /&gt;
&lt;br /&gt;
* &#039;version&#039; Version number string. Should be 1.3 to be in compliance with this document.&lt;br /&gt;
* &#039;&#039;date&#039;&#039; Server date: YYYYMMDD&lt;br /&gt;
* time Server time in seconds since 1/1 1970&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1853</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1853"/>
		<updated>2010-08-06T09:12:39Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|800px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
===getprotocolinfo===&lt;br /&gt;
&lt;br /&gt;
This command is normally used during startup of the client to get the protocol version number and&lt;br /&gt;
server time of the tracking server.&lt;br /&gt;
&lt;br /&gt;
Command:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
Tags:&lt;br /&gt;
&lt;br /&gt;
* version Version number string. Should be 1.3 to be in compliance with this document.&lt;br /&gt;
* date Server date: YYYYMMDD&lt;br /&gt;
* time Server time in seconds since 1/1 1970&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1852</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1852"/>
		<updated>2010-08-06T09:12:21Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|800px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
===getprotocolinfo===&lt;br /&gt;
&lt;br /&gt;
This command is normally used during startup of the client to get the protocol version number and&lt;br /&gt;
server time of the tracking server.&lt;br /&gt;
&lt;br /&gt;
Command:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
 username=&amp;lt;user name&amp;gt;&lt;br /&gt;
 cpassword=&amp;lt;encrypted password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
Tags:&lt;br /&gt;
&lt;br /&gt;
 * version Version number string. Should be 1.3 to be in compliance with this document.&lt;br /&gt;
 * date Server date: YYYYMMDD&lt;br /&gt;
 * time Server time in seconds since 1/1 1970&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1851</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1851"/>
		<updated>2010-08-06T09:11:14Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|800px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=File:Tracking.png&amp;diff=1850</id>
		<title>File:Tracking.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=File:Tracking.png&amp;diff=1850"/>
		<updated>2010-08-06T09:10:56Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1849</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1849"/>
		<updated>2010-08-06T08:59:04Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[[file:tracking.png|500px]]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1848</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1848"/>
		<updated>2010-08-06T08:58:47Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[file:tracking.png|500px]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1847</id>
		<title>Tracking Protocol</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Tracking_Protocol&amp;diff=1847"/>
		<updated>2010-08-06T08:58:06Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Created page with &amp;#039; = Introduction = The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set of URL&amp;#039;s with parameters that typically correspond to a set o…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
The Silent Wings Viewer protocol is an HTTP based protocol with a set of commands that match a set&lt;br /&gt;
of URL&#039;s with parameters that typically correspond to a set of PHP scripts.&lt;br /&gt;
There are generally two phases of the tracking protocol, first initialization where the client sets up the&lt;br /&gt;
tracking for a given competition day based on input from the user. The next phase is the actual tracking&lt;br /&gt;
where the client requests fix data from the tracking server at regular intervals.&lt;br /&gt;
&lt;br /&gt;
Here is a schematic illustration of a typical tracking session:&lt;br /&gt;
&lt;br /&gt;
[image:tracking.png|500px]&lt;br /&gt;
&lt;br /&gt;
= Protocol =&lt;br /&gt;
The following section contains a description of the available protocol commands used by the viewer client.&lt;br /&gt;
&lt;br /&gt;
The general format for each command is:&lt;br /&gt;
&lt;br /&gt;
 http://server/command.php?param1=foo&amp;amp;param2=bar&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
Most of the commands return a series of tags much like HTML tags, only with curly brackets instead of&lt;br /&gt;
angle brackets. For example:&lt;br /&gt;
&lt;br /&gt;
 getprotocolinfo.php?username=jane&amp;amp;cpassword=87f89daecd2dbe1bc62bb2f20bb81f55&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
 {version}1.3{/version}{date}20080811{/date}{time}1218457469{/time}&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
Most of the commands require a user name and password as input. These are specified in the&lt;br /&gt;
username/password parameters:&lt;br /&gt;
&lt;br /&gt;
 http://tracking.silentwings.no//getactivecontests.php?username=john&amp;amp;cpassword=85f8addecd2dbf8bc62bb0f20bb31f51&amp;amp;version=1.2&lt;br /&gt;
&lt;br /&gt;
The password should be given in encrypted form. The password is encrypted with user name as&lt;br /&gt;
«encryption salt», i.e as the MD5 digest of the following string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;password&amp;gt;&amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be no whitespace between the clear text password and the username. To authenticate you&lt;br /&gt;
need to encrypt the clear text password with the same hash string (username) and compare the two&lt;br /&gt;
encrypted passwords.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1846</id>
		<title>Scenery:Generating Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1846"/>
		<updated>2010-01-09T22:20:17Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Generate textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Generating the terrain model==&lt;br /&gt;
&lt;br /&gt;
This article describes the commands used to create a scenery file from a set of input data and configuration files.&lt;br /&gt;
&lt;br /&gt;
===Read data===&lt;br /&gt;
&lt;br /&gt;
 data_reader &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the input data as described in the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]], tile it into suitable bits and put it&lt;br /&gt;
on the work directory in a simple work format.&lt;br /&gt;
&lt;br /&gt;
===Generate airports/runways===&lt;br /&gt;
&lt;br /&gt;
 apt_gen &amp;lt;terrain config&amp;gt; &amp;lt;airports file&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will make runway polygons for the airports within our&lt;br /&gt;
area and put the polygon files in the work directory.&lt;br /&gt;
&lt;br /&gt;
===Generate terrain surface===&lt;br /&gt;
&lt;br /&gt;
 terrain_gen &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt; &amp;lt;output name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will read the input data from the work directory and make&lt;br /&gt;
a multiresolution triangulation of the data based on the parameters in&lt;br /&gt;
the terrain config. There will be generated three files called &amp;lt;output&lt;br /&gt;
name&amp;gt; with the extensions .tin, .idx and .grd.&lt;br /&gt;
&lt;br /&gt;
===Generate textures===&lt;br /&gt;
&lt;br /&gt;
 texmapper &amp;lt;texture config&amp;gt; &amp;lt;output dir&amp;gt; &amp;lt;output config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the [[Scenery:Texmapper.cfg_File|texture&lt;br /&gt;
mapper config file]] tile it into suitable pieces and create a hierarchy of downscaled images for the lower resolutions. It will also render shadows into the textures if necessary (If the aerial photos already contain shadows, this process may be skipped).&lt;br /&gt;
&lt;br /&gt;
Read the [[Scenery:Texmapper.cfg_File | Texmapper.cfg]] article for a detailed example of this process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1845</id>
		<title>Scenery:Generating Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1845"/>
		<updated>2010-01-09T22:20:00Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Generating the terrain model==&lt;br /&gt;
&lt;br /&gt;
This article describes the commands used to create a scenery file from a set of input data and configuration files.&lt;br /&gt;
&lt;br /&gt;
===Read data===&lt;br /&gt;
&lt;br /&gt;
 data_reader &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the input data as described in the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]], tile it into suitable bits and put it&lt;br /&gt;
on the work directory in a simple work format.&lt;br /&gt;
&lt;br /&gt;
===Generate airports/runways===&lt;br /&gt;
&lt;br /&gt;
 apt_gen &amp;lt;terrain config&amp;gt; &amp;lt;airports file&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will make runway polygons for the airports within our&lt;br /&gt;
area and put the polygon files in the work directory.&lt;br /&gt;
&lt;br /&gt;
===Generate terrain surface===&lt;br /&gt;
&lt;br /&gt;
 terrain_gen &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt; &amp;lt;output name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will read the input data from the work directory and make&lt;br /&gt;
a multiresolution triangulation of the data based on the parameters in&lt;br /&gt;
the terrain config. There will be generated three files called &amp;lt;output&lt;br /&gt;
name&amp;gt; with the extensions .tin, .idx and .grd.&lt;br /&gt;
&lt;br /&gt;
===Generate textures===&lt;br /&gt;
&lt;br /&gt;
 texmapper &amp;lt;texture config&amp;gt; &amp;lt;output dir&amp;gt; &amp;lt;output config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the [[Scenery:Texmapper.cfg_File|texture&lt;br /&gt;
mapper config file]] tile it into suitable pieces and create a hierarchy of downscaled images for the lower resolutions. It will also render shadows into the textures if necessary (If the aerial photos already contain shadows, this process may be skipped).&lt;br /&gt;
&lt;br /&gt;
Read the [[Scenery:Texmapper.cfg | Texmapper.cfg]] article for a detailed example of this process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1844</id>
		<title>Category:Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1844"/>
		<updated>2010-01-09T22:18:10Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Articles in the Scenery Category relate to generating scenery for Silent Wings. &lt;br /&gt;
&lt;br /&gt;
You should start by reading the [[Scenery:Getting Started | Getting started]] and [[Scenery:Generating Scenery | Generating scenery]] articles.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1843</id>
		<title>Category:Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1843"/>
		<updated>2010-01-09T22:17:47Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Articles in the Scenery Category relate to generating scenery for Silent Wings. &lt;br /&gt;
&lt;br /&gt;
You should start by reading the [[Scenery:Getting Started | Getting Started]] and [[Scenery:Generating Scenery | Generating Scenery]] articles.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1842</id>
		<title>Category:Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1842"/>
		<updated>2010-01-09T22:17:25Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Articles in the Scenery Category relate to generating scenery for Silent Wings. &lt;br /&gt;
&lt;br /&gt;
You should start by reading the [[Scenery:Getting Started]] and [[Scenery:Generating Scenery]] articles.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1841</id>
		<title>Category:Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Category:Scenery&amp;diff=1841"/>
		<updated>2010-01-09T22:15:53Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Articles in the Scenery Category relate to generating scenery for Silent Wings. &lt;br /&gt;
&lt;br /&gt;
You should start by reading the [Getting Started] article.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1840</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1840"/>
		<updated>2010-01-09T22:14:18Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* DEM data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. If no reference latitude is given, we use the equator (0 degrees).&lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south west corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
Another way to specify the tiling, is to specify the start coordinates (SW corner) and end coordinates (NE corner) and number of tiles. The tile size is then determined by these parameters and should not be specified. For example&lt;br /&gt;
&lt;br /&gt;
 start_n = 60&lt;br /&gt;
 start_e = 10&lt;br /&gt;
 end_n = 62&lt;br /&gt;
 end_e = 14&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
This would make a scenery block of 2x4 degrees with a tile size of about 3.5km. Here we have not given any reference latitude, so in this case at 60 degrees north, the longitudes are half the distance apart relative to the latitude lines and we have made the block twice the size in EW-direction to compensate.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the &#039;&#039;dem_resolution&#039;&#039; parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
&lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them.&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1839</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1839"/>
		<updated>2010-01-09T22:14:09Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Input data section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. If no reference latitude is given, we use the equator (0 degrees).&lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south west corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
Another way to specify the tiling, is to specify the start coordinates (SW corner) and end coordinates (NE corner) and number of tiles. The tile size is then determined by these parameters and should not be specified. For example&lt;br /&gt;
&lt;br /&gt;
 start_n = 60&lt;br /&gt;
 start_e = 10&lt;br /&gt;
 end_n = 62&lt;br /&gt;
 end_e = 14&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
This would make a scenery block of 2x4 degrees with a tile size of about 3.5km. Here we have not given any reference latitude, so in this case at 60 degrees north, the longitudes are half the distance apart relative to the latitude lines and we have made the block twice the size in EW-direction to compensate.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the &#039;&#039;dem_resolution&#039;&#039; parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
&lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them.&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1838</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1838"/>
		<updated>2010-01-09T22:13:41Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Flags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. If no reference latitude is given, we use the equator (0 degrees).&lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south west corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
Another way to specify the tiling, is to specify the start coordinates (SW corner) and end coordinates (NE corner) and number of tiles. The tile size is then determined by these parameters and should not be specified. For example&lt;br /&gt;
&lt;br /&gt;
 start_n = 60&lt;br /&gt;
 start_e = 10&lt;br /&gt;
 end_n = 62&lt;br /&gt;
 end_e = 14&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
This would make a scenery block of 2x4 degrees with a tile size of about 3.5km. Here we have not given any reference latitude, so in this case at 60 degrees north, the longitudes are half the distance apart relative to the latitude lines and we have made the block twice the size in EW-direction to compensate.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the &#039;&#039;dem_resolution&#039;&#039; parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
&lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them.&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1837</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1837"/>
		<updated>2010-01-09T22:12:50Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. If no reference latitude is given, we use the equator (0 degrees).&lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south west corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
Another way to specify the tiling, is to specify the start coordinates (SW corner) and end coordinates (NE corner) and number of tiles. The tile size is then determined by these parameters and should not be specified. For example&lt;br /&gt;
&lt;br /&gt;
 start_n = 60&lt;br /&gt;
 start_e = 10&lt;br /&gt;
 end_n = 62&lt;br /&gt;
 end_e = 14&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
This would make a scenery block of 2x4 degrees with a tile size of about 3.5km. Here we have not given any reference latitude, so in this case at 60 degrees north, the longitudes are half the distance apart relative to the latitude lines and we have made the block twice the size in EW-direction to compensate.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the &#039;&#039;dem_resolution&#039;&#039; parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them.&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1836</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1836"/>
		<updated>2010-01-09T22:11:40Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. If no reference latitude is given, we use the equator (0 degrees).&lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south west corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
Another way to specify the tiling, is to specify the start coordinates (SW corner) and end coordinates (NE corner) and number of tiles. The tile size is then determined by these parameters and should not be specified. For example&lt;br /&gt;
&lt;br /&gt;
 start_n = 60&lt;br /&gt;
 start_e = 10&lt;br /&gt;
 end_n = 62&lt;br /&gt;
 end_e = 14&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
This would make a scenery block of 2x4 degrees with a tile size of about 3.5km. Here we have not given any reference latitude, so in this case at 60 degrees north, the longitudes are half the distance apart relative to the latitude lines and we have made the block twice the size in EW-direction to compensate.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [[http://en.wikipedia.org/wiki/Mipmap|mipmaps]]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the &#039;&#039;dem_resolution&#039;&#039; parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them.&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1835</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1835"/>
		<updated>2010-01-09T21:57:31Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Flags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [[http://en.wikipedia.org/wiki/Mipmap|mipmaps]]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the &#039;&#039;dem_resolution&#039;&#039; parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them.&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1834</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1834"/>
		<updated>2010-01-09T21:57:05Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Flags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap|mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the &#039;&#039;dem_resolution&#039;&#039; parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them.&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1833</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1833"/>
		<updated>2010-01-09T21:56:34Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap|mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the dem_resolution parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them. &lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (&#039;&#039;pri = 2&#039;&#039;) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory &#039;&#039;/data/geodata/images/aerial&#039;&#039; and all its subdirectories (&#039;&#039;recursive = true&#039;&#039;), and only files with the extension &#039;&#039;.tif&#039;&#039; are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1832</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1832"/>
		<updated>2010-01-09T21:55:10Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap|mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the dem_resolution parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them. &lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (pri = 2) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory /data/geodata/images/aerial and all its subdirectories (recursive = true), and only files with the extension .tif are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see http://trac.osgeo.org/proj/ for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1831</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1831"/>
		<updated>2010-01-09T21:54:37Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap|mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the dem_resolution parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them. &lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (pri = 2) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory /data/geodata/images/aerial and all its subdirectories (recursive = true), and only files with the extension .tif are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see [[http://trac.osgeo.org/proj/]] for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1830</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1830"/>
		<updated>2010-01-09T21:53:47Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
This section controls some on/off features of the texture mapper. One important feature is the mipmap generation. If you enable this, each texture file will contained downscaled versions of itself to use as [http://en.wikipedia.org/wiki/Mipmap|mipmaps]. &lt;br /&gt;
&lt;br /&gt;
 mipmaps = true&lt;br /&gt;
&lt;br /&gt;
This should normally be left on. It will produce slightly bigger files, but if you don&#039;t enable it, you will get frame rate stuttering on certain graphics cards since these mipmaps must be calculated at run-time.&lt;br /&gt;
&lt;br /&gt;
The next parameter is shadows. If you generate textures from synthetic imagery, you may want to add some shading to the textures. This is done by doing a simple raytrace of a terrain model to add shadows. If you enable this feature, you must also add some elevation data in the data input section. Also remember to set the dem_resolution parameter (see below)&lt;br /&gt;
&lt;br /&gt;
 shadows = false&lt;br /&gt;
 &lt;br /&gt;
This parameter can be disabled if you are using aerial imagery containing real shadows in them. &lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
In this section you can add the various input data sets you have available. You can add several data sets with different priority so that if you have higher resolution data for a smaller area, you can use this data set with higher priority than the coarser base data. In our example we have two input data sets in two different directories:&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/aerial/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 2&lt;br /&gt;
   coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 image_dir {&lt;br /&gt;
   path = /data/geodata/images/lores/&lt;br /&gt;
   recursive = true&lt;br /&gt;
   ext  = .tif&lt;br /&gt;
   pri  = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The first block is the highest priority (pri = 2) and will be used whenever possible. If this data set is not available, or the pixel data is 0,0,0 (black), a lower priority data set is used. The data set is read from the directory /data/geodata/images/aerial and all its subdirectories (recursive = true), and only files with the extension .tif are considered.&lt;br /&gt;
&lt;br /&gt;
==== Projections ==== &lt;br /&gt;
&lt;br /&gt;
In addition, the first block contains a projection defintion:&lt;br /&gt;
&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
&lt;br /&gt;
In this case, we have a UTM image in zone 30. This parameter is only needed if the projection is not given by the image file itself. GeoTIFF for example will usually store the projection data, and you will not need to specify this. If the data is given in geographical coordinates you will not need this either. &lt;br /&gt;
&lt;br /&gt;
Some data are given as regular .tif or .jpg files with a so called &amp;quot;world&amp;quot; file, with the extension .tfw or .jgw. In this case, the projection is not given, and if you use these types of files, and the coordinate system is not lat/lon, you will need to specify the coosys. &lt;br /&gt;
&lt;br /&gt;
The format of the coosys parameter is the same as for the PROJ.4 tool, see [http://proj.maptools.org/] for further info.&lt;br /&gt;
&lt;br /&gt;
==== DEM data ====&lt;br /&gt;
&lt;br /&gt;
If you have enabled the shadow generator (see above) you will also need some elevation data. These are specified in similar blocks as the &amp;quot;image_dir&amp;quot; blocks, only they are called &amp;quot;dem_dir&amp;quot;. The format of the block is as described above.&lt;br /&gt;
&lt;br /&gt;
In addition you need to specify the &#039;&#039;dem_resolution&#039;&#039; parameter. This controls the grid resolution of the elevation model used for the shadow generator. It should normally be set to something near the actual resolution of the input DEM data. Typically 90m for SRTM data.&lt;br /&gt;
&lt;br /&gt;
 dem_resolution = 90&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm&lt;br /&gt;
   ext    = .tif&lt;br /&gt;
   pri    = 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 dem_dir {&lt;br /&gt;
   path   = /data/geodata/srtm30&lt;br /&gt;
   ext    = .DEM.gz&lt;br /&gt;
   pri    = 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In this example we have a high resolution SRTM data set at 90m resolution and a lower priority SRTM30 data set which is 1km grid.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1829</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1829"/>
		<updated>2010-01-09T21:24:06Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
# Always overwrite existing files in the output directory&lt;br /&gt;
overwrite = true&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
This section contains parameters relevant to the generation of the image files. The most important parameter is the texture size&lt;br /&gt;
&lt;br /&gt;
 tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
This size must be a power of 2, and a size that is usable on most graphics cards, i.e not higher than 2048. The texture resolution will be tile_size/tex_size, so in our example it will be approximately 3.5m/pixel.&lt;br /&gt;
&lt;br /&gt;
You can also control some memory cache parameters here:&lt;br /&gt;
&lt;br /&gt;
 shd_cache_sz = 200&lt;br /&gt;
 img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
These are given in megabytes and controls how much imagery you can hold in memory at a time when producing the textures. Set this as high as you can to avoid having to reload imagery all the time. The shd_cache_sz controls the amount of elevation data kept in  memory for shading, and img_cache_sz is the amount of imagery for the actual texture maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1828</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1828"/>
		<updated>2010-01-09T20:48:48Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
# Always overwrite existing files in the output directory&lt;br /&gt;
overwrite = true&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
=== Texture mapper section === &lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
=== Input data section ===&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1827</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1827"/>
		<updated>2010-01-09T20:48:07Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
# Always overwrite existing files in the output directory&lt;br /&gt;
overwrite = true&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Common section === &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1826</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1826"/>
		<updated>2010-01-09T20:47:30Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
# Always overwrite existing files in the output directory&lt;br /&gt;
overwrite = true&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common section == &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1825</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1825"/>
		<updated>2010-01-09T20:47:07Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
# Always overwrite existing files in the output directory&lt;br /&gt;
overwrite = true&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common section == &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;br /&gt;
&lt;br /&gt;
The tile start location (south east corner) is given by:&lt;br /&gt;
&lt;br /&gt;
 start_n = 45.0974&lt;br /&gt;
 start_e = 7.26291&lt;br /&gt;
&lt;br /&gt;
And the number of tiles:&lt;br /&gt;
&lt;br /&gt;
 num_tiles_n = 32&lt;br /&gt;
 num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
The number of tiles should always be the same in north- and east-direction, and it should always be a power of 2, i.e 2, 4, 8, 16, 32, 64, etc.&lt;br /&gt;
&lt;br /&gt;
For performance, we recommend keeping the tile size around 4km.&lt;br /&gt;
&lt;br /&gt;
[[Catgory:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1824</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1824"/>
		<updated>2010-01-09T20:42:43Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
# Always overwrite existing files in the output directory&lt;br /&gt;
overwrite = true&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Common section = &lt;br /&gt;
&lt;br /&gt;
This is where we define the area of the world covered by this scenery block. You need to either specify the number of tiles, a tile size and a start point, or alternatively the start/end points of the area. In this example we have chosen tile size and start point. &lt;br /&gt;
&lt;br /&gt;
The tile size is given in meters in north- and east direction.&lt;br /&gt;
&lt;br /&gt;
 tile_size_n = 3648&lt;br /&gt;
 tile_size_e = 3648&lt;br /&gt;
&lt;br /&gt;
Now, since the tiles are parallell with the longitude lines, the width varies over the tile. This means that the tile_size_e parameter is only correct at the given &#039;&#039;reference latiude, ref_lat&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 ref_lat = 50&lt;br /&gt;
&lt;br /&gt;
In this case, the tile width is correct at 50 degrees latitude. Further north, the tile will be narrower, further south the tile will be wider.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1823</id>
		<title>Scenery:Texmapper.cfg File</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Texmapper.cfg_File&amp;diff=1823"/>
		<updated>2010-01-09T20:20:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas: New page: This is the main configuration file for the texture map generator. It is very similar to the terrain config file and some of the parameters are the same.  &amp;lt;pre...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the main configuration file for the texture map generator. It is very similar to the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]] and some of the parameters are the same.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#----------------&lt;br /&gt;
# Common section&lt;br /&gt;
#----------------&lt;br /&gt;
tile_size_n = 3648&lt;br /&gt;
tile_size_e = 3648&lt;br /&gt;
start_n = 45.0974&lt;br /&gt;
start_e = 7.26291&lt;br /&gt;
ref_lat = 50&lt;br /&gt;
num_tiles_n = 32&lt;br /&gt;
num_tiles_e = 32&lt;br /&gt;
&lt;br /&gt;
#------------------------&lt;br /&gt;
# Texture mapper section&lt;br /&gt;
#------------------------&lt;br /&gt;
&lt;br /&gt;
# Texture resolution (tile_size/tex_size = Approx 3.5m/pixel)&lt;br /&gt;
tex_size = 1024&lt;br /&gt;
&lt;br /&gt;
# Image format (DXT1/gzip compressed)&lt;br /&gt;
out_pixel_fmt = DXT1&lt;br /&gt;
out_file_ext = .dds.gz&lt;br /&gt;
&lt;br /&gt;
# Work cache sizes (in Mb)&lt;br /&gt;
shd_cache_sz = 200&lt;br /&gt;
img_cache_sz = 200&lt;br /&gt;
&lt;br /&gt;
#-------&lt;br /&gt;
# Flags&lt;br /&gt;
#-------&lt;br /&gt;
# Generate mipmaps yes/no (recommended)&lt;br /&gt;
mipmaps = true&lt;br /&gt;
&lt;br /&gt;
# Generate shadows (Only if you have elevation data)&lt;br /&gt;
shadows = false&lt;br /&gt;
&lt;br /&gt;
# Always overwrite existing files in the output directory&lt;br /&gt;
overwrite = true&lt;br /&gt;
&lt;br /&gt;
#---------------&lt;br /&gt;
# Input section&lt;br /&gt;
#---------------&lt;br /&gt;
#Input images&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/aerial/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 2&lt;br /&gt;
  coosys = +proj=utm +zone=30 +datum=WGS84&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
image_dir {&lt;br /&gt;
  path = /data/geodata/images/lores/&lt;br /&gt;
  recursive = true&lt;br /&gt;
  ext  = .tif&lt;br /&gt;
  pri  = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Elevation data for shading&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm&lt;br /&gt;
  ext    = .tif&lt;br /&gt;
  pri    = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dem_dir {&lt;br /&gt;
  path   = /data/geodata/srtm30&lt;br /&gt;
  ext    = .DEM.gz&lt;br /&gt;
  pri    = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1822</id>
		<title>Scenery:Generating Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1822"/>
		<updated>2010-01-09T20:09:41Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Generating the terrain model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Generating the terrain model==&lt;br /&gt;
&lt;br /&gt;
This article describes the commands used to create a scenery file from a set of input data and configuration files.&lt;br /&gt;
&lt;br /&gt;
===Read data===&lt;br /&gt;
&lt;br /&gt;
 data_reader &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the input data as described in the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]], tile it into suitable bits and put it&lt;br /&gt;
on the work directory in a simple work format.&lt;br /&gt;
&lt;br /&gt;
===Generate airports/runways===&lt;br /&gt;
&lt;br /&gt;
 apt_gen &amp;lt;terrain config&amp;gt; &amp;lt;airports file&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will make runway polygons for the airports within our&lt;br /&gt;
area and put the polygon files in the work directory.&lt;br /&gt;
&lt;br /&gt;
===Generate terrain surface===&lt;br /&gt;
&lt;br /&gt;
 terrain_gen &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt; &amp;lt;output name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will read the input data from the work directory and make&lt;br /&gt;
a multiresolution triangulation of the data based on the parameters in&lt;br /&gt;
the terrain config. There will be generated three files called &amp;lt;output&lt;br /&gt;
name&amp;gt; with the extensions .tin, .idx and .grd.&lt;br /&gt;
&lt;br /&gt;
===Generate textures===&lt;br /&gt;
&lt;br /&gt;
 texmapper &amp;lt;texture config&amp;gt; &amp;lt;output dir&amp;gt; &amp;lt;output config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the [[Scenery:Texmapper.cfg_File|texture&lt;br /&gt;
mapper config file]] tile it into suitable pieces and create a hierarchy of downscaled images for the lower resolutions. It will also render shadows into the textures if necessary (If the aerial photos already contain shadows, this process may be skipped).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1821</id>
		<title>Scenery:Generating Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1821"/>
		<updated>2010-01-09T20:06:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Generate textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Generating the terrain model==&lt;br /&gt;
&lt;br /&gt;
This article describes the commands used to create a scenery file from a set of input data and configuration files.&lt;br /&gt;
&lt;br /&gt;
===Read data===&lt;br /&gt;
&lt;br /&gt;
 data_reader &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the input data as described in the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]], tile it into suitable bits and put it&lt;br /&gt;
on the work directory in a simple work format.&lt;br /&gt;
&lt;br /&gt;
===Generate airports/runways===&lt;br /&gt;
&lt;br /&gt;
 apt_gen &amp;lt;terrain config&amp;gt; &amp;lt;airports file&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will make runway polygons for the airports within our&lt;br /&gt;
area and put the polygon files in the work directory.&lt;br /&gt;
&lt;br /&gt;
===Generate terrain surface===&lt;br /&gt;
&lt;br /&gt;
 terrain_gen &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt; &amp;lt;output name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will read the input data from the work directory and make&lt;br /&gt;
a multiresolution triangulation of the data based on the parameters in&lt;br /&gt;
the terrain config. There will be generated three files called &amp;lt;output&lt;br /&gt;
name&amp;gt; with the extensions .tin, .idx and .grd.&lt;br /&gt;
&lt;br /&gt;
===Generate textures===&lt;br /&gt;
&lt;br /&gt;
 texmapper &amp;lt;texture config&amp;gt; &amp;lt;output dir&amp;gt; &amp;lt;output config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the texture config&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Generating_Terrain&amp;diff=1820</id>
		<title>Scenery:Generating Terrain</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Generating_Terrain&amp;diff=1820"/>
		<updated>2010-01-09T20:05:09Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Scenery:Generating Terrain moved to Scenery:Generating Scenery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Scenery:Generating Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1819</id>
		<title>Scenery:Generating Scenery</title>
		<link rel="alternate" type="text/html" href="http://wiki.silentwings.no/index.php?title=Scenery:Generating_Scenery&amp;diff=1819"/>
		<updated>2010-01-09T20:05:09Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Scenery:Generating Terrain moved to Scenery:Generating Scenery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Generating the terrain model==&lt;br /&gt;
&lt;br /&gt;
This article describes the commands used to create a scenery file from a set of input data and configuration files.&lt;br /&gt;
&lt;br /&gt;
===Read data===&lt;br /&gt;
&lt;br /&gt;
 data_reader &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command will read the input data as described in the [[Scenery:Terrain.cfg_File|terrain&lt;br /&gt;
config file]], tile it into suitable bits and put it&lt;br /&gt;
on the work directory in a simple work format.&lt;br /&gt;
&lt;br /&gt;
===Generate airports/runways===&lt;br /&gt;
&lt;br /&gt;
 apt_gen &amp;lt;terrain config&amp;gt; &amp;lt;airports file&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will make runway polygons for the airports within our&lt;br /&gt;
area and put the polygon files in the work directory.&lt;br /&gt;
&lt;br /&gt;
===Generate terrain surface===&lt;br /&gt;
&lt;br /&gt;
 terrain_gen &amp;lt;terrain config&amp;gt; &amp;lt;work dir&amp;gt; &amp;lt;output name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will read the input data from the work directory and make&lt;br /&gt;
a multiresolution triangulation of the data based on the parameters in&lt;br /&gt;
the terrain config. There will be generated three files called &amp;lt;output&lt;br /&gt;
name&amp;gt; with the extensions .tin, .idx and .grd.&lt;br /&gt;
&lt;br /&gt;
===Generate textures===&lt;br /&gt;
&lt;br /&gt;
 texmapper &amp;lt;texture config&amp;gt; &amp;lt;output dir&amp;gt; &amp;lt;output config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
</feed>