<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FWST</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FWST"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/FWST"/>
	<updated>2026-08-16T00:59:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Photoscenery&amp;diff=146705</id>
		<title>Photoscenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Photoscenery&amp;diff=146705"/>
		<updated>2026-07-29T23:59:54Z</updated>

		<summary type="html">&lt;p&gt;FWST: /* Obtaining orthoimagery */Added Útil paisagem as an alternative to Julia Photoscenary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Brest.jpg|thumb|270px|A [[Cessna 172P]] flying over 1 m/pixel photoscenery of Brest, France.]]&lt;br /&gt;
'''Photoscenery''' is [[scenery]] in which orthoimagery (aerial photographs) is placed over the terrain.&lt;br /&gt;
&lt;br /&gt;
== Why use photoscenery? ==&lt;br /&gt;
'''Advantages:'''&lt;br /&gt;
* Photoscenery shows the real world, it does not try to resemble it.&lt;br /&gt;
* Areas blend realistically, instead of a hard cut between urban and forest, or water and land for example.&lt;br /&gt;
* For VFR flight, more easy navigation in known locations because landmarks are more easily recognized.&lt;br /&gt;
&lt;br /&gt;
'''Disadvantages:'''&lt;br /&gt;
* One needs large (or many) textures for high resolution scenery. For low level (VFR) flying, {{abbr|1 m/pixel|1 pixel spans 1 x 1 m}} is the absolute minimum.&lt;br /&gt;
* Orthoimagery is often hard to obtain, especially under an open license.&lt;br /&gt;
* The system running photoscenery has a higher memory (RAM) demand.&lt;br /&gt;
&lt;br /&gt;
== Enabling photoscenery ==&lt;br /&gt;
Photoscenery can be enabled by navigating to the menubar: View, Rendering Options, and click on the Satellite Photoscenery checkbox.&lt;br /&gt;
&lt;br /&gt;
This will load Photoscenery from your normal Scenery folders (subfolder &amp;quot;Orthophotos/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Obtaining orthoimagery ==&lt;br /&gt;
* [http://www.usgs.gov/ USGS], provides {{abbr|3 m/pixel|1 pixel spans 3 x 3 m}} imagery for the entire United States of America, released in the public domain (and thus GNU GPL compatible).&lt;br /&gt;
&lt;br /&gt;
The prefered way of downloading these images depends on the used method Please read [[#Creating photoscenery|how to create photoscenery]], before starting.&lt;br /&gt;
&lt;br /&gt;
{{note|There are currently two applications for easy and quick generation of photosceneries from orthoimagery: the command line [[Julia photoscenery generator]] and the graphical [https://github.com/leandroarndt/util-paisagem/wiki Útil paisagem].}}&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing ===&lt;br /&gt;
* Since FlightGear adds haze to the scene, the textures should be &amp;quot;unhazed&amp;quot; to avoid double hazing.&lt;br /&gt;
* Shadows included in the images will conflict with shadows added by FlightGear. When creating small areas, shadows can be removed by hand from the textures, but this is usually undoable.&lt;br /&gt;
&lt;br /&gt;
== Creating photoscenery ==&lt;br /&gt;
There are several ways of creating photoscenery for [[FlightGear]], of which some are discussed here.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! [[#Texture overlays|Texture overlays]]&lt;br /&gt;
! [[#Texture materials|Texture materials]]&lt;br /&gt;
! [[#3D Model|3D Model]]&lt;br /&gt;
! [[Building FlightGear with osgEarth Integration|osgEarth]]&lt;br /&gt;
&lt;br /&gt;
! Comment&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Supported by stable FlightGear release (requires no patching)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Toggle on run-time&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| With the current patch, the textures overlays are always loaded.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Water reflections, random buildings/trees&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| Depends on accuracy of underlying terrain (shapefiles)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Texture masks (not-so random objects)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Requires no adapted scenery&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | High resolution&lt;br /&gt;
| {{no|ca. {{abbr|4m/pixel|1 pixel spans 4 x 4 m}}}}&lt;br /&gt;
| {{yes|{{abbr|1m/pixel|1 pixel spans 1 x 1 m}} or higher|colspan{{=}}&amp;quot;2&amp;quot;}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Advanced weather support&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| Depends on accuracy of underlying terrain (shapefiles)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Requires no custom materials file&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture overlays ===&lt;br /&gt;
This method places the photo texture on top of the normal scenery. It requires [http://blaniel.free.fr/pub/flightgear/brest/ patches to be applied] to the FGData and SimGear sources.&lt;br /&gt;
&lt;br /&gt;
# Calculate the tile bounds.&lt;br /&gt;
# Cut the orthoimagery to the bounds of the tile and save it with the name of the tile (for example &amp;lt;code&amp;gt;3023737.png&amp;lt;/code&amp;gt;). &lt;br /&gt;
#: A 4096 x 4096 pixel texture gives roughly a 4 m/pixel resolution. Most graphics cards cannot handle larger textures, so when distributing the scenery this can be considered to be the limit. Tests on various machines showed that 16384 x 16384 pixel textures are possible (1 m/pixel).&lt;br /&gt;
# Mirror the texture upside down.&lt;br /&gt;
# Convert the texture to &amp;lt;code&amp;gt;.dds&amp;lt;/code&amp;gt; via NVidia's nvcompress (part of the [http://developer.nvidia.com/legacy-texture-tools NVidia Tools]).&lt;br /&gt;
#: It was found that 16384 x 16384 pixel textures can not be processed by nvcompress. The [http://code.google.com/p/gimp-dds/ DDS plugin for GIMP] worked fine though.&lt;br /&gt;
# Place this texture next to the respective &amp;lt;code&amp;gt;.btg.gz&amp;lt;/code&amp;gt; file.&lt;br /&gt;
Simply launch FlightGear with [[$FG_SCENERY]] set to your scenery directory. Disable all shaders in the ''Main Menu'' &amp;amp;gt; ''View'' &amp;amp;gt; ''Rendering Options'' dialog. Model and Water can be enabled, but all other shaders will disable the photoscenery.&lt;br /&gt;
&lt;br /&gt;
{{note|Step 1 to 5 can be done by the photoscenery perl script from the {{sourceforge source|flightgear|fgscenery/tools|path=Photoscenery|text=FGScenery tools}}, when the imagery is obtained via a [http://en.wikipedia.org/wiki/Web_Map_Service Web Map Service] (WMS).}}&lt;br /&gt;
&lt;br /&gt;
=== Texture materials ===&lt;br /&gt;
Another approach is to add each photo texture as a &amp;quot;material&amp;quot; in the &amp;lt;code&amp;gt;materials.xml&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
# Calculate the tile bounds with the python scripts from http://fgphotoscenery.square7.ch/#howto.&lt;br /&gt;
#: When creating low resolution scenery ({{abbr|4 m/pixel|1 pixel spans 4 x 4 m}} or lower), a single 4096 x 4096 pixel texture can cover one tile. Higher resolution scenery requires the tile to be cut into smaller pieces: we'll call those photo tiles.&lt;br /&gt;
# Repeat the following steps for each single photo tile.&lt;br /&gt;
## Mirror the texture upside down.&lt;br /&gt;
## Convert the texture to &amp;lt;code&amp;gt;.dds&amp;lt;/code&amp;gt; via NVidia's nvcompress (part of the [http://developer.nvidia.com/legacy-texture-tools NVidia Tools]).&lt;br /&gt;
## Create a shapefile with the size/location of the texture. Save the shapefile with an unique name (for example &amp;lt;code&amp;gt;302373_3_2.shp&amp;lt;/code&amp;gt;, where the &amp;lt;code&amp;gt;3_2&amp;lt;/code&amp;gt; indicates the horizontal/vertical tile id. This is not needed when using just one texture per tile).&lt;br /&gt;
# Generate the scenery with [[TerraGear]], using the shapefiles as input.&lt;br /&gt;
# Currently TerraGear does not create good UV maps, so some manual steps are needed:&lt;br /&gt;
# Import (one of) the &amp;lt;code&amp;gt;.btg.gz&amp;lt;/code&amp;gt; file(s) in [[Blender]] via the [[Blender and BTG]] plugin.&lt;br /&gt;
## Correct the uvmapping of each single sub-tile. The map should cover the texture exactly.&lt;br /&gt;
## Export the file again. Please note that you cannot re-import the file after exporting, so do not close Blender before verifying that the UV mapping is correct!&lt;br /&gt;
# Create a &amp;lt;code&amp;gt;materials.xml&amp;lt;/code&amp;gt; file for your project. For example &amp;lt;code&amp;gt;[[$FG_ROOT]]/Photoscenery/materials-nl.xml&amp;lt;/code&amp;gt; for Dutch scenery.&lt;br /&gt;
# Add a material definition for each single sub-tile, like:&lt;br /&gt;
#: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;material&amp;gt;&amp;lt;name&amp;gt;3023745_1_1&amp;lt;/name&amp;gt;&amp;lt;texture&amp;gt;NL/3023745/3023745.1.1.dds&amp;lt;/texture&amp;gt;&amp;lt;/material&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: The texture path is relative to &amp;lt;code&amp;gt;[[$FG_ROOT]]/Textures&amp;lt;/code&amp;gt;.&lt;br /&gt;
Now launch FlightGear with [[$FG_SCENERY]] set to the output directory of TerraGear and the command &amp;lt;code&amp;gt;--materials-file=Photoscenery/materials-nl.xml&amp;lt;/code&amp;gt; (for example).&lt;br /&gt;
&lt;br /&gt;
=== 3D Model ===&lt;br /&gt;
[[File:Prague 3D photoscenery.png|thumb|270px|Prague, using the 3D model method.]]&lt;br /&gt;
Instead of using the normal terrain, one could replace it by a big 3D model.&lt;br /&gt;
# Create a 3D model of the terrain and texturize it with the orthoimagery.&lt;br /&gt;
# Place the model as any other 3D object in the scenery.&lt;br /&gt;
# Remove the corresponding &amp;lt;code&amp;gt;Terrain/.../... .stg&amp;lt;/code&amp;gt; file to hide the normal scenery.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
Several example photoscenery projects. The text between brackets indicates what method is used.&lt;br /&gt;
* [[Brest]], France (texture materials)&lt;br /&gt;
* [http://helijah.free.fr/flightgear/scenes.html Paris and surroundings], France (texture overlay)&lt;br /&gt;
* [http://flightgear-cz.wz.cz/ Prague], Czech Republic (3D Model)&lt;br /&gt;
* Selected places of the [http://fgphotoscenery.square7.ch/ United States of America] (texture overlay)&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Julia photoscenery generator]]&lt;br /&gt;
&lt;br /&gt;
=== Forum topics ===&lt;br /&gt;
* {{forum link|t=44533|title=Útil paisagem: new photoscenery tool for FlightGear}} (July 2026-) Software for easy creation of photoscenery for FlightGear with a graphical user interface and correction of download errors&lt;br /&gt;
* {{forum link|t=39066|title=Photoscenery generator for Julia compiler}} (April 2021-) Programs to generate and manipulate photoscenery for FGFS&lt;br /&gt;
* {{forum link|t=38057|title=16k Photoscenery}} (September 2020-)&lt;br /&gt;
* {{forum link|t=37866|title=Photoscenery?}} (August 2020-) Discussing a patch that simplifies adding photoscenery, that later was added to FlightGear&lt;br /&gt;
* {{forum link|p=201862|title=Re: DDS for textures Rotterdam}} (February 2014)&lt;br /&gt;
* {{forum link|t=22784|title=A project to create a source of free geo-referenced instrument charts}} (April 2014-June 2014)&lt;br /&gt;
&lt;br /&gt;
[[Category:Photoscenery]]&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>FWST</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Photoscenery&amp;diff=146704</id>
		<title>Photoscenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Photoscenery&amp;diff=146704"/>
		<updated>2026-07-29T23:51:48Z</updated>

		<summary type="html">&lt;p&gt;FWST: /* Forum topics */Corrected typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Brest.jpg|thumb|270px|A [[Cessna 172P]] flying over 1 m/pixel photoscenery of Brest, France.]]&lt;br /&gt;
'''Photoscenery''' is [[scenery]] in which orthoimagery (aerial photographs) is placed over the terrain.&lt;br /&gt;
&lt;br /&gt;
== Why use photoscenery? ==&lt;br /&gt;
'''Advantages:'''&lt;br /&gt;
* Photoscenery shows the real world, it does not try to resemble it.&lt;br /&gt;
* Areas blend realistically, instead of a hard cut between urban and forest, or water and land for example.&lt;br /&gt;
* For VFR flight, more easy navigation in known locations because landmarks are more easily recognized.&lt;br /&gt;
&lt;br /&gt;
'''Disadvantages:'''&lt;br /&gt;
* One needs large (or many) textures for high resolution scenery. For low level (VFR) flying, {{abbr|1 m/pixel|1 pixel spans 1 x 1 m}} is the absolute minimum.&lt;br /&gt;
* Orthoimagery is often hard to obtain, especially under an open license.&lt;br /&gt;
* The system running photoscenery has a higher memory (RAM) demand.&lt;br /&gt;
&lt;br /&gt;
== Enabling photoscenery ==&lt;br /&gt;
Photoscenery can be enabled by navigating to the menubar: View, Rendering Options, and click on the Satellite Photoscenery checkbox.&lt;br /&gt;
&lt;br /&gt;
This will load Photoscenery from your normal Scenery folders (subfolder &amp;quot;Orthophotos/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Obtaining orthoimagery ==&lt;br /&gt;
* [http://www.usgs.gov/ USGS], provides {{abbr|3 m/pixel|1 pixel spans 3 x 3 m}} imagery for the entire United States of America, released in the public domain (and thus GNU GPL compatible).&lt;br /&gt;
&lt;br /&gt;
The prefered way of downloading these images depends on the used method Please read [[#Creating photoscenery|how to create photoscenery]], before starting.&lt;br /&gt;
&lt;br /&gt;
{{note|The most easy and quick way nowadays is to install [https://julialang.org/ Julia] and use the [[Julia photoscenery generator]].}}&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing ===&lt;br /&gt;
* Since FlightGear adds haze to the scene, the textures should be &amp;quot;unhazed&amp;quot; to avoid double hazing.&lt;br /&gt;
* Shadows included in the images will conflict with shadows added by FlightGear. When creating small areas, shadows can be removed by hand from the textures, but this is usually undoable.&lt;br /&gt;
&lt;br /&gt;
== Creating photoscenery ==&lt;br /&gt;
There are several ways of creating photoscenery for [[FlightGear]], of which some are discussed here.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! [[#Texture overlays|Texture overlays]]&lt;br /&gt;
! [[#Texture materials|Texture materials]]&lt;br /&gt;
! [[#3D Model|3D Model]]&lt;br /&gt;
! [[Building FlightGear with osgEarth Integration|osgEarth]]&lt;br /&gt;
&lt;br /&gt;
! Comment&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Supported by stable FlightGear release (requires no patching)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Toggle on run-time&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| With the current patch, the textures overlays are always loaded.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Water reflections, random buildings/trees&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| Depends on accuracy of underlying terrain (shapefiles)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Texture masks (not-so random objects)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Requires no adapted scenery&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | High resolution&lt;br /&gt;
| {{no|ca. {{abbr|4m/pixel|1 pixel spans 4 x 4 m}}}}&lt;br /&gt;
| {{yes|{{abbr|1m/pixel|1 pixel spans 1 x 1 m}} or higher|colspan{{=}}&amp;quot;2&amp;quot;}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Advanced weather support&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| Depends on accuracy of underlying terrain (shapefiles)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Requires no custom materials file&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture overlays ===&lt;br /&gt;
This method places the photo texture on top of the normal scenery. It requires [http://blaniel.free.fr/pub/flightgear/brest/ patches to be applied] to the FGData and SimGear sources.&lt;br /&gt;
&lt;br /&gt;
# Calculate the tile bounds.&lt;br /&gt;
# Cut the orthoimagery to the bounds of the tile and save it with the name of the tile (for example &amp;lt;code&amp;gt;3023737.png&amp;lt;/code&amp;gt;). &lt;br /&gt;
#: A 4096 x 4096 pixel texture gives roughly a 4 m/pixel resolution. Most graphics cards cannot handle larger textures, so when distributing the scenery this can be considered to be the limit. Tests on various machines showed that 16384 x 16384 pixel textures are possible (1 m/pixel).&lt;br /&gt;
# Mirror the texture upside down.&lt;br /&gt;
# Convert the texture to &amp;lt;code&amp;gt;.dds&amp;lt;/code&amp;gt; via NVidia's nvcompress (part of the [http://developer.nvidia.com/legacy-texture-tools NVidia Tools]).&lt;br /&gt;
#: It was found that 16384 x 16384 pixel textures can not be processed by nvcompress. The [http://code.google.com/p/gimp-dds/ DDS plugin for GIMP] worked fine though.&lt;br /&gt;
# Place this texture next to the respective &amp;lt;code&amp;gt;.btg.gz&amp;lt;/code&amp;gt; file.&lt;br /&gt;
Simply launch FlightGear with [[$FG_SCENERY]] set to your scenery directory. Disable all shaders in the ''Main Menu'' &amp;amp;gt; ''View'' &amp;amp;gt; ''Rendering Options'' dialog. Model and Water can be enabled, but all other shaders will disable the photoscenery.&lt;br /&gt;
&lt;br /&gt;
{{note|Step 1 to 5 can be done by the photoscenery perl script from the {{sourceforge source|flightgear|fgscenery/tools|path=Photoscenery|text=FGScenery tools}}, when the imagery is obtained via a [http://en.wikipedia.org/wiki/Web_Map_Service Web Map Service] (WMS).}}&lt;br /&gt;
&lt;br /&gt;
=== Texture materials ===&lt;br /&gt;
Another approach is to add each photo texture as a &amp;quot;material&amp;quot; in the &amp;lt;code&amp;gt;materials.xml&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
# Calculate the tile bounds with the python scripts from http://fgphotoscenery.square7.ch/#howto.&lt;br /&gt;
#: When creating low resolution scenery ({{abbr|4 m/pixel|1 pixel spans 4 x 4 m}} or lower), a single 4096 x 4096 pixel texture can cover one tile. Higher resolution scenery requires the tile to be cut into smaller pieces: we'll call those photo tiles.&lt;br /&gt;
# Repeat the following steps for each single photo tile.&lt;br /&gt;
## Mirror the texture upside down.&lt;br /&gt;
## Convert the texture to &amp;lt;code&amp;gt;.dds&amp;lt;/code&amp;gt; via NVidia's nvcompress (part of the [http://developer.nvidia.com/legacy-texture-tools NVidia Tools]).&lt;br /&gt;
## Create a shapefile with the size/location of the texture. Save the shapefile with an unique name (for example &amp;lt;code&amp;gt;302373_3_2.shp&amp;lt;/code&amp;gt;, where the &amp;lt;code&amp;gt;3_2&amp;lt;/code&amp;gt; indicates the horizontal/vertical tile id. This is not needed when using just one texture per tile).&lt;br /&gt;
# Generate the scenery with [[TerraGear]], using the shapefiles as input.&lt;br /&gt;
# Currently TerraGear does not create good UV maps, so some manual steps are needed:&lt;br /&gt;
# Import (one of) the &amp;lt;code&amp;gt;.btg.gz&amp;lt;/code&amp;gt; file(s) in [[Blender]] via the [[Blender and BTG]] plugin.&lt;br /&gt;
## Correct the uvmapping of each single sub-tile. The map should cover the texture exactly.&lt;br /&gt;
## Export the file again. Please note that you cannot re-import the file after exporting, so do not close Blender before verifying that the UV mapping is correct!&lt;br /&gt;
# Create a &amp;lt;code&amp;gt;materials.xml&amp;lt;/code&amp;gt; file for your project. For example &amp;lt;code&amp;gt;[[$FG_ROOT]]/Photoscenery/materials-nl.xml&amp;lt;/code&amp;gt; for Dutch scenery.&lt;br /&gt;
# Add a material definition for each single sub-tile, like:&lt;br /&gt;
#: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;material&amp;gt;&amp;lt;name&amp;gt;3023745_1_1&amp;lt;/name&amp;gt;&amp;lt;texture&amp;gt;NL/3023745/3023745.1.1.dds&amp;lt;/texture&amp;gt;&amp;lt;/material&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: The texture path is relative to &amp;lt;code&amp;gt;[[$FG_ROOT]]/Textures&amp;lt;/code&amp;gt;.&lt;br /&gt;
Now launch FlightGear with [[$FG_SCENERY]] set to the output directory of TerraGear and the command &amp;lt;code&amp;gt;--materials-file=Photoscenery/materials-nl.xml&amp;lt;/code&amp;gt; (for example).&lt;br /&gt;
&lt;br /&gt;
=== 3D Model ===&lt;br /&gt;
[[File:Prague 3D photoscenery.png|thumb|270px|Prague, using the 3D model method.]]&lt;br /&gt;
Instead of using the normal terrain, one could replace it by a big 3D model.&lt;br /&gt;
# Create a 3D model of the terrain and texturize it with the orthoimagery.&lt;br /&gt;
# Place the model as any other 3D object in the scenery.&lt;br /&gt;
# Remove the corresponding &amp;lt;code&amp;gt;Terrain/.../... .stg&amp;lt;/code&amp;gt; file to hide the normal scenery.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
Several example photoscenery projects. The text between brackets indicates what method is used.&lt;br /&gt;
* [[Brest]], France (texture materials)&lt;br /&gt;
* [http://helijah.free.fr/flightgear/scenes.html Paris and surroundings], France (texture overlay)&lt;br /&gt;
* [http://flightgear-cz.wz.cz/ Prague], Czech Republic (3D Model)&lt;br /&gt;
* Selected places of the [http://fgphotoscenery.square7.ch/ United States of America] (texture overlay)&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Julia photoscenery generator]]&lt;br /&gt;
&lt;br /&gt;
=== Forum topics ===&lt;br /&gt;
* {{forum link|t=44533|title=Útil paisagem: new photoscenery tool for FlightGear}} (July 2026-) Software for easy creation of photoscenery for FlightGear with a graphical user interface and correction of download errors&lt;br /&gt;
* {{forum link|t=39066|title=Photoscenery generator for Julia compiler}} (April 2021-) Programs to generate and manipulate photoscenery for FGFS&lt;br /&gt;
* {{forum link|t=38057|title=16k Photoscenery}} (September 2020-)&lt;br /&gt;
* {{forum link|t=37866|title=Photoscenery?}} (August 2020-) Discussing a patch that simplifies adding photoscenery, that later was added to FlightGear&lt;br /&gt;
* {{forum link|p=201862|title=Re: DDS for textures Rotterdam}} (February 2014)&lt;br /&gt;
* {{forum link|t=22784|title=A project to create a source of free geo-referenced instrument charts}} (April 2014-June 2014)&lt;br /&gt;
&lt;br /&gt;
[[Category:Photoscenery]]&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>FWST</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Photoscenery&amp;diff=146703</id>
		<title>Photoscenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Photoscenery&amp;diff=146703"/>
		<updated>2026-07-29T23:51:12Z</updated>

		<summary type="html">&lt;p&gt;FWST: /* Forum topics */Added forum topic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Brest.jpg|thumb|270px|A [[Cessna 172P]] flying over 1 m/pixel photoscenery of Brest, France.]]&lt;br /&gt;
'''Photoscenery''' is [[scenery]] in which orthoimagery (aerial photographs) is placed over the terrain.&lt;br /&gt;
&lt;br /&gt;
== Why use photoscenery? ==&lt;br /&gt;
'''Advantages:'''&lt;br /&gt;
* Photoscenery shows the real world, it does not try to resemble it.&lt;br /&gt;
* Areas blend realistically, instead of a hard cut between urban and forest, or water and land for example.&lt;br /&gt;
* For VFR flight, more easy navigation in known locations because landmarks are more easily recognized.&lt;br /&gt;
&lt;br /&gt;
'''Disadvantages:'''&lt;br /&gt;
* One needs large (or many) textures for high resolution scenery. For low level (VFR) flying, {{abbr|1 m/pixel|1 pixel spans 1 x 1 m}} is the absolute minimum.&lt;br /&gt;
* Orthoimagery is often hard to obtain, especially under an open license.&lt;br /&gt;
* The system running photoscenery has a higher memory (RAM) demand.&lt;br /&gt;
&lt;br /&gt;
== Enabling photoscenery ==&lt;br /&gt;
Photoscenery can be enabled by navigating to the menubar: View, Rendering Options, and click on the Satellite Photoscenery checkbox.&lt;br /&gt;
&lt;br /&gt;
This will load Photoscenery from your normal Scenery folders (subfolder &amp;quot;Orthophotos/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Obtaining orthoimagery ==&lt;br /&gt;
* [http://www.usgs.gov/ USGS], provides {{abbr|3 m/pixel|1 pixel spans 3 x 3 m}} imagery for the entire United States of America, released in the public domain (and thus GNU GPL compatible).&lt;br /&gt;
&lt;br /&gt;
The prefered way of downloading these images depends on the used method Please read [[#Creating photoscenery|how to create photoscenery]], before starting.&lt;br /&gt;
&lt;br /&gt;
{{note|The most easy and quick way nowadays is to install [https://julialang.org/ Julia] and use the [[Julia photoscenery generator]].}}&lt;br /&gt;
&lt;br /&gt;
=== Preprocessing ===&lt;br /&gt;
* Since FlightGear adds haze to the scene, the textures should be &amp;quot;unhazed&amp;quot; to avoid double hazing.&lt;br /&gt;
* Shadows included in the images will conflict with shadows added by FlightGear. When creating small areas, shadows can be removed by hand from the textures, but this is usually undoable.&lt;br /&gt;
&lt;br /&gt;
== Creating photoscenery ==&lt;br /&gt;
There are several ways of creating photoscenery for [[FlightGear]], of which some are discussed here.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! [[#Texture overlays|Texture overlays]]&lt;br /&gt;
! [[#Texture materials|Texture materials]]&lt;br /&gt;
! [[#3D Model|3D Model]]&lt;br /&gt;
! [[Building FlightGear with osgEarth Integration|osgEarth]]&lt;br /&gt;
&lt;br /&gt;
! Comment&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Supported by stable FlightGear release (requires no patching)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Toggle on run-time&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| With the current patch, the textures overlays are always loaded.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Water reflections, random buildings/trees&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| Depends on accuracy of underlying terrain (shapefiles)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Texture masks (not-so random objects)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Requires no adapted scenery&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | High resolution&lt;br /&gt;
| {{no|ca. {{abbr|4m/pixel|1 pixel spans 4 x 4 m}}}}&lt;br /&gt;
| {{yes|{{abbr|1m/pixel|1 pixel spans 1 x 1 m}} or higher|colspan{{=}}&amp;quot;2&amp;quot;}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Advanced weather support&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| Depends on accuracy of underlying terrain (shapefiles)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Requires no custom materials file&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture overlays ===&lt;br /&gt;
This method places the photo texture on top of the normal scenery. It requires [http://blaniel.free.fr/pub/flightgear/brest/ patches to be applied] to the FGData and SimGear sources.&lt;br /&gt;
&lt;br /&gt;
# Calculate the tile bounds.&lt;br /&gt;
# Cut the orthoimagery to the bounds of the tile and save it with the name of the tile (for example &amp;lt;code&amp;gt;3023737.png&amp;lt;/code&amp;gt;). &lt;br /&gt;
#: A 4096 x 4096 pixel texture gives roughly a 4 m/pixel resolution. Most graphics cards cannot handle larger textures, so when distributing the scenery this can be considered to be the limit. Tests on various machines showed that 16384 x 16384 pixel textures are possible (1 m/pixel).&lt;br /&gt;
# Mirror the texture upside down.&lt;br /&gt;
# Convert the texture to &amp;lt;code&amp;gt;.dds&amp;lt;/code&amp;gt; via NVidia's nvcompress (part of the [http://developer.nvidia.com/legacy-texture-tools NVidia Tools]).&lt;br /&gt;
#: It was found that 16384 x 16384 pixel textures can not be processed by nvcompress. The [http://code.google.com/p/gimp-dds/ DDS plugin for GIMP] worked fine though.&lt;br /&gt;
# Place this texture next to the respective &amp;lt;code&amp;gt;.btg.gz&amp;lt;/code&amp;gt; file.&lt;br /&gt;
Simply launch FlightGear with [[$FG_SCENERY]] set to your scenery directory. Disable all shaders in the ''Main Menu'' &amp;amp;gt; ''View'' &amp;amp;gt; ''Rendering Options'' dialog. Model and Water can be enabled, but all other shaders will disable the photoscenery.&lt;br /&gt;
&lt;br /&gt;
{{note|Step 1 to 5 can be done by the photoscenery perl script from the {{sourceforge source|flightgear|fgscenery/tools|path=Photoscenery|text=FGScenery tools}}, when the imagery is obtained via a [http://en.wikipedia.org/wiki/Web_Map_Service Web Map Service] (WMS).}}&lt;br /&gt;
&lt;br /&gt;
=== Texture materials ===&lt;br /&gt;
Another approach is to add each photo texture as a &amp;quot;material&amp;quot; in the &amp;lt;code&amp;gt;materials.xml&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
# Calculate the tile bounds with the python scripts from http://fgphotoscenery.square7.ch/#howto.&lt;br /&gt;
#: When creating low resolution scenery ({{abbr|4 m/pixel|1 pixel spans 4 x 4 m}} or lower), a single 4096 x 4096 pixel texture can cover one tile. Higher resolution scenery requires the tile to be cut into smaller pieces: we'll call those photo tiles.&lt;br /&gt;
# Repeat the following steps for each single photo tile.&lt;br /&gt;
## Mirror the texture upside down.&lt;br /&gt;
## Convert the texture to &amp;lt;code&amp;gt;.dds&amp;lt;/code&amp;gt; via NVidia's nvcompress (part of the [http://developer.nvidia.com/legacy-texture-tools NVidia Tools]).&lt;br /&gt;
## Create a shapefile with the size/location of the texture. Save the shapefile with an unique name (for example &amp;lt;code&amp;gt;302373_3_2.shp&amp;lt;/code&amp;gt;, where the &amp;lt;code&amp;gt;3_2&amp;lt;/code&amp;gt; indicates the horizontal/vertical tile id. This is not needed when using just one texture per tile).&lt;br /&gt;
# Generate the scenery with [[TerraGear]], using the shapefiles as input.&lt;br /&gt;
# Currently TerraGear does not create good UV maps, so some manual steps are needed:&lt;br /&gt;
# Import (one of) the &amp;lt;code&amp;gt;.btg.gz&amp;lt;/code&amp;gt; file(s) in [[Blender]] via the [[Blender and BTG]] plugin.&lt;br /&gt;
## Correct the uvmapping of each single sub-tile. The map should cover the texture exactly.&lt;br /&gt;
## Export the file again. Please note that you cannot re-import the file after exporting, so do not close Blender before verifying that the UV mapping is correct!&lt;br /&gt;
# Create a &amp;lt;code&amp;gt;materials.xml&amp;lt;/code&amp;gt; file for your project. For example &amp;lt;code&amp;gt;[[$FG_ROOT]]/Photoscenery/materials-nl.xml&amp;lt;/code&amp;gt; for Dutch scenery.&lt;br /&gt;
# Add a material definition for each single sub-tile, like:&lt;br /&gt;
#: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;material&amp;gt;&amp;lt;name&amp;gt;3023745_1_1&amp;lt;/name&amp;gt;&amp;lt;texture&amp;gt;NL/3023745/3023745.1.1.dds&amp;lt;/texture&amp;gt;&amp;lt;/material&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: The texture path is relative to &amp;lt;code&amp;gt;[[$FG_ROOT]]/Textures&amp;lt;/code&amp;gt;.&lt;br /&gt;
Now launch FlightGear with [[$FG_SCENERY]] set to the output directory of TerraGear and the command &amp;lt;code&amp;gt;--materials-file=Photoscenery/materials-nl.xml&amp;lt;/code&amp;gt; (for example).&lt;br /&gt;
&lt;br /&gt;
=== 3D Model ===&lt;br /&gt;
[[File:Prague 3D photoscenery.png|thumb|270px|Prague, using the 3D model method.]]&lt;br /&gt;
Instead of using the normal terrain, one could replace it by a big 3D model.&lt;br /&gt;
# Create a 3D model of the terrain and texturize it with the orthoimagery.&lt;br /&gt;
# Place the model as any other 3D object in the scenery.&lt;br /&gt;
# Remove the corresponding &amp;lt;code&amp;gt;Terrain/.../... .stg&amp;lt;/code&amp;gt; file to hide the normal scenery.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
Several example photoscenery projects. The text between brackets indicates what method is used.&lt;br /&gt;
* [[Brest]], France (texture materials)&lt;br /&gt;
* [http://helijah.free.fr/flightgear/scenes.html Paris and surroundings], France (texture overlay)&lt;br /&gt;
* [http://flightgear-cz.wz.cz/ Prague], Czech Republic (3D Model)&lt;br /&gt;
* Selected places of the [http://fgphotoscenery.square7.ch/ United States of America] (texture overlay)&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Julia photoscenery generator]]&lt;br /&gt;
&lt;br /&gt;
=== Forum topics ===&lt;br /&gt;
* {{fórum link|t=44533|title=Útil paisagem: new photoscenery tool for FlightGear}} (July 2026-) Software for easy creation of photoscenery for FlightGear with a graphical user interface and correction of download errors&lt;br /&gt;
* {{forum link|t=39066|title=Photoscenery generator for Julia compiler}} (April 2021-) Programs to generate and manipulate photoscenery for FGFS&lt;br /&gt;
* {{forum link|t=38057|title=16k Photoscenery}} (September 2020-)&lt;br /&gt;
* {{forum link|t=37866|title=Photoscenery?}} (August 2020-) Discussing a patch that simplifies adding photoscenery, that later was added to FlightGear&lt;br /&gt;
* {{forum link|p=201862|title=Re: DDS for textures Rotterdam}} (February 2014)&lt;br /&gt;
* {{forum link|t=22784|title=A project to create a source of free geo-referenced instrument charts}} (April 2014-June 2014)&lt;br /&gt;
&lt;br /&gt;
[[Category:Photoscenery]]&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>FWST</name></author>
	</entry>
</feed>