<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://www.fsdeveloper.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Timmo</id>
	<title>FSDeveloper Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="http://www.fsdeveloper.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Timmo"/>
	<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php/Special:Contributions/Timmo"/>
	<updated>2026-04-25T07:18:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=8276</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=8276"/>
		<updated>2011-11-27T20:58:12Z</updated>

		<summary type="html">&lt;p&gt;Timmo: /* Vector data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = false&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = true&lt;br /&gt;
| FS2002 = true&lt;br /&gt;
| FS2000 = unknown&lt;br /&gt;
| FS98 = unknown&lt;br /&gt;
}}&lt;br /&gt;
BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language, where BAO stands for Bruce Artwick Organisation who was the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension. It is best to think of the BGL format as a &#039;container&#039; into which Flight Simulator objects are placed.&lt;br /&gt;
&lt;br /&gt;
== Terrain ==&lt;br /&gt;
(Created using [[Resample]]) &lt;br /&gt;
&lt;br /&gt;
*[[Mesh]]: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
*Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
*Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
*Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
&lt;br /&gt;
== Vector data ==&lt;br /&gt;
(Created using [[Shp2Vec]])&lt;br /&gt;
*Roads and Railway information: A vector line calling the relevant texture and placed on the mesh.&lt;br /&gt;
*Freeway information: An &#039;invisible&#039; vector line calling the road traffic effect (i.e. moving cars)&lt;br /&gt;
*Water polygons: 3D vector polygons using a water texture/effect and placed using their 3D vertice values (I.e. they override the terrain mesh)&lt;br /&gt;
*LandClass polygons: Vector Polygons where the attribute of the polygon represents the type of landcover and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Shoreline information: A vector line calling the wave effect (I.e. moving waves)&lt;br /&gt;
&lt;br /&gt;
In the default FSX data, bgl files containing these items are prefixed with cvx (i.e. cvx8845.bgl)&lt;br /&gt;
&lt;br /&gt;
== Airport &amp;amp; Objects ==&lt;br /&gt;
(Created using [[BGLComp]] for FSX or FS2004)&lt;br /&gt;
* Compiled Runway, taxiway, apron information, etc (XML)&lt;br /&gt;
* Custom buildings placed in a certain position ([[MDL]] + XML)&lt;br /&gt;
* Custom buildings and put into an object library ([[MDL]] + XML)&lt;br /&gt;
* Library buildings placed in a certain position (XML)&lt;br /&gt;
* [[Effects]] placed in a certain position (XML)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=6726</id>
		<title>Terrain mesh introduction</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=6726"/>
		<updated>2009-04-23T10:05:43Z</updated>

		<summary type="html">&lt;p&gt;Timmo: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = true&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = true&lt;br /&gt;
| FS2002 = true&lt;br /&gt;
| FS2000 = true&lt;br /&gt;
| FS98 = false&lt;br /&gt;
}}&lt;br /&gt;
The real-life world is not flat, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
it comprises mountains, valleys, rolling plains, etc. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. &#039;&#039;&#039;topographical features&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These bumps, dips, and flat areas, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
all need to be translated into a surface understood by the simulator.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. A &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;E&#039;&#039;&#039;levation &#039;&#039;&#039;M&#039;&#039;&#039;odel, (&#039;&#039;&#039;DEM&#039;&#039;&#039;).&lt;br /&gt;
==Definition==&lt;br /&gt;
What Terrain Mesh is - &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain Mesh&#039;&#039;&#039; is the name given to the &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;E&#039;&#039;&#039;levation &#039;&#039;&#039;M&#039;&#039;&#039;odel, (&#039;&#039;&#039;DEM&#039;&#039;&#039;), that represents these topographical features. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;surface&#039;&#039;&#039; of the earth over which the user flies in the simulator, (or crashes into !).&lt;br /&gt;
&lt;br /&gt;
What Terrain Mesh is not - &lt;br /&gt;
* The picture overlaid on the ground, (see [[Resample]]).&lt;br /&gt;
* The picture overlaid on water, (see [[Resample]]).&lt;br /&gt;
* The objects placed on that surface, (see ADD_LINK_HERE).&lt;br /&gt;
&lt;br /&gt;
== Explanation ==&lt;br /&gt;
Think of a flat handkerchief with a grid of lines drawn on it, (mesh).&lt;br /&gt;
[[Image:Mesh.jpg|left|180px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lay the handkerchief on the surface of a desk.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
All points on the grid have the same elevation, (i.e. they&#039;re at the same elevation as the surface of the desk).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now lay that handkerchief over a collection of small objects sat on the desk.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Mesh_3D.jpg|center|180px]]&lt;br /&gt;
you&#039;ll see the grid is distorted into bumps &amp;amp; dips by those objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you then measured the elevation at each intersection of the grid, (relative to the desk surface),&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
you&#039;d have a mesh of elevation data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convert that data into a digital format,&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
and you&#039;ll have a DEM.&lt;br /&gt;
&lt;br /&gt;
== DEM (Digital Elevation Model / Map) ==&lt;br /&gt;
DEM&#039;s are available in two main types -&lt;br /&gt;
* D&#039;&#039;&#039;T&#039;&#039;&#039;M (Digital &#039;&#039;&#039;Terrain&#039;&#039;&#039; Model) - The &#039;bald earth&#039; model. The underlying terrain surface. Excludes all elevation data caused by - vegetation, buildings, and other cultural features.&lt;br /&gt;
* D&#039;&#039;&#039;S&#039;&#039;&#039;M (Digital &#039;&#039;&#039;Surface&#039;&#039;&#039; Model) - The &#039;canopy&#039; model. Includes elevations caused by buildings, vegetation, and roads, as well as natural terrain features.&lt;br /&gt;
&lt;br /&gt;
== Scenery ==&lt;br /&gt;
All scenery objects are placed relative to the mesh &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
but differ as to whether they are placed with an &#039;&#039;absolute&#039;&#039; Z value, (height AMSL),&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
or simply placed &#039;&#039;directly on&#039;&#039; or &#039;&#039;relative&#039;&#039; to the terrain, (height AGL). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mesh data may be replaced with alternately-sourced mesh data, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
so consideration should be given to whether scenery objects are placed &#039;&#039;absolute&#039;&#039; or &#039;&#039;relative&#039;&#039;  to the terrain &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
and steps taken to avoid objects floating/sinking above/below the mesh.&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
* [[FS2004]], and previous versions. Mesh was &amp;quot;2.5D&amp;quot; or &#039;&#039;quasi&#039;&#039; 3 dimensional &lt;br /&gt;
i.e. Latitude X and Longitude Y, but with vertical Z values, extending upward from an infinite-plane of zero elevation. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Users couldnt truly fly &#039;around the globe&#039; but were able to fly continuously &#039;&#039;across&#039;&#039; it.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The simulator would continue to load data tiles across the world to give the illusion of flying around the earth.&lt;br /&gt;
&lt;br /&gt;
* [[FSX]] intoduced a fully three dimensional mesh based on the curvature of the earth and displaying a true horizon.&lt;br /&gt;
Users could also zoom out to see the whole globe modelled. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This was termed &#039;round earth&#039; in the marketing material and introduced some issues with scenery design.&lt;br /&gt;
&lt;br /&gt;
== Mesh Creation ==&lt;br /&gt;
It is not practical for the casual user to &#039;&#039;create&#039;&#039; their own mesh - The major proportion of mesh creation is, in fact, direct conversion of existing GIS data into a [[BGL]]&lt;br /&gt;
&lt;br /&gt;
Conversion of mesh uses the [[resample]] tool which converts a number of common DTM formats into a Flightsim [[BGL]]&lt;br /&gt;
&lt;br /&gt;
==Other Scenery Elements that Effect Mesh==&lt;br /&gt;
* Flatten, (aka Airport Boundaries) - These override the mesh in the area covered by the polygon. They replace the height values in order to raise or lower the terrain to a defined, known level such as an airfield, ().&lt;br /&gt;
* Water Polygons - Similar to a Flatten but with a water effect and information about slope added.&lt;br /&gt;
* Vector Line data (i.e. Roads, Streams, etc.) These flatten the terrain underneath the line in a number of ways, (as defined in the terrain.cfg), including &lt;br /&gt;
** Removing slope across the line, (i.e. Roads).&lt;br /&gt;
** Raising the terrain under the line by a set amount (i.e. Railway).&lt;br /&gt;
** Lowering it by a set amount (i.e. Streams).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery_Design]]&lt;br /&gt;
[[Category:Terrain_Design]]&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=File:Mesh_3D.jpg&amp;diff=6725</id>
		<title>File:Mesh 3D.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=File:Mesh_3D.jpg&amp;diff=6725"/>
		<updated>2009-04-23T10:02:12Z</updated>

		<summary type="html">&lt;p&gt;Timmo: 3D mesh picture created in Google Sketchup by Timmo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;3D mesh picture created in Google Sketchup by Timmo&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=6724</id>
		<title>Terrain mesh introduction</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=6724"/>
		<updated>2009-04-23T10:01:10Z</updated>

		<summary type="html">&lt;p&gt;Timmo: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = true&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = true&lt;br /&gt;
| FS2002 = true&lt;br /&gt;
| FS2000 = true&lt;br /&gt;
| FS98 = false&lt;br /&gt;
}}&lt;br /&gt;
The real-life world is not flat, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
it comprises mountains, valleys, rolling plains, etc. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. &#039;&#039;&#039;topographical features&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These bumps, dips, and flat areas, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
all need to be translated into a surface understood by the simulator.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. A &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;E&#039;&#039;&#039;levation &#039;&#039;&#039;M&#039;&#039;&#039;odel, (&#039;&#039;&#039;DEM&#039;&#039;&#039;).&lt;br /&gt;
==Definition==&lt;br /&gt;
What Terrain Mesh is - &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain Mesh&#039;&#039;&#039; is the name given to the &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;E&#039;&#039;&#039;levation &#039;&#039;&#039;M&#039;&#039;&#039;odel, (&#039;&#039;&#039;DEM&#039;&#039;&#039;), that represents these topographical features. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;surface&#039;&#039;&#039; of the earth over which the user flies in the simulator, (or crashes into !).&lt;br /&gt;
&lt;br /&gt;
What Terrain Mesh is not - &lt;br /&gt;
* The picture overlaid on the ground, (see [[Resample]]).&lt;br /&gt;
* The picture overlaid on water, (see [[Resample]]).&lt;br /&gt;
* The objects placed on that surface, (see ADD_LINK_HERE).&lt;br /&gt;
&lt;br /&gt;
== Explanation ==&lt;br /&gt;
Think of a flat handkerchief with a grid of lines drawn on it, (mesh).&lt;br /&gt;
[[Image:Mesh.jpg|left|150px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lay the handkerchief on the surface of a desk.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
All points on the grid have the same elevation, (i.e. they&#039;re at the same elevation as the surface of the desk).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now lay that handkerchief over a collection of small objects sat on the desk.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
you&#039;ll see the grid is distorted into bumps &amp;amp; dips by those objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you then measured the elevation at each intersection of the grid, (relative to the desk surface),&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
you&#039;d have a mesh of elevation data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convert that data into a digital format,&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
and you&#039;ll have a DEM.&lt;br /&gt;
&lt;br /&gt;
== DEM (Digital Elevation Model / Map) ==&lt;br /&gt;
DEM&#039;s are available in two main types -&lt;br /&gt;
* D&#039;&#039;&#039;T&#039;&#039;&#039;M (Digital &#039;&#039;&#039;Terrain&#039;&#039;&#039; Model) - The &#039;bald earth&#039; model. The underlying terrain surface. Excludes all elevation data caused by - vegetation, buildings, and other cultural features.&lt;br /&gt;
* D&#039;&#039;&#039;S&#039;&#039;&#039;M (Digital &#039;&#039;&#039;Surface&#039;&#039;&#039; Model) - The &#039;canopy&#039; model. Includes elevations caused by buildings, vegetation, and roads, as well as natural terrain features.&lt;br /&gt;
&lt;br /&gt;
== Scenery ==&lt;br /&gt;
All scenery objects are placed relative to the mesh &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
but differ as to whether they are placed with an &#039;&#039;absolute&#039;&#039; Z value, (height AMSL),&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
or simply placed &#039;&#039;directly on&#039;&#039; or &#039;&#039;relative&#039;&#039; to the terrain, (height AGL). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mesh data may be replaced with alternately-sourced mesh data, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
so consideration should be given to whether scenery objects are placed &#039;&#039;absolute&#039;&#039; or &#039;&#039;relative&#039;&#039;  to the terrain &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
and steps taken to avoid objects floating/sinking above/below the mesh.&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
* [[FS2004]], and previous versions. Mesh was &amp;quot;2.5D&amp;quot; or &#039;&#039;quasi&#039;&#039; 3 dimensional &lt;br /&gt;
i.e. Latitude X and Longitude Y, but with vertical Z values, extending upward from an infinite-plane of zero elevation. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Users couldnt truly fly &#039;around the globe&#039; but were able to fly continuously &#039;&#039;across&#039;&#039; it.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The simulator would continue to load data tiles across the world to give the illusion of flying around the earth.&lt;br /&gt;
&lt;br /&gt;
* [[FSX]] intoduced a fully three dimensional mesh based on the curvature of the earth and displaying a true horizon.&lt;br /&gt;
Users could also zoom out to see the whole globe modelled. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This was termed &#039;round earth&#039; in the marketing material and introduced some issues with scenery design.&lt;br /&gt;
&lt;br /&gt;
== Mesh Creation ==&lt;br /&gt;
It is not practical for the casual user to &#039;&#039;create&#039;&#039; their own mesh - The major proportion of mesh creation is, in fact, direct conversion of existing GIS data into a [[BGL]]&lt;br /&gt;
&lt;br /&gt;
Conversion of mesh uses the [[resample]] tool which converts a number of common DTM formats into a Flightsim [[BGL]]&lt;br /&gt;
&lt;br /&gt;
==Other Scenery Elements that Effect Mesh==&lt;br /&gt;
* Flatten, (aka Airport Boundaries) - These override the mesh in the area covered by the polygon. They replace the height values in order to raise or lower the terrain to a defined, known level such as an airfield, ().&lt;br /&gt;
* Water Polygons - Similar to a Flatten but with a water effect and information about slope added.&lt;br /&gt;
* Vector Line data (i.e. Roads, Streams, etc.) These flatten the terrain underneath the line in a number of ways, (as defined in the terrain.cfg), including &lt;br /&gt;
** Removing slope across the line, (i.e. Roads).&lt;br /&gt;
** Raising the terrain under the line by a set amount (i.e. Railway).&lt;br /&gt;
** Lowering it by a set amount (i.e. Streams).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery_Design]]&lt;br /&gt;
[[Category:Terrain_Design]]&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=File:Mesh.jpg&amp;diff=6723</id>
		<title>File:Mesh.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=File:Mesh.jpg&amp;diff=6723"/>
		<updated>2009-04-23T09:51:01Z</updated>

		<summary type="html">&lt;p&gt;Timmo: Mesh- Generated in Google Sketchup by Timmo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mesh- Generated in Google Sketchup by Timmo&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=6707</id>
		<title>Terrain mesh introduction</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=6707"/>
		<updated>2009-04-01T08:23:02Z</updated>

		<summary type="html">&lt;p&gt;Timmo: /* Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = true&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = true&lt;br /&gt;
| FS2002 = true&lt;br /&gt;
| FS2000 = true&lt;br /&gt;
| FS98 = false&lt;br /&gt;
}}&lt;br /&gt;
The real-life world is not flat, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
it comprises mountains, valleys, rolling plains, etc. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. &#039;&#039;&#039;topographical features&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These bumps, dips, and flat areas, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
all need to be translated into a surface understood by the simulator.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. A &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;E&#039;&#039;&#039;levation &#039;&#039;&#039;M&#039;&#039;&#039;odel, (&#039;&#039;&#039;DEM&#039;&#039;&#039;).&lt;br /&gt;
==Definition==&lt;br /&gt;
What Terrain Mesh is - &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain Mesh&#039;&#039;&#039; is the name given to the &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;E&#039;&#039;&#039;levation &#039;&#039;&#039;M&#039;&#039;&#039;odel, (&#039;&#039;&#039;DEM&#039;&#039;&#039;), that represents these topographical features. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
i.e. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;surface&#039;&#039;&#039; of the earth over which the user flies in the simulator, (or crashes into !).&lt;br /&gt;
&lt;br /&gt;
What Terrain Mesh is not - &lt;br /&gt;
* The picture overlaid on the ground, (see [[Resample]]).&lt;br /&gt;
* The picture overlaid on water, (see [[Resample]]).&lt;br /&gt;
* The objects placed on that surface, (see ADD_LINK_HERE).&lt;br /&gt;
&lt;br /&gt;
== Explanation ==&lt;br /&gt;
Think of a flat handkerchief with a grid of lines drawn on it, (mesh). (SCREENIE TO BE ADDED)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lay the handkerchief on the surface of a desk.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
All points on the grid have the same elevation, (i.e. they&#039;re at the same elevation as the surface of the desk).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now lay that handkerchief over a collection of small objects sat on the desk.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
you&#039;ll see the grid is distorted into bumps &amp;amp; dips by those objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you then measured the elevation at each intersection of the grid, (relative to the desk surface),&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
you&#039;d have a mesh of elevation data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convert that data into a digital format,&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
and you&#039;ll have a DEM.&lt;br /&gt;
&lt;br /&gt;
== DEM (Digital Elevation Model / Map) ==&lt;br /&gt;
DEM&#039;s are available in two main types -&lt;br /&gt;
* D&#039;&#039;&#039;T&#039;&#039;&#039;M (Digital &#039;&#039;&#039;Terrain&#039;&#039;&#039; Model) - The &#039;bald earth&#039; model. The underlying terrain surface. Excludes all elevation data caused by - vegetation, buildings, and other cultural features.&lt;br /&gt;
* D&#039;&#039;&#039;S&#039;&#039;&#039;M (Digital &#039;&#039;&#039;Surface&#039;&#039;&#039; Model) - The &#039;canopy&#039; model. Includes elevations caused by buildings, vegetation, and roads, as well as natural terrain features.&lt;br /&gt;
&lt;br /&gt;
== Scenery ==&lt;br /&gt;
All scenery objects are placed relative to the mesh &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
but differ as to whether they are placed with an &#039;&#039;absolute&#039;&#039; Z value, (height AMSL),&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
or simply placed &#039;&#039;directly on&#039;&#039; or &#039;&#039;relative&#039;&#039; to the terrain, (height AGL). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mesh data may be replaced with alternately-sourced mesh data, &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
so consideration should be given to whether scenery objects are placed &#039;&#039;absolute&#039;&#039; or &#039;&#039;relative&#039;&#039;  to the terrain &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
and steps taken to avoid objects floating/sinking above/below the mesh.&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
* [[FS2004]], and previous versions. Mesh was &amp;quot;2.5D&amp;quot; or &#039;&#039;quasi&#039;&#039; 3 dimensional &lt;br /&gt;
i.e. Latitude X and Longitude Y, but with vertical Z values, extending upward from an infinite-plane of zero elevation. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Users couldnt truly fly &#039;around the globe&#039; but were able to fly continuously &#039;&#039;across&#039;&#039; it.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The simulator would continue to load data tiles across the world to give the illusion of flying around the earth.&lt;br /&gt;
&lt;br /&gt;
* [[FSX]] intoduced a fully three dimensional mesh based on the curvature of the earth and displaying a true horizon.&lt;br /&gt;
Users could also zoom out to see the whole globe modelled. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This was termed &#039;round earth&#039; in the marketing material and introduced some issues with scenery design.&lt;br /&gt;
&lt;br /&gt;
== Mesh Creation ==&lt;br /&gt;
It is not practical for the casual user to &#039;&#039;create&#039;&#039; their own mesh - The major proportion of mesh creation is, in fact, direct conversion of existing GIS data into a [[BGL]]&lt;br /&gt;
&lt;br /&gt;
Conversion of mesh uses the [[resample]] tool which converts a number of common DTM formats into a Flightsim [[BGL]]&lt;br /&gt;
&lt;br /&gt;
==Other Scenery Elements that Effect Mesh==&lt;br /&gt;
* Flatten, (aka Airport Boundaries) - These override the mesh in the area covered by the polygon. They replace the height values in order to raise or lower the terrain to a defined, known level such as an airfield, ().&lt;br /&gt;
* Water Polygons - Similar to a Flatten but with a water effect and information about slope added.&lt;br /&gt;
* Vector Line data (i.e. Roads, Streams, etc.) These flatten the terrain underneath the line in a number of ways, (as defined in the terrain.cfg), including &lt;br /&gt;
** Removing slope across the line, (i.e. Roads).&lt;br /&gt;
** Raising the terrain under the line by a set amount (i.e. Railway).&lt;br /&gt;
** Lowering it by a set amount (i.e. Streams).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery_Design]]&lt;br /&gt;
[[Category:Terrain_Design]]&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=SHP&amp;diff=6706</id>
		<title>SHP</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=SHP&amp;diff=6706"/>
		<updated>2009-04-01T08:15:31Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ESRI Shapefile (SHP) format is a common format to store geospatial vector data. A &#039;shapefile&#039; actually consists of at least three files with different extensions but the same filename. I.e. Roads.shp containing the geometry, Roads.dbf containing the attributes for each geometry and Roads.shx containing index information. All three of these files must be present with the same name.&lt;br /&gt;
&lt;br /&gt;
There are other optional files associated with a shapefile ( I.e. *.sbn, *.sbx, *.prj and *.shp.xml which contains metadata information). With the *.shp.xml files especially, it is important to not confuse these with the .xml files needed for the Shp2Vec program to work. &lt;br /&gt;
&lt;br /&gt;
A shapefile can store simple point OR line OR polygon features. It is the format used by the [[Shp2Vec]] tool of the FSX SDK to generate vector based terrain scenery.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Shapefile Wikipedia shapefile article]&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Shp2Vec&amp;diff=6420</id>
		<title>Shp2Vec</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Shp2Vec&amp;diff=6420"/>
		<updated>2008-11-18T23:50:04Z</updated>

		<summary type="html">&lt;p&gt;Timmo: added some tips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shp2Vec.exe is a tool provided in the FSX SDK to convert data from the common GIS &#039;Shapefile&#039; format into the Bgl format used by Flight Simulator.&lt;br /&gt;
&lt;br /&gt;
All input data must be in terms of WGS84 coordinate system, have relevant columns and entries in its attribute table and be accompanied by the correct XML defintion file supplied in the SDK examples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tips:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Ensure polygons are &#039;single part&#039; and not multipart features (use the multipart to single part tool in ArcGIS)- Multipart features will not process properly in Shp2Vec.&lt;br /&gt;
&lt;br /&gt;
* Ensure the shapefile has the correct columns added. Data will not be converted and appear to process indefinitely but no errors will be returned if it does not..&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=5757</id>
		<title>Terrain mesh introduction</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=5757"/>
		<updated>2008-05-19T04:35:31Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Definition==&lt;br /&gt;
Mesh is the name given to the computer model of the surface of the earth- The surface over which the user flies when in the simulator, and the surface onto which the users lands (or crashes!)&lt;br /&gt;
&lt;br /&gt;
*Words with similar meaning include: DTM (Digital Terrain Model), DEM (Digital Elevation Model) or &#039;Elevation model&#039;.&lt;br /&gt;
&lt;br /&gt;
*All scenery objects are placed in relation to the mesh but differ as to whether they are placed with an absolute Z value or simply placed &#039;on&#039; the terrain. Due to the fact that mesh data can be replaced with alternate data, consideration should be given to whether scenery objects are placed &#039;&#039;relative&#039;&#039; or &#039;&#039;absolute&#039;&#039; on the terrain and steps taken to avoid objcts floating/sinking above/below the mesh.&lt;br /&gt;
&lt;br /&gt;
*Prior to [[FSX]], mesh was &amp;quot;2.5D&amp;quot; or &#039;&#039;quasi&#039;&#039; 3 dimensional (I.e. Latitude X and Longitude Y but with vertical Z values extending upward from an infinite plain at 0). Users couldnt truly fly &#039;around the globe&#039; but were able to fly continuously &#039;&#039;across&#039;&#039; it- The simulator would continue to load data tiles across the world to give the illusion of flying around the earth.&lt;br /&gt;
&lt;br /&gt;
*With the release of FSX, a fully three dimensional mesh was introduced meaning that flights at high altitude would show the curvature of the earth and users could zoom out to see the whole globe modelled. This was termed &#039;round earth&#039; in the marketing material and introduced some issues with scenery design.&lt;br /&gt;
&lt;br /&gt;
==Creation of Mesh==&lt;br /&gt;
&lt;br /&gt;
It is not practical for the casual user to &#039;&#039;create&#039;&#039; their own mesh- The majority of mesh creation is, in fact, conversion of existing GIS data into a [[BGL]]&lt;br /&gt;
&lt;br /&gt;
Conversion of mesh uses the [[resample]] tool which converts a number of common DTM formats into a Flightsim [[BGL]]&lt;br /&gt;
&lt;br /&gt;
==Other Scenery Elements that Effect Mesh==&lt;br /&gt;
* Flatten- These override the mesh in the area covered by the polygon and replace the height values in order to raise or lower the terrain to a defined, known level such as an airfield.&lt;br /&gt;
* Water Polygons- Similar to a Flatten but with a water effect and information about slope added.&lt;br /&gt;
* Vector Line data (I.e. Roads, Streams etc) These flatten the terrain underneath the line in a number of ways (defined in Terrain.cfg) including removing slope accross the line (i.e. a road), raising the terrain under the line by a set amount (I.e. Railway) or lowering it by a set amount (I.e. Stream)&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery_design]]&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=5756</id>
		<title>Terrain mesh introduction</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Terrain_mesh_introduction&amp;diff=5756"/>
		<updated>2008-05-19T03:54:55Z</updated>

		<summary type="html">&lt;p&gt;Timmo: New page: ==Definition== Mesh is the name given to the computer model of the surface of the earth- The surface over which the user flies when in the simulator, and the surface onto which the users l...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Definition==&lt;br /&gt;
Mesh is the name given to the computer model of the surface of the earth- The surface over which the user flies when in the simulator, and the surface onto which the users lands (or crashes!)&lt;br /&gt;
&lt;br /&gt;
*Words with similar meaning include: DTM (Digital Terrain Model), DEM (Digital Elevation Model) or &#039;Elevation model&#039;.&lt;br /&gt;
&lt;br /&gt;
*All scenery objects are placed in relation to the mesh but differ as to whether they are placed with an absolute Z value or simply placed &#039;on&#039; the terrain. Due to the fact that mesh data can be replaced with alternate data, consideration should be given to whether scenery objects are placed &#039;&#039;relative&#039;&#039; or &#039;&#039;absolute&#039;&#039; on the terrain and steps taken to avoid objcts floating/sinking above/below the mesh.&lt;br /&gt;
&lt;br /&gt;
*Prior to [[FSX]], mesh was &amp;quot;2.5D&amp;quot; or &#039;&#039;quasi&#039;&#039; 3 dimensional (I.e. Latitude X and Longitude Y but with vertical Z values extending upward from an infinite plain at 0). Users couldnt truly fly &#039;around the globe&#039; but were able to fly continuously &#039;&#039;across&#039;&#039; it- The simulator would continue to load data tiles across the world to give the illusion of flying around the earth.&lt;br /&gt;
&lt;br /&gt;
*With the release of FSX, a fully three dimensional mesh was introduced meaning that flights at high altitude would show the curvature of the earth and users could zoom out to see the whole globe modelled. This was termed &#039;round earth&#039; in the marketing material and introduced some issues with scenery design.&lt;br /&gt;
&lt;br /&gt;
==Creation of Mesh==&lt;br /&gt;
&lt;br /&gt;
It is not practical for the casual user to &#039;&#039;create&#039;&#039; their own mesh- The majority of mesh creation is, in fact, conversion of existing GIS data into a [[BGL]]&lt;br /&gt;
&lt;br /&gt;
Conversion of mesh uses the [[resample]] tool which converts a number of common DTM formats into a Flightsim [[BGL]]&lt;br /&gt;
&lt;br /&gt;
==Other Scenery Elements that Effect Mesh==&lt;br /&gt;
* Flatten- These override the mesh in the area covered by the polygon and replace the height values in order to raise or lower the terrain to a defined, known level such as an airfield.&lt;br /&gt;
* Water Polygons- Similar to a Flatten but with a water effect and information about slope added.&lt;br /&gt;
* Vector Line data (I.e. Roads, Streams etc) These flatten the terrain underneath the line in a number of ways (defined in Terrain.cfg) including removing slope accross the line (i.e. a road), raising the terrain under the line by a set amount (I.e. Railway) or lowering it by a set amount (I.e. Stream)&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5755</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5755"/>
		<updated>2008-05-19T03:01:55Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = false&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = true&lt;br /&gt;
| FS2002 = true&lt;br /&gt;
| FS2000 = unknown&lt;br /&gt;
| FS98 = unknown&lt;br /&gt;
}}&lt;br /&gt;
BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language, where BAO stands for Bruce Artwick Organisation who was the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension. It is best to think of the BGL format as a &#039;container&#039; into which Flight Simulator objects are placed.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain&#039;&#039;&#039; (Created using [[Resample]]) &lt;br /&gt;
*[[Mesh]]: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
*Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
*Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
*Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vector data&#039;&#039;&#039; (Created using [[Shp2Vec]])&lt;br /&gt;
*Roads and Railway information: A vector line calling the relevant texture and placed on the mesh.&lt;br /&gt;
*Freeway information: An &#039;invisible&#039; vector line calling the road traffic effect (i.e. moving cars)&lt;br /&gt;
*Water polygons: 3D vector polygons using a water texture/effect and placed using their 3D vertice values (I.e. they override the terrain mesh)&lt;br /&gt;
*LandClass polygons: Vector Polygons where the attribute of the polygon represents the type of landcover and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Shoreline information: A vector line calling the wave effect (I.e. moving waves)&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Airport Information&#039;&#039;&#039; (Created using [[BGLComp]]for FSX or [[BGLC]] up to FS9)&lt;br /&gt;
*Compiled Runway, taxiway, apron information etc (XML)&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position ([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Other Scenery objects&#039;&#039;&#039;&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
*[[Effects]] placed in a certain position&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Shp2Vec&amp;diff=5593</id>
		<title>Shp2Vec</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Shp2Vec&amp;diff=5593"/>
		<updated>2008-05-14T02:26:48Z</updated>

		<summary type="html">&lt;p&gt;Timmo: New page: Shp2Vec.exe is a tool provided in the FSX SDK to convert data from the common GIS &amp;#039;Shapefile&amp;#039; format into the Bgl format used by Flight Simulator.  All input data must be in terms of WGS84...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shp2Vec.exe is a tool provided in the FSX SDK to convert data from the common GIS &#039;Shapefile&#039; format into the Bgl format used by Flight Simulator.&lt;br /&gt;
&lt;br /&gt;
All input data must be in terms of WGS84 coordinate system, have relevant columns and entries in its attribute table and be accompanied by the correct XML defintion file supplied in the SDK examples.&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5592</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5592"/>
		<updated>2008-05-14T02:23:21Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language, where BAO stands for Bruce Artwick Organisation who was the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension. It is best to think of the BGL format as a &#039;container&#039; into which Flight Simulator objects are placed.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain&#039;&#039;&#039; (Created using [[Resample]]) &lt;br /&gt;
*Mesh: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
*Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
*Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
*Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vector data&#039;&#039;&#039; (Created using [[Shp2Vec]])&lt;br /&gt;
*Roads and Railway information: A vector line calling the relevant texture and placed on the mesh.&lt;br /&gt;
*Freeway information: An &#039;invisible&#039; vector line calling the road traffic effect (i.e. moving cars)&lt;br /&gt;
*Water polygons: 3D vector polygons using a water texture/effect and placed using their 3D vertice values (I.e. they override the terrain mesh)&lt;br /&gt;
*LandClass polygons: Vector Polygons where the attribute of the polygon represents the type of landcover and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Shoreline information: A vector line calling the wave effect (I.e. moving waves)&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Airport Information&#039;&#039;&#039; (Created using [[BGLComp]]for FSX or [[BGLC]] up to FS9)&lt;br /&gt;
*Compiled Runway, taxiway, apron information etc (XML)&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position ([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Other Scenery objects&#039;&#039;&#039;&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
*[[Effects]] placed in a certain position&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5591</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5591"/>
		<updated>2008-05-14T02:22:48Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language, where BAO stands for Bruce Artwick Organisation who was the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension. It is best to think of the BGL format as a &#039;container&#039; into which Flight Simulator objects are placed.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain&#039;&#039;&#039; (Created using [[Resample]]) &lt;br /&gt;
*Mesh: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
*Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
*Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
*Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vector data&#039;&#039;&#039; (Created using [[Sp2Vec]])&lt;br /&gt;
*Roads and Railway information: A vector line calling the relevant texture and placed on the mesh.&lt;br /&gt;
*Freeway information: An &#039;invisible&#039; vector line calling the road traffic effect (i.e. moving cars)&lt;br /&gt;
*Water polygons: 3D vector polygons using a water texture/effect and placed using their 3D vertice values (I.e. they override the terrain mesh)&lt;br /&gt;
*LandClass polygons: Vector Polygons where the attribute of the polygon represents the type of landcover and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Shoreline information: A vector line calling the wave effect (I.e. moving waves)&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Airport Information&#039;&#039;&#039; (Created using [[BGLComp]]for FSX or [[BGLC]] up to FS9)&lt;br /&gt;
*Compiled Runway, taxiway, apron information etc (XML)&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position ([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Other Scenery objects&#039;&#039;&#039;&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
*[[Effects]] placed in a certain position&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGLC&amp;diff=5590</id>
		<title>BGLC</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGLC&amp;diff=5590"/>
		<updated>2008-05-14T02:19:14Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGLC stands for BGL Compiler and is the official compiler that Microsoft provided with their [[SDK]] to generate [[BGL]] files prior to the release of FSX. The last official version was provided with the FS2002 SDK. For FS2004 Microsoft did not release a new version, but the community provided an updated version that allows compilation of objects according to the FS2004 SDK.&lt;br /&gt;
&lt;br /&gt;
For FSX, the replacement tool is called [[bglcomp]] (bglcomp.exe)&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://download.microsoft.com/download/FlightSim2002/Install/sdk/W982KMeXP/EN-US/bgl_compiler_sdk.exe FS2002 BGL Compiler SDK]&lt;br /&gt;
* [http://www.fsdeveloper.com/forum/attachment.php?attachmentid=72 FS2004 BGLC_9] by Dick Ludowise&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Scenery_design]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5589</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5589"/>
		<updated>2008-05-14T02:13:33Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language, where BAO stands for Bruce Artwick Organisation who was the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension. It is best to think of the BGL format as a &#039;container&#039; into which Flight Simulator objects are placed.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain&#039;&#039;&#039; (Created using [[Resample]]) &lt;br /&gt;
*Mesh: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
*Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
*Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
*Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vector data&#039;&#039;&#039; (Created using [[Sp2Vec]])&lt;br /&gt;
*Roads and Railway information: A vector line calling the relevant texture and placed on the mesh.&lt;br /&gt;
*Freeway information: An &#039;invisible&#039; vector line calling the road traffic effect (i.e. moving cars)&lt;br /&gt;
*Water polygons: 3D vector polygons using a water texture/effect and placed using their 3D vertice values (I.e. they override the terrain mesh)&lt;br /&gt;
*LandClass polygons: Vector Polygons where the attribute of the polygon represents the type of landcover and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Shoreline information: A vector line calling the wave effect (I.e. moving waves)&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Airport Information&#039;&#039;&#039; (Created using [[BGLComp]])&lt;br /&gt;
*Compiled Runway, taxiway, apron information etc (XML)&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position ([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Other Scenery objects&#039;&#039;&#039;&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position([[MDL]] + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
*[[Effects]] placed in a certain position&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5588</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5588"/>
		<updated>2008-05-14T02:11:29Z</updated>

		<summary type="html">&lt;p&gt;Timmo: Provided more examples of the types of information held in the bgl &amp;#039;Container&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language, where BAO stands for Bruce Artwick Organisation who was the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension. It is best to think of the BGL format as a &#039;container&#039; into which Flight Simulator objects are placed.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Terrain&#039;&#039;&#039; (Created using [[Resample]]) &lt;br /&gt;
*Mesh: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
*Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
*Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
*Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vector data&#039;&#039;&#039; (Created using [[Sp2Vec]])&lt;br /&gt;
*Roads and Railway information: A vector line calling the relevant texture and placed on the mesh.&lt;br /&gt;
*Freeway information: An &#039;invisible&#039; vector line calling the road traffic effect (i.e. moving cars)&lt;br /&gt;
*Water polygons: 3D vector polygons using a water texture/effect and placed using their 3D vertice values (I.e. they override the terrain mesh)&lt;br /&gt;
*LandClass polygons: Vector Polygons where the attribute of the polygon represents the type of landcover and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Shoreline information: A vector line calling the wave effect (I.e. moving waves)&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Airport Information&#039;&#039;&#039; (Created using [[BGLComp]])&lt;br /&gt;
*Compiled Runway, taxiway, apron information etc (XML)&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position (*.mdl + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
-----&lt;br /&gt;
&#039;&#039;&#039;Other Scenery objects&#039;&#039;&#039;&lt;br /&gt;
*Custom buildings made with Gmax placed in a certain position(*.mdl + XML)&lt;br /&gt;
*Library buildings placed in a certain position.&lt;br /&gt;
*[[Effects]] placed in a certain position&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5587</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5587"/>
		<updated>2008-05-14T01:46:31Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language. Where BAO stands for Bruce Artwick Organisation, the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension.&lt;br /&gt;
&lt;br /&gt;
These include:&lt;br /&gt;
&#039;&#039;&#039;Terrain&#039;&#039;&#039; (Created using [[Resample]]) &lt;br /&gt;
*Mesh: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
*Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
*Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
*Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
*Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Airport Information&#039;&#039;&#039; (Created using [[BGLComp]])&lt;br /&gt;
*Compiled Runway, taxiway, apron information etc (XML)&lt;br /&gt;
*Placed Buildings and objects (*.mdl + XML)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other Scenery objects&#039;&#039;&#039;&lt;br /&gt;
*Custom buildings made with Gmax (*.mdl + XML)&lt;br /&gt;
*Library buildings placed in a new position.&lt;br /&gt;
&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5586</id>
		<title>BGL</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=BGL&amp;diff=5586"/>
		<updated>2008-05-14T01:43:05Z</updated>

		<summary type="html">&lt;p&gt;Timmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGL is the file format used by Microsoft Flight Simulator to store scenery. It uses the .bgl file extension. BGL stands for BAO Graphical Language. Where BAO stands for Bruce Artwick Organisation, the original creator of the Flight Simulator series.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different &#039;types&#039; of BGL file, each with their own structure, each containing different things, but all with the *.bgl extension.&lt;br /&gt;
&lt;br /&gt;
These include:&lt;br /&gt;
&#039;&#039;&#039;Terrain&#039;&#039;&#039; (Created using [[Resample]]) &lt;br /&gt;
Mesh: A 3D surface representing terrain onto which textures and models are placed. &lt;br /&gt;
Aerial Imagery: An aerial photo converted for use in Flightsim.&lt;br /&gt;
Landclass: A low resolution raster where each pixel represents and type of landcover (i.e. farmland, bush) and which, in turn, loads the relevant texture to &#039;paint&#039; the mesh.&lt;br /&gt;
Waterclass: A low resolution raster where each pixel represents and type of water (I.e. Tropical, muddy) and which, in turn, loads the relevant texture to alter the colour of the water. &lt;br /&gt;
Population Density: A raster where each pixel represents the number of people living in the area.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Airport Information&#039;&#039;&#039; (Created using [[BGLComp]])&lt;br /&gt;
Compiled Runway, taxiway, apron information etc (XML)&lt;br /&gt;
Placed Buildings and objects (*.mdl + XML)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other Scenery objects&#039;&#039;&#039;&lt;br /&gt;
Custom buildings made with Gmax (*.mdl + XML)&lt;br /&gt;
Library buildings placed in a new position.&lt;br /&gt;
&lt;br /&gt;
Legacy BGL files were made with [[BGLC]] or [[SCASM]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File_Formats]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Modeling_and_texturing_for_optimal_performance&amp;diff=5470</id>
		<title>Modeling and texturing for optimal performance</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Modeling_and_texturing_for_optimal_performance&amp;diff=5470"/>
		<updated>2008-05-02T04:19:53Z</updated>

		<summary type="html">&lt;p&gt;Timmo: /* Levels of detail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = false&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = false&lt;br /&gt;
| FS2002 = false&lt;br /&gt;
| FS2000 = unknown&lt;br /&gt;
| FS98 = unknown&lt;br /&gt;
}}&lt;br /&gt;
When developing an object, the designer is always seeking a compromise between the amount of detail to put into the object and the performance achieved when using it in Flight Simulator. On one hand we would like to put in a lot of detail, either as polygons or as high resolution textures, because that will give the most realistic result. On the other hand we also want the objects we create to perform reasonably well when we load them in FS, otherwise the users of our object (either aircraft or scenery) will not have an enjoyable experience. So the developer has to find a compromise here.&lt;br /&gt;
&lt;br /&gt;
On his blog Adrian Woods has an interesting series of posts about how to optimize the performance of the art you are making. I would like to encourage everybody to have a look at those posts ([http://blogs.technet.com/torgo3000/archive/2007/06/01/performance-art.aspx part 1], [http://blogs.technet.com/torgo3000/archive/2007/06/14/performance-art-2-when-is-a-draw-call-not-a-draw-call.aspx part 2], [http://blogs.technet.com/torgo3000/archive/2007/06/19/performance-art-3-polygons-don-t-matter.aspx part 3] and [http://blogs.technet.com/torgo3000/archive/2007/09/17/performance-art-4-always-use-a-texture-and-bones-ain-t-free.aspx part 4]). But because these posts might be a bit technical, this article aims to provide some more background information and examples to express his suggestions more clearly.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
Before we start with the actual discussion on how to model and texture your object for the best performance, it is needed to start with a little bit of background information on what determines the performance of your object once it is loaded in FS. That is the aim of this section and we will discuss vertices and drawcalls.&lt;br /&gt;
&lt;br /&gt;
=== Vertices ===&lt;br /&gt;
&lt;br /&gt;
[[Image:perftut_box.jpg|A simple cube|thumb]] At first you might think that the amount of polygons in your object are the most important for the performance. A simple cube seems to have 6 polygons for example, but is that true?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[Image:perftut_box_triangles.jpg|A simple cube with triangles|thumb]] The graphics card that is drawing your object on screen does not work with polygons, all it can do is draw triangles on screen. So to get a better understanding of the amount of work the graphical card has to do when drawing your object you should not count the polygons, but the triangles. For the simple cube that means we have 12 triangles. Especially when you have polygons with a lot of vertices, like the roof of a complex building, you will see that one polygon can consist of a lot of triangles. So the next time you determine how complex your object is count the triangles. &lt;br /&gt;
&lt;br /&gt;
Going back to the graphics card, it now has the task to draw all the triangles on screen. To do this the engine basically provides the card with a list of vertices and then tells it to draw the triangles using these vertices. But these so called texture vertices do not only contain the position of the point that should be drawn, they also contain the texture mapping and the direction of the normal vector at that position.&lt;br /&gt;
&lt;br /&gt;
[[Image:perftut_box_triangles_normals.jpg|A simple cube with the vertex normals shown|thumb]]So if we look at the cube example again, we have those 12 triangles. But how many vertices are needed to draw these triangles? At first you might think the cube has 8 vertices, but think again. Each of the sides of our cube has a different normal vector. So that means that the vertices at the corners of our cube can not be used for all three triangles that meet at that corner. So instead of 8 vertices, you see the graphical card needs 24 texture vertices to draw the 12 triangles of the cube.&lt;br /&gt;
&lt;br /&gt;
And when we add textures to our cube things can become even more complex. In the case that we would give each of the triangles an unique texture mapping, so that the UV coordinates do not match with the UV coordinates of the other triangles that the triangle aligns with, you will see that the total vertex count of the cube has gone up even further to 36 texture vertices.&lt;br /&gt;
&lt;br /&gt;
=== Drawcalls ===&lt;br /&gt;
&lt;br /&gt;
Now we know how the graphics card draws the objects and that we should actually count the number of texture vertices to see how complex an object is. But how does it work when we apply a certain material to our object?&lt;br /&gt;
&lt;br /&gt;
First we need to clarify what a material means in this case. Does it mean the texture you apply, maybe the diffuse colour you select, or even something else? When the graphical card is drawing the triangles it is in a certain state, that means that a certain texture is active, a certain diffuse, ambient and emissive colour have been set, etc. When this state has been set correctly it is rather straight-forward for the graphics card to draw all triangles that use these properties. That is what happens when the program issues a drawcall to the graphical card, it then draws all triangles with the same properties. But changing the state for the next triangles that have to be drawn is a rather expensive operation performance wise.&lt;br /&gt;
&lt;br /&gt;
To put it simply, any attribute you change in the FSX Material settings of your object will cause a change of the drawing state and thus a new drawcall. For something like the texture or diffuse colour this is probably obvious, but also when you only change the specular power or some other minor setting this will have the same result. All these material attributes together are called the shader constants.&lt;br /&gt;
&lt;br /&gt;
So besides the amount of texture vertices, we now know that also the amount of drawcalls is very important when we want to keep the performance as good as possible.&lt;br /&gt;
&lt;br /&gt;
== Basic modelling rules ==&lt;br /&gt;
&lt;br /&gt;
Before we take a look at how to model and texture your object as efficient as possible, with the texture vertices and drawcalls in mind, we will first take a look at some simple “rules” for the modelling of objects.&lt;br /&gt;
&lt;br /&gt;
The first and most obvious rule is to use only what you need. If you are making a generic autogen it does probably not make that much sense to use ten different texture sheets and thousands of vertices on this object. That is more something you would do for an important landmark on your airport which the user will look at from close distance. So try to keep things as simple as possible and don&#039;t overdo it when that is not needed.&lt;br /&gt;
&lt;br /&gt;
Related to this is another area where you would have to make a choose, the textures versus polygons battle. You could model all the details of your object with polygons, but often using fewer polygons and putting the detail in the texture you are using would make more sense.&lt;br /&gt;
&lt;br /&gt;
A nice example of this is a GMax tutorial I once saw on how to model a house (not the MS tutorial that comes with FS2004, but one for another game). In that tutorial it was explained in detail how to model each of the tiles of roof in 3D. That might be a good approach if you are modelling for a first person shooter game, but for Flight Simulator using a single polygon with a nice roof texture is a lot more sensible.&lt;br /&gt;
&lt;br /&gt;
For the usage of textures the basic rule is to choose the right resolution for the object you are making and to use a similar resolution on all parts of your object. When you are making a generic autogen object you in general would use a lower resolution for the textures. On the other hand for that big airport terminal building where the user comes very close, it makes sense to use a higher resolution. And once you have selected your resolution, stick to that for the total object. Having one side with a much higher resolution than another side, will give a very weird looking affect and makes your object look bad.&lt;br /&gt;
&lt;br /&gt;
But even if you follow these basic rules of modelling, you can still create an object that will not display optimal performance in FS. The rest of this article will focus on some tips and tricks to improve the performance even further, while they have no effect on the way your object looks, so no compromises on the amount of detail.&lt;br /&gt;
&lt;br /&gt;
== Optimize texture vertices ==&lt;br /&gt;
&lt;br /&gt;
As was explained before the amount of texture vertices is something you should keep an eye on, as that is a good indication of how much work the graphics card has to do to draw your object. So how do we keep them as low as possible?&lt;br /&gt;
&lt;br /&gt;
As the texture vertex contains both position, texture mapping and normal vector it means that these must all be the same for two vertices, before the same texture vertex can be reused in two triangles. So when mapping your texture it can be a benefit to make sure that the pieces of your texture align correct, like you wrap the texture around the object.&lt;br /&gt;
&lt;br /&gt;
As the normal vector is also part of the texture vertex, this optimization works best for smooth objects. For a simple cube or other building you will always keep multiple vertices at the corners, because the normal vectors are different. But even for a simple cube applying your UV texture mapping correctly can make the difference between 36 and 24 texture vertices.&lt;br /&gt;
&lt;br /&gt;
== Optimize drawcalls ==&lt;br /&gt;
&lt;br /&gt;
Besides optimizing the amount of texture vertices, it is also very important that you try to keep the amount of draw calls as low as possible. To do this try to use the following tips.&lt;br /&gt;
&lt;br /&gt;
When using textures, try to pack everything on one texture sheet when possible.  So it is better to use one 1024x1024 texture, than to use 4 512x512 textures. Every new texture file that is used will add an additional drawcall. And if your object does not fill the entire texture sheet, just add the textures for an objects that is geographically grouped with it to the same sheet.&lt;br /&gt;
&lt;br /&gt;
Try to use a texture for everything. So instead of creating a new material with a diffuse colour when you want to give a polygon a certain solid colour, it is better to use a piece of your texture for this. And on most texture sheets there will be a little spot left where you can put an area of for example 4x4 pixels with the colour you want to use.&lt;br /&gt;
&lt;br /&gt;
Try to keep all the shader constants the same. Even if you use one texture file, but change a small attribute like the specular power, that will already cause an extra drawcall.&lt;br /&gt;
&lt;br /&gt;
== Levels of detail ==&lt;br /&gt;
&lt;br /&gt;
Another way to improve the performance of your object is to add levels of detail (LODs) to it. A LOD is a simpler version of your object that are shown from a distance*, where you can&#039;t see all the details anyway. But that does not mean that you need to add a &#039;&#039;lot&#039;&#039; of LOD levels to your object, because each additional level increases the memory usage. So you need to find a balance between the amount of memory used by the object and the reduction in texture vertices that you can achieve by adding the LODs. For most objects using 3 LODs is probably the best compromise. Then you would create a LOD 100, a LOD 040 and a LOD 010. You could make LOD 010 a dummy, so that the object is not drawn from a great distance*.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Note that the way FS determines &#039;distance&#039; here isnt as simple as a geographical distance from the object (I.e. LOD_100 activates at 100m, LOD_040 activates at 40m etc) In fact, thinking about it this way will cause confusion since the values are actually inverse to the distance (I.e. use a high LOD value for objects that will show when you are closer to them). &lt;br /&gt;
&lt;br /&gt;
The LOD &#039;distance&#039; in FS is in fact determined by the number of pixels covered by the object on screen. Therefore a small/simple object on a low resolution screen will switch to different LOD at a different &#039;&#039;geographical distance&#039;&#039; than a large/complex object on a higher resolution screen. There will be some experimentation needed to get these values set at acceptable levels.&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
=== Internal ===&lt;br /&gt;
{{Template:Navbox-Textur-Related}}&lt;br /&gt;
&lt;br /&gt;
=== External ===&lt;br /&gt;
Placeholder text&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery design]]&lt;br /&gt;
[[Category:Aircraft design]]&lt;br /&gt;
[[Category:FSX]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Modeling_and_texturing_for_optimal_performance&amp;diff=5469</id>
		<title>Modeling and texturing for optimal performance</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Modeling_and_texturing_for_optimal_performance&amp;diff=5469"/>
		<updated>2008-05-02T04:18:14Z</updated>

		<summary type="html">&lt;p&gt;Timmo: /* Levels of detail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = false&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = false&lt;br /&gt;
| FS2002 = false&lt;br /&gt;
| FS2000 = unknown&lt;br /&gt;
| FS98 = unknown&lt;br /&gt;
}}&lt;br /&gt;
When developing an object, the designer is always seeking a compromise between the amount of detail to put into the object and the performance achieved when using it in Flight Simulator. On one hand we would like to put in a lot of detail, either as polygons or as high resolution textures, because that will give the most realistic result. On the other hand we also want the objects we create to perform reasonably well when we load them in FS, otherwise the users of our object (either aircraft or scenery) will not have an enjoyable experience. So the developer has to find a compromise here.&lt;br /&gt;
&lt;br /&gt;
On his blog Adrian Woods has an interesting series of posts about how to optimize the performance of the art you are making. I would like to encourage everybody to have a look at those posts ([http://blogs.technet.com/torgo3000/archive/2007/06/01/performance-art.aspx part 1], [http://blogs.technet.com/torgo3000/archive/2007/06/14/performance-art-2-when-is-a-draw-call-not-a-draw-call.aspx part 2], [http://blogs.technet.com/torgo3000/archive/2007/06/19/performance-art-3-polygons-don-t-matter.aspx part 3] and [http://blogs.technet.com/torgo3000/archive/2007/09/17/performance-art-4-always-use-a-texture-and-bones-ain-t-free.aspx part 4]). But because these posts might be a bit technical, this article aims to provide some more background information and examples to express his suggestions more clearly.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
Before we start with the actual discussion on how to model and texture your object for the best performance, it is needed to start with a little bit of background information on what determines the performance of your object once it is loaded in FS. That is the aim of this section and we will discuss vertices and drawcalls.&lt;br /&gt;
&lt;br /&gt;
=== Vertices ===&lt;br /&gt;
&lt;br /&gt;
[[Image:perftut_box.jpg|A simple cube|thumb]] At first you might think that the amount of polygons in your object are the most important for the performance. A simple cube seems to have 6 polygons for example, but is that true?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[Image:perftut_box_triangles.jpg|A simple cube with triangles|thumb]] The graphics card that is drawing your object on screen does not work with polygons, all it can do is draw triangles on screen. So to get a better understanding of the amount of work the graphical card has to do when drawing your object you should not count the polygons, but the triangles. For the simple cube that means we have 12 triangles. Especially when you have polygons with a lot of vertices, like the roof of a complex building, you will see that one polygon can consist of a lot of triangles. So the next time you determine how complex your object is count the triangles. &lt;br /&gt;
&lt;br /&gt;
Going back to the graphics card, it now has the task to draw all the triangles on screen. To do this the engine basically provides the card with a list of vertices and then tells it to draw the triangles using these vertices. But these so called texture vertices do not only contain the position of the point that should be drawn, they also contain the texture mapping and the direction of the normal vector at that position.&lt;br /&gt;
&lt;br /&gt;
[[Image:perftut_box_triangles_normals.jpg|A simple cube with the vertex normals shown|thumb]]So if we look at the cube example again, we have those 12 triangles. But how many vertices are needed to draw these triangles? At first you might think the cube has 8 vertices, but think again. Each of the sides of our cube has a different normal vector. So that means that the vertices at the corners of our cube can not be used for all three triangles that meet at that corner. So instead of 8 vertices, you see the graphical card needs 24 texture vertices to draw the 12 triangles of the cube.&lt;br /&gt;
&lt;br /&gt;
And when we add textures to our cube things can become even more complex. In the case that we would give each of the triangles an unique texture mapping, so that the UV coordinates do not match with the UV coordinates of the other triangles that the triangle aligns with, you will see that the total vertex count of the cube has gone up even further to 36 texture vertices.&lt;br /&gt;
&lt;br /&gt;
=== Drawcalls ===&lt;br /&gt;
&lt;br /&gt;
Now we know how the graphics card draws the objects and that we should actually count the number of texture vertices to see how complex an object is. But how does it work when we apply a certain material to our object?&lt;br /&gt;
&lt;br /&gt;
First we need to clarify what a material means in this case. Does it mean the texture you apply, maybe the diffuse colour you select, or even something else? When the graphical card is drawing the triangles it is in a certain state, that means that a certain texture is active, a certain diffuse, ambient and emissive colour have been set, etc. When this state has been set correctly it is rather straight-forward for the graphics card to draw all triangles that use these properties. That is what happens when the program issues a drawcall to the graphical card, it then draws all triangles with the same properties. But changing the state for the next triangles that have to be drawn is a rather expensive operation performance wise.&lt;br /&gt;
&lt;br /&gt;
To put it simply, any attribute you change in the FSX Material settings of your object will cause a change of the drawing state and thus a new drawcall. For something like the texture or diffuse colour this is probably obvious, but also when you only change the specular power or some other minor setting this will have the same result. All these material attributes together are called the shader constants.&lt;br /&gt;
&lt;br /&gt;
So besides the amount of texture vertices, we now know that also the amount of drawcalls is very important when we want to keep the performance as good as possible.&lt;br /&gt;
&lt;br /&gt;
== Basic modelling rules ==&lt;br /&gt;
&lt;br /&gt;
Before we take a look at how to model and texture your object as efficient as possible, with the texture vertices and drawcalls in mind, we will first take a look at some simple “rules” for the modelling of objects.&lt;br /&gt;
&lt;br /&gt;
The first and most obvious rule is to use only what you need. If you are making a generic autogen it does probably not make that much sense to use ten different texture sheets and thousands of vertices on this object. That is more something you would do for an important landmark on your airport which the user will look at from close distance. So try to keep things as simple as possible and don&#039;t overdo it when that is not needed.&lt;br /&gt;
&lt;br /&gt;
Related to this is another area where you would have to make a choose, the textures versus polygons battle. You could model all the details of your object with polygons, but often using fewer polygons and putting the detail in the texture you are using would make more sense.&lt;br /&gt;
&lt;br /&gt;
A nice example of this is a GMax tutorial I once saw on how to model a house (not the MS tutorial that comes with FS2004, but one for another game). In that tutorial it was explained in detail how to model each of the tiles of roof in 3D. That might be a good approach if you are modelling for a first person shooter game, but for Flight Simulator using a single polygon with a nice roof texture is a lot more sensible.&lt;br /&gt;
&lt;br /&gt;
For the usage of textures the basic rule is to choose the right resolution for the object you are making and to use a similar resolution on all parts of your object. When you are making a generic autogen object you in general would use a lower resolution for the textures. On the other hand for that big airport terminal building where the user comes very close, it makes sense to use a higher resolution. And once you have selected your resolution, stick to that for the total object. Having one side with a much higher resolution than another side, will give a very weird looking affect and makes your object look bad.&lt;br /&gt;
&lt;br /&gt;
But even if you follow these basic rules of modelling, you can still create an object that will not display optimal performance in FS. The rest of this article will focus on some tips and tricks to improve the performance even further, while they have no effect on the way your object looks, so no compromises on the amount of detail.&lt;br /&gt;
&lt;br /&gt;
== Optimize texture vertices ==&lt;br /&gt;
&lt;br /&gt;
As was explained before the amount of texture vertices is something you should keep an eye on, as that is a good indication of how much work the graphics card has to do to draw your object. So how do we keep them as low as possible?&lt;br /&gt;
&lt;br /&gt;
As the texture vertex contains both position, texture mapping and normal vector it means that these must all be the same for two vertices, before the same texture vertex can be reused in two triangles. So when mapping your texture it can be a benefit to make sure that the pieces of your texture align correct, like you wrap the texture around the object.&lt;br /&gt;
&lt;br /&gt;
As the normal vector is also part of the texture vertex, this optimization works best for smooth objects. For a simple cube or other building you will always keep multiple vertices at the corners, because the normal vectors are different. But even for a simple cube applying your UV texture mapping correctly can make the difference between 36 and 24 texture vertices.&lt;br /&gt;
&lt;br /&gt;
== Optimize drawcalls ==&lt;br /&gt;
&lt;br /&gt;
Besides optimizing the amount of texture vertices, it is also very important that you try to keep the amount of draw calls as low as possible. To do this try to use the following tips.&lt;br /&gt;
&lt;br /&gt;
When using textures, try to pack everything on one texture sheet when possible.  So it is better to use one 1024x1024 texture, than to use 4 512x512 textures. Every new texture file that is used will add an additional drawcall. And if your object does not fill the entire texture sheet, just add the textures for an objects that is geographically grouped with it to the same sheet.&lt;br /&gt;
&lt;br /&gt;
Try to use a texture for everything. So instead of creating a new material with a diffuse colour when you want to give a polygon a certain solid colour, it is better to use a piece of your texture for this. And on most texture sheets there will be a little spot left where you can put an area of for example 4x4 pixels with the colour you want to use.&lt;br /&gt;
&lt;br /&gt;
Try to keep all the shader constants the same. Even if you use one texture file, but change a small attribute like the specular power, that will already cause an extra drawcall.&lt;br /&gt;
&lt;br /&gt;
== Levels of detail ==&lt;br /&gt;
&lt;br /&gt;
Another way to improve the performance of your object is to add levels of detail (LODs) to it. A LOD is a simpler version of your object that are shown from a distance*, where you can&#039;t see all the details anyway. But that does not mean that you need to add a &#039;&#039;lot&#039;&#039; of LOD levels to your object, because each additional level increases the memory usage. So you need to find a balance between the amount of memory used by the object and the reduction in texture vertices that you can achieve by adding the LODs. For most objects using 3 LODs is probably the best compromise. Then you would create a LOD 100, a LOD 040 and a LOD 010. You could make LOD 010 a dummy, so that the object is not drawn from a great distance*.&lt;br /&gt;
&lt;br /&gt;
*Note that the way FS determines &#039;distance&#039; here isnt as simple as a geographical distance from the object (I.e. LOD_100 activates at 100m, LOD_040 activates at 40m etc) In fact, thinking about it this way will cause confusion since the values are actually inverse to the distance (I.e. use a high LOD value for objects that will show when you are closer to them). &lt;br /&gt;
&lt;br /&gt;
The LOD &#039;distance&#039; in FS is in fact determined by the number of pixels covered by the object on screen. Therefore a small/simple object on a low resolution screen will switch to different LOD at a different &#039;&#039;geographical distance&#039;&#039; than a large/complex object on a higher resolution screen. There will be some experimentation needed to get these values set at acceptable levels.&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
=== Internal ===&lt;br /&gt;
{{Template:Navbox-Textur-Related}}&lt;br /&gt;
&lt;br /&gt;
=== External ===&lt;br /&gt;
Placeholder text&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery design]]&lt;br /&gt;
[[Category:Aircraft design]]&lt;br /&gt;
[[Category:FSX]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=Modeling_and_texturing_for_optimal_performance&amp;diff=5468</id>
		<title>Modeling and texturing for optimal performance</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=Modeling_and_texturing_for_optimal_performance&amp;diff=5468"/>
		<updated>2008-05-02T04:04:17Z</updated>

		<summary type="html">&lt;p&gt;Timmo: slight sentance structure and cohesion edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox-Applicable-FSVersion&lt;br /&gt;
| FSXI = false&lt;br /&gt;
| FSXA = true&lt;br /&gt;
| FSX = true&lt;br /&gt;
| FS2004 = false&lt;br /&gt;
| FS2002 = false&lt;br /&gt;
| FS2000 = unknown&lt;br /&gt;
| FS98 = unknown&lt;br /&gt;
}}&lt;br /&gt;
When developing an object, the designer is always seeking a compromise between the amount of detail to put into the object and the performance achieved when using it in Flight Simulator. On one hand we would like to put in a lot of detail, either as polygons or as high resolution textures, because that will give the most realistic result. On the other hand we also want the objects we create to perform reasonably well when we load them in FS, otherwise the users of our object (either aircraft or scenery) will not have an enjoyable experience. So the developer has to find a compromise here.&lt;br /&gt;
&lt;br /&gt;
On his blog Adrian Woods has an interesting series of posts about how to optimize the performance of the art you are making. I would like to encourage everybody to have a look at those posts ([http://blogs.technet.com/torgo3000/archive/2007/06/01/performance-art.aspx part 1], [http://blogs.technet.com/torgo3000/archive/2007/06/14/performance-art-2-when-is-a-draw-call-not-a-draw-call.aspx part 2], [http://blogs.technet.com/torgo3000/archive/2007/06/19/performance-art-3-polygons-don-t-matter.aspx part 3] and [http://blogs.technet.com/torgo3000/archive/2007/09/17/performance-art-4-always-use-a-texture-and-bones-ain-t-free.aspx part 4]). But because these posts might be a bit technical, this article aims to provide some more background information and examples to express his suggestions more clearly.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
Before we start with the actual discussion on how to model and texture your object for the best performance, it is needed to start with a little bit of background information on what determines the performance of your object once it is loaded in FS. That is the aim of this section and we will discuss vertices and drawcalls.&lt;br /&gt;
&lt;br /&gt;
=== Vertices ===&lt;br /&gt;
&lt;br /&gt;
[[Image:perftut_box.jpg|A simple cube|thumb]] At first you might think that the amount of polygons in your object are the most important for the performance. A simple cube seems to have 6 polygons for example, but is that true?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[Image:perftut_box_triangles.jpg|A simple cube with triangles|thumb]] The graphics card that is drawing your object on screen does not work with polygons, all it can do is draw triangles on screen. So to get a better understanding of the amount of work the graphical card has to do when drawing your object you should not count the polygons, but the triangles. For the simple cube that means we have 12 triangles. Especially when you have polygons with a lot of vertices, like the roof of a complex building, you will see that one polygon can consist of a lot of triangles. So the next time you determine how complex your object is count the triangles. &lt;br /&gt;
&lt;br /&gt;
Going back to the graphics card, it now has the task to draw all the triangles on screen. To do this the engine basically provides the card with a list of vertices and then tells it to draw the triangles using these vertices. But these so called texture vertices do not only contain the position of the point that should be drawn, they also contain the texture mapping and the direction of the normal vector at that position.&lt;br /&gt;
&lt;br /&gt;
[[Image:perftut_box_triangles_normals.jpg|A simple cube with the vertex normals shown|thumb]]So if we look at the cube example again, we have those 12 triangles. But how many vertices are needed to draw these triangles? At first you might think the cube has 8 vertices, but think again. Each of the sides of our cube has a different normal vector. So that means that the vertices at the corners of our cube can not be used for all three triangles that meet at that corner. So instead of 8 vertices, you see the graphical card needs 24 texture vertices to draw the 12 triangles of the cube.&lt;br /&gt;
&lt;br /&gt;
And when we add textures to our cube things can become even more complex. In the case that we would give each of the triangles an unique texture mapping, so that the UV coordinates do not match with the UV coordinates of the other triangles that the triangle aligns with, you will see that the total vertex count of the cube has gone up even further to 36 texture vertices.&lt;br /&gt;
&lt;br /&gt;
=== Drawcalls ===&lt;br /&gt;
&lt;br /&gt;
Now we know how the graphics card draws the objects and that we should actually count the number of texture vertices to see how complex an object is. But how does it work when we apply a certain material to our object?&lt;br /&gt;
&lt;br /&gt;
First we need to clarify what a material means in this case. Does it mean the texture you apply, maybe the diffuse colour you select, or even something else? When the graphical card is drawing the triangles it is in a certain state, that means that a certain texture is active, a certain diffuse, ambient and emissive colour have been set, etc. When this state has been set correctly it is rather straight-forward for the graphics card to draw all triangles that use these properties. That is what happens when the program issues a drawcall to the graphical card, it then draws all triangles with the same properties. But changing the state for the next triangles that have to be drawn is a rather expensive operation performance wise.&lt;br /&gt;
&lt;br /&gt;
To put it simply, any attribute you change in the FSX Material settings of your object will cause a change of the drawing state and thus a new drawcall. For something like the texture or diffuse colour this is probably obvious, but also when you only change the specular power or some other minor setting this will have the same result. All these material attributes together are called the shader constants.&lt;br /&gt;
&lt;br /&gt;
So besides the amount of texture vertices, we now know that also the amount of drawcalls is very important when we want to keep the performance as good as possible.&lt;br /&gt;
&lt;br /&gt;
== Basic modelling rules ==&lt;br /&gt;
&lt;br /&gt;
Before we take a look at how to model and texture your object as efficient as possible, with the texture vertices and drawcalls in mind, we will first take a look at some simple “rules” for the modelling of objects.&lt;br /&gt;
&lt;br /&gt;
The first and most obvious rule is to use only what you need. If you are making a generic autogen it does probably not make that much sense to use ten different texture sheets and thousands of vertices on this object. That is more something you would do for an important landmark on your airport which the user will look at from close distance. So try to keep things as simple as possible and don&#039;t overdo it when that is not needed.&lt;br /&gt;
&lt;br /&gt;
Related to this is another area where you would have to make a choose, the textures versus polygons battle. You could model all the details of your object with polygons, but often using fewer polygons and putting the detail in the texture you are using would make more sense.&lt;br /&gt;
&lt;br /&gt;
A nice example of this is a GMax tutorial I once saw on how to model a house (not the MS tutorial that comes with FS2004, but one for another game). In that tutorial it was explained in detail how to model each of the tiles of roof in 3D. That might be a good approach if you are modelling for a first person shooter game, but for Flight Simulator using a single polygon with a nice roof texture is a lot more sensible.&lt;br /&gt;
&lt;br /&gt;
For the usage of textures the basic rule is to choose the right resolution for the object you are making and to use a similar resolution on all parts of your object. When you are making a generic autogen object you in general would use a lower resolution for the textures. On the other hand for that big airport terminal building where the user comes very close, it makes sense to use a higher resolution. And once you have selected your resolution, stick to that for the total object. Having one side with a much higher resolution than another side, will give a very weird looking affect and makes your object look bad.&lt;br /&gt;
&lt;br /&gt;
But even if you follow these basic rules of modelling, you can still create an object that will not display optimal performance in FS. The rest of this article will focus on some tips and tricks to improve the performance even further, while they have no effect on the way your object looks, so no compromises on the amount of detail.&lt;br /&gt;
&lt;br /&gt;
== Optimize texture vertices ==&lt;br /&gt;
&lt;br /&gt;
As was explained before the amount of texture vertices is something you should keep an eye on, as that is a good indication of how much work the graphics card has to do to draw your object. So how do we keep them as low as possible?&lt;br /&gt;
&lt;br /&gt;
As the texture vertex contains both position, texture mapping and normal vector it means that these must all be the same for two vertices, before the same texture vertex can be reused in two triangles. So when mapping your texture it can be a benefit to make sure that the pieces of your texture align correct, like you wrap the texture around the object.&lt;br /&gt;
&lt;br /&gt;
As the normal vector is also part of the texture vertex, this optimization works best for smooth objects. For a simple cube or other building you will always keep multiple vertices at the corners, because the normal vectors are different. But even for a simple cube applying your UV texture mapping correctly can make the difference between 36 and 24 texture vertices.&lt;br /&gt;
&lt;br /&gt;
== Optimize drawcalls ==&lt;br /&gt;
&lt;br /&gt;
Besides optimizing the amount of texture vertices, it is also very important that you try to keep the amount of draw calls as low as possible. To do this try to use the following tips.&lt;br /&gt;
&lt;br /&gt;
When using textures, try to pack everything on one texture sheet when possible.  So it is better to use one 1024x1024 texture, than to use 4 512x512 textures. Every new texture file that is used will add an additional drawcall. And if your object does not fill the entire texture sheet, just add the textures for an objects that is geographically grouped with it to the same sheet.&lt;br /&gt;
&lt;br /&gt;
Try to use a texture for everything. So instead of creating a new material with a diffuse colour when you want to give a polygon a certain solid colour, it is better to use a piece of your texture for this. And on most texture sheets there will be a little spot left where you can put an area of for example 4x4 pixels with the colour you want to use.&lt;br /&gt;
&lt;br /&gt;
Try to keep all the shader constants the same. Even if you use one texture file, but change a small attribute like the specular power, that will already cause an extra drawcall.&lt;br /&gt;
&lt;br /&gt;
== Levels of detail ==&lt;br /&gt;
&lt;br /&gt;
Another way to improve the performance of your object is to add levels of detail (LODs) to it. A LOD is a simpler version of your object that are shown from a distance, where you can&#039;t see all the details anyway. But that does not mean that you need to add a lot of LOD levels to your object, because each additional level increases the memory usage. So you need to find a balance between the amount of memory used by the object and the reduction in texture vertices that you can achieve by adding the LODs. For most objects using 3 LODs is probably the best compromise. Then you would create a LOD 100, a LOD 040 and a LOD 010. You could make LOD 010 a dummy, so that the object is not drawn from a great distance.&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
=== Internal ===&lt;br /&gt;
{{Template:Navbox-Textur-Related}}&lt;br /&gt;
&lt;br /&gt;
=== External ===&lt;br /&gt;
Placeholder text&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery design]]&lt;br /&gt;
[[Category:Aircraft design]]&lt;br /&gt;
[[Category:FSX]]&lt;/div&gt;</summary>
		<author><name>Timmo</name></author>
	</entry>
</feed>