<?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=F-JJTH</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=F-JJTH"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/F-JJTH"/>
	<updated>2026-04-09T09:11:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User_talk:F-JJTH&amp;diff=82614</id>
		<title>User talk:F-JJTH</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User_talk:F-JJTH&amp;diff=82614"/>
		<updated>2015-03-19T11:08:10Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:F-JJTH&amp;diff=82613</id>
		<title>User:F-JJTH</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:F-JJTH&amp;diff=82613"/>
		<updated>2015-03-19T11:07:46Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:F-JJTH&amp;diff=81751</id>
		<title>User:F-JJTH</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:F-JJTH&amp;diff=81751"/>
		<updated>2015-03-02T08:23:18Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: my todo list for FG 3.6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FlightGear Core developers]]&lt;br /&gt;
[[Category:Developer Plans]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I'm french, and I participe to many developement of aircraft (Douglas DC-3 C47, R44, P92, DR400 Dauphin, Cap10B, Cap10C, DR400-jsbSim...)&lt;br /&gt;
&lt;br /&gt;
My competence are :&lt;br /&gt;
* C++&lt;br /&gt;
* Nasal&lt;br /&gt;
* XML&lt;br /&gt;
* 3D : only little correction (Blender)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Todo List==&lt;br /&gt;
This list contains all job I'm interested to work.&lt;br /&gt;
&lt;br /&gt;
* 2013&lt;br /&gt;
** Add FGCom feature into FlightGear {{Progressbar|100}}&lt;br /&gt;
** Setup a new and updated FGCom server {{Progressbar|100}}  [http://fgcom.flightgear.org]&lt;br /&gt;
** Add ATC mode into FGCom standalone {{Progressbar|100}}&lt;br /&gt;
** Provide FGCom standalone for Windows, Linux, Mac {{Progressbar|100}} [http://fgcom.flightgear.org/download]&lt;br /&gt;
** Write a new FGCom documentation {{Progressbar|100}} [[FGCom_3.0]]&lt;br /&gt;
&lt;br /&gt;
* 2014&lt;br /&gt;
** &amp;lt;s&amp;gt;Fix &amp;quot;exit&amp;quot; issue for FGCom standalone&amp;lt;/s&amp;gt;  Re-write FGCom standalone from scratch {{Progressbar|100}}  [http://mapserver.flightgear.org/git/?p=flightgear;a=commit;h=b0b272e4d240a3b02062d196b47056179464a5c1]&lt;br /&gt;
** Remove bin/Win[32|64] from the Windows installer {{Progressbar|100}}&lt;br /&gt;
** Implement an OSM client in FG {{Progressbar|10}} (Abandonned: Stuart is working on this already)&lt;br /&gt;
** Add support for 8.33KHz radio in FG {{Progressbar|10}} (Abandonned: X-Plane data (apt.dat) are missing information to implement this)&lt;br /&gt;
&lt;br /&gt;
* 2015&lt;br /&gt;
** Finalize FGData split {{Progressbar|40}}&lt;br /&gt;
** Add Qt launcher to Windows platform {{Progressbar|10}}&lt;br /&gt;
** Make the Aircraft Launcher efficient {{Progressbar|10}}&lt;br /&gt;
** Jenkins: provide full nightly build + harmonize build scripts {{Progressbar|10}}&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=79259</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=79259"/>
		<updated>2015-01-20T19:14:07Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: update FGCom website link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://fgcom.flightgear.org&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# You can also check that your PTT works fine looking at the &amp;quot;PTT test&amp;quot; checkbox when you press your PTT button (default is {{Key press|Space}})&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Echo test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* PTT test : when you press your PTT this checkbox will be checked&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Silence threshold : set the limit, in dB, when FGCom consider no voice in your microphone&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.4.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.4.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.4.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.4.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Loading aiports informations...&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Message: Call 0 accepted&lt;br /&gt;
 Message: Echo Box - For testing FGCOM&lt;br /&gt;
 Message: Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;--help&amp;quot; argument will show you all the available options.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[es:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=79249</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=79249"/>
		<updated>2015-01-20T19:07:55Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: Update FGCom 3.4.0 download link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# You can also check that your PTT works fine looking at the &amp;quot;PTT test&amp;quot; checkbox when you press your PTT button (default is {{Key press|Space}})&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Echo test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* PTT test : when you press your PTT this checkbox will be checked&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Silence threshold : set the limit, in dB, when FGCom consider no voice in your microphone&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.4.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.4.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.4.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.4.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Loading aiports informations...&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Message: Call 0 accepted&lt;br /&gt;
 Message: Echo Box - For testing FGCOM&lt;br /&gt;
 Message: Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;--help&amp;quot; argument will show you all the available options.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[es:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraGear_Documentation&amp;diff=78767</id>
		<title>TerraGear Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraGear_Documentation&amp;diff=78767"/>
		<updated>2015-01-03T19:57:19Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* terrafit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There has been a lot of questions relating to scenery generation tools. This page is an attempt to document each of the tools I use. I will also document the design, and what each tool is actually doing.&lt;br /&gt;
&lt;br /&gt;
My hope is to attract more developers to work on the tools to make it easier to create better scenery for [[FlightGear]].&lt;br /&gt;
&lt;br /&gt;
== Toolchain ==&lt;br /&gt;
If you just want see every options/arguments available for each tool you can use this command line in the terragear/bin directory : (only for linux user)&lt;br /&gt;
  for file in *; do echo &amp;quot;&amp;quot; &amp;amp;&amp;amp; echo &amp;quot;###################################&amp;quot; &amp;amp;&amp;amp; echo $file &amp;amp;&amp;amp; echo &amp;quot;###################################&amp;quot; &amp;amp;&amp;amp; ./$file --help; done&lt;br /&gt;
or alternatively&lt;br /&gt;
  find * -exec bash './{}' '--help' \;&lt;br /&gt;
&lt;br /&gt;
=== gdalchop ===&lt;br /&gt;
&lt;br /&gt;
gdalchop is a tool responsible for cropping height data files into SimGear buckets (or tiles).&lt;br /&gt;
&lt;br /&gt;
Most height data is published in fairly large data files that cover 1 square degree.  For SRTM-1 data, there are 3601 x 3601 data points per file.  For SRTM-3 data, there are 1201 x 1201 data points per file.  SRTM datafiles are named by their southwestern most point.&lt;br /&gt;
&lt;br /&gt;
When TerraGear tools need to query elevation data, they do so expecting the data to be located in a standard SimGear folder structure as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Format !! Example&lt;br /&gt;
|-&lt;br /&gt;
|''10 deg x 10 deg folder''|| ''w070n10''&lt;br /&gt;
|-&lt;br /&gt;
|— ''1 degree by 1 degree subfolder  ''||— ''w065n17''&lt;br /&gt;
|-&lt;br /&gt;
|—— ''bucket file  ''||—— ''1891048.arr.gz  ''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
gdalchop will create this directory structure in the work folder, and create sgbucket.arr.gz files within.&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
gdalchop &amp;lt;height data dir&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''height data dir'''&amp;lt;br /&amp;gt;&lt;br /&gt;
This is the directory your height data resides in.  (i.e. .hgt files for SRTM)&lt;br /&gt;
&lt;br /&gt;
'''work_dir'''&amp;lt;br /&amp;gt;&lt;br /&gt;
This is where gdalchop will generate the elevation directory structure described above.&lt;br /&gt;
&lt;br /&gt;
==== notes ====&lt;br /&gt;
# remember to use gdalchop on directories, rather than individual files.  It handles height data stitching for you.  Using individual files will produce data with missing elevation data where stitching could not be performed.&lt;br /&gt;
&lt;br /&gt;
For example, this command will process all the .hgt file from the folder &amp;quot;SRTM-source&amp;quot; and the result will go in the folder &amp;quot;work/SRTM3&amp;quot;&lt;br /&gt;
 gdalchop work/SRTM3 SRTM-source/*.hgt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hgtchop (deprecated) ===&lt;br /&gt;
hgtchop is also a too responsible for cropping height data files into SimGear buckets (or tiles).  This tool only work with data in the .hgt format (SRTM, viewfinder).  &lt;br /&gt;
&lt;br /&gt;
Reasons for using gdalchop:&lt;br /&gt;
* handles heightdata in many more formats&lt;br /&gt;
* is based on gdal, an actively maintained open source GIS library&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
hgtchop &amp;lt;resolution&amp;gt; &amp;lt;hgt_file&amp;gt; &amp;lt;work_dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''resolution'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Each file created contains ALL of the data points for the simgear tile. For SRTM-1 data, the resultant grid (for tiles near the equator) is 450 x 450 points.  For SRTM-3 data, the grid is 150 x 150 points.  The resolution parameter tells hgtcop the distance between sampled points.  Note that tile width varies with latitude.  So 'square' tiles really only exist between 22 degrees N - 22 degrees S.  The tile widths are explained here: [[Tile_Index_Scheme|Tile Index Scheme]] &lt;br /&gt;
&lt;br /&gt;
'''hgt_file'''&amp;lt;br /&amp;gt;&lt;br /&gt;
The source file. Usually, the source files are 1 degree by 1 degree, and have enough data to create 64 simgear buckets (near the equator).&lt;br /&gt;
&lt;br /&gt;
'''work_dir'''&amp;lt;br /&amp;gt;&lt;br /&gt;
This is where hgt-chop will generate the elevation directory structure described above.&lt;br /&gt;
&lt;br /&gt;
==== notes ====&lt;br /&gt;
#zip files : In TGHgt::open, if the file extension is '.zip', then unzip executable is executed through system().  If the host system doesn't have unzip, then hgtchop will fail.  The unzip should be performed via SimGear - Investigation needed&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== terrafit ===&lt;br /&gt;
&lt;br /&gt;
terrafit is responsible for taking the raw heightfield data for one bucket, and picking the most important points to generate a triangle mesh.  It uses [http://mgarland.org/archive/cmu/scape/terra.html Terra] to perform the work.  The output is not a triangulation, but rather a list of nodes that can be fed to a triangulation routine.  The quality of FlightGear's terrain is directly related to what parameters are fed into terrafit.&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
terrafit [options] &amp;lt;file | path&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Default !! Description&lt;br /&gt;
|-&lt;br /&gt;
| -m ''or'' --minnodes||50||smallest number of nodes to produce.  For a mostly flat tile, more nodes are wasteful.&lt;br /&gt;
|-&lt;br /&gt;
| -x ''or'' --maxnodes||1000||largest number of nodes to produce.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a very complex tile, limiting this will reduce the detail of the resulting mesh.&lt;br /&gt;
|-&lt;br /&gt;
| -e ''or'' --maxerror||40||While picking points, and we have at least minnodes, but not yet maxnodes, the mesh will be completed&amp;lt;br /&amp;gt;&lt;br /&gt;
if any of the remaining points maximum elevation error drops below this value.&lt;br /&gt;
|-&lt;br /&gt;
| -f ''or'' --force|| ||If you have an already fitted work directory, and want to regenerate with different parameters, be sure to use force.&amp;lt;br /&amp;gt;&lt;br /&gt;
Otherwise, the work directory is checked for updated height data and merged with current data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see, the default parameters are pretty conservative.  At most, we will output 1,000 nodes.  The input data for SRTM-1 contains 202,500 nodes, so we are only keeping 0.5% of the source data (or for SRTM-3, with 22,500 nodes, we keep ~5% of the source data)  &lt;br /&gt;
&lt;br /&gt;
For my experiments, I've increased maxnodes to 20,000, and decreased max error to 10 meters, and didn't see a major frame rate hit).&lt;br /&gt;
&lt;br /&gt;
If you consider the number of nodes added when using detailed landclass, it's unfortunate that the height lookup for these points will be based on such an inaccurate mesh.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, this command will process all the *.arr.gz file (previously generated with gdalchop) from the folder &amp;quot;work/SRTM3&amp;quot;, the result will go among .arr.gz files&lt;br /&gt;
 terrafit -f -m 50 -x 20000 -e 10 work/SRTM3&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ogr-decode ===&lt;br /&gt;
&lt;br /&gt;
ogrdecode is responsible for decoding landclass and line vector data into terragears internal textured polygon format.  It also performs the 'chop' operation, so the output is structured in the same directory format as described in gdalchop.  ogr-decode is capable of decoding shapefiles stored on disk, or retrieving the data from a PosGIS database.&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
ogr-decode [options...] &amp;lt;work dir&amp;gt; &amp;lt;datasource&amp;gt; [&amp;lt;layername&amp;gt;...]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Default !! Description&lt;br /&gt;
|-&lt;br /&gt;
| --line-width||50||for line data, this is the width in meters the generated polygons will be.&lt;br /&gt;
|-&lt;br /&gt;
| --line-width-column||''none''||for line data, this optional field can be used to retrieve the width from the database row, under the given column.&amp;lt;br /&amp;gt;&lt;br /&gt;
If data is present in the row, it overrides the line-width parameter.&lt;br /&gt;
|-&lt;br /&gt;
| --point-width||500||for point data, this is the 'width' of the square generated.  Both width and height will be this large.&lt;br /&gt;
|-&lt;br /&gt;
| --point-width-column||''none''||for point data, this optional field can be used to retrieve the width from the database row, under the given column.&amp;lt;br /&amp;gt;&lt;br /&gt;
If data is present in the row, it overrides the point-width parameter.&lt;br /&gt;
|-&lt;br /&gt;
| --area-type||Default||This string is used to define the type of landclass the generated polygons will be saved under.&amp;lt;br /&amp;gt;&lt;br /&gt;
In tgconstruct, the landclass priorities file is used to determine the priority of each landclass.  higher priorities are 'on top' of lower.&amp;lt;br /&amp;gt;&lt;br /&gt;
The name given here must match a landclass type in your priorities configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== genapts / genapts850 ===&lt;br /&gt;
&lt;br /&gt;
==== design ====&lt;br /&gt;
:Step 1 : Parse&lt;br /&gt;
&lt;br /&gt;
:Step 2 : Clip&lt;br /&gt;
&lt;br /&gt;
:Step 3 : Clean&lt;br /&gt;
&lt;br /&gt;
:Step 4 : Elevation&lt;br /&gt;
&lt;br /&gt;
:Step 5 : Output&lt;br /&gt;
&lt;br /&gt;
=== fgfs-construct ===&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Using Terragear]]&lt;br /&gt;
* [[TerraGear CORINE]]&lt;br /&gt;
&lt;br /&gt;
{{Terra}}&lt;br /&gt;
{{Building}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery enhancement]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraGear_Documentation&amp;diff=78765</id>
		<title>TerraGear Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraGear_Documentation&amp;diff=78765"/>
		<updated>2015-01-03T19:51:30Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* gdalchop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There has been a lot of questions relating to scenery generation tools. This page is an attempt to document each of the tools I use. I will also document the design, and what each tool is actually doing.&lt;br /&gt;
&lt;br /&gt;
My hope is to attract more developers to work on the tools to make it easier to create better scenery for [[FlightGear]].&lt;br /&gt;
&lt;br /&gt;
== Toolchain ==&lt;br /&gt;
If you just want see every options/arguments available for each tool you can use this command line in the terragear/bin directory : (only for linux user)&lt;br /&gt;
  for file in *; do echo &amp;quot;&amp;quot; &amp;amp;&amp;amp; echo &amp;quot;###################################&amp;quot; &amp;amp;&amp;amp; echo $file &amp;amp;&amp;amp; echo &amp;quot;###################################&amp;quot; &amp;amp;&amp;amp; ./$file --help; done&lt;br /&gt;
or alternatively&lt;br /&gt;
  find * -exec bash './{}' '--help' \;&lt;br /&gt;
&lt;br /&gt;
=== gdalchop ===&lt;br /&gt;
&lt;br /&gt;
gdalchop is a tool responsible for cropping height data files into SimGear buckets (or tiles).&lt;br /&gt;
&lt;br /&gt;
Most height data is published in fairly large data files that cover 1 square degree.  For SRTM-1 data, there are 3601 x 3601 data points per file.  For SRTM-3 data, there are 1201 x 1201 data points per file.  SRTM datafiles are named by their southwestern most point.&lt;br /&gt;
&lt;br /&gt;
When TerraGear tools need to query elevation data, they do so expecting the data to be located in a standard SimGear folder structure as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Format !! Example&lt;br /&gt;
|-&lt;br /&gt;
|''10 deg x 10 deg folder''|| ''w070n10''&lt;br /&gt;
|-&lt;br /&gt;
|— ''1 degree by 1 degree subfolder  ''||— ''w065n17''&lt;br /&gt;
|-&lt;br /&gt;
|—— ''bucket file  ''||—— ''1891048.arr.gz  ''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
gdalchop will create this directory structure in the work folder, and create sgbucket.arr.gz files within.&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
gdalchop &amp;lt;height data dir&amp;gt; &amp;lt;work dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''height data dir'''&amp;lt;br /&amp;gt;&lt;br /&gt;
This is the directory your height data resides in.  (i.e. .hgt files for SRTM)&lt;br /&gt;
&lt;br /&gt;
'''work_dir'''&amp;lt;br /&amp;gt;&lt;br /&gt;
This is where gdalchop will generate the elevation directory structure described above.&lt;br /&gt;
&lt;br /&gt;
==== notes ====&lt;br /&gt;
# remember to use gdalchop on directories, rather than individual files.  It handles height data stitching for you.  Using individual files will produce data with missing elevation data where stitching could not be performed.&lt;br /&gt;
&lt;br /&gt;
For example, this command will process all the .hgt file from the folder &amp;quot;SRTM-source&amp;quot; and the result will go in the folder &amp;quot;work/SRTM3&amp;quot;&lt;br /&gt;
 gdalchop work/SRTM3 SRTM-source/*.hgt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hgtchop (deprecated) ===&lt;br /&gt;
hgtchop is also a too responsible for cropping height data files into SimGear buckets (or tiles).  This tool only work with data in the .hgt format (SRTM, viewfinder).  &lt;br /&gt;
&lt;br /&gt;
Reasons for using gdalchop:&lt;br /&gt;
* handles heightdata in many more formats&lt;br /&gt;
* is based on gdal, an actively maintained open source GIS library&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
hgtchop &amp;lt;resolution&amp;gt; &amp;lt;hgt_file&amp;gt; &amp;lt;work_dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''resolution'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Each file created contains ALL of the data points for the simgear tile. For SRTM-1 data, the resultant grid (for tiles near the equator) is 450 x 450 points.  For SRTM-3 data, the grid is 150 x 150 points.  The resolution parameter tells hgtcop the distance between sampled points.  Note that tile width varies with latitude.  So 'square' tiles really only exist between 22 degrees N - 22 degrees S.  The tile widths are explained here: [[Tile_Index_Scheme|Tile Index Scheme]] &lt;br /&gt;
&lt;br /&gt;
'''hgt_file'''&amp;lt;br /&amp;gt;&lt;br /&gt;
The source file. Usually, the source files are 1 degree by 1 degree, and have enough data to create 64 simgear buckets (near the equator).&lt;br /&gt;
&lt;br /&gt;
'''work_dir'''&amp;lt;br /&amp;gt;&lt;br /&gt;
This is where hgt-chop will generate the elevation directory structure described above.&lt;br /&gt;
&lt;br /&gt;
==== notes ====&lt;br /&gt;
#zip files : In TGHgt::open, if the file extension is '.zip', then unzip executable is executed through system().  If the host system doesn't have unzip, then hgtchop will fail.  The unzip should be performed via SimGear - Investigation needed&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== terrafit ===&lt;br /&gt;
&lt;br /&gt;
terrafit is responsible for taking the raw heightfield data for one bucket, and picking the most important points to generate a triangle mesh.  It uses [http://mgarland.org/archive/cmu/scape/terra.html Terra] to perform the work.  The output is not a triangulation, but rather a list of nodes that can be fed to a triangulation routine.  The quality of FlightGear's terrain is directly related to what parameters are fed into terrafit.&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
terrafit [options] &amp;lt;file | path&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Default !! Description&lt;br /&gt;
|-&lt;br /&gt;
| -m ''or'' --minnodes||50||smallest number of nodes to produce.  For a mostly flat tile, more nodes are wasteful.&lt;br /&gt;
|-&lt;br /&gt;
| -x ''or'' --maxnodes||1000||largest number of nodes to produce.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a very complex tile, limiting this will reduce the detail of the resulting mesh.&lt;br /&gt;
|-&lt;br /&gt;
| -e ''or'' --maxerror||40||While picking points, and we have at least minnodes, but not yet maxnodes, the mesh will be completed&amp;lt;br /&amp;gt;&lt;br /&gt;
if any of the remaining points maximum elevation error drops below this value.&lt;br /&gt;
|-&lt;br /&gt;
| -f ''or'' --force|| ||If you have an already fitted work directory, and want to regenerate with different parameters, be sure to use force.&amp;lt;br /&amp;gt;&lt;br /&gt;
Otherwise, the work directory is checked for updated height data and merged with current data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see, the default parameters are pretty conservative.  At most, we will output 1,000 nodes.  The input data for SRTM-1 contains 202,500 nodes, so we are only keeping 0.5% of the source data (or for SRTM-3, with 22,500 nodes, we keep ~5% of the source data)  &lt;br /&gt;
&lt;br /&gt;
For my experiments, I've increased maxnodes to 20,000, and decreased max error to 10 meters, and didn't see a major frame rate hit).&lt;br /&gt;
&lt;br /&gt;
If you consider the number of nodes added when using detailed landclass, it's unfortunate that the height lookup for these points will be based on such an inaccurate mesh.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ogr-decode ===&lt;br /&gt;
&lt;br /&gt;
ogrdecode is responsible for decoding landclass and line vector data into terragears internal textured polygon format.  It also performs the 'chop' operation, so the output is structured in the same directory format as described in gdalchop.  ogr-decode is capable of decoding shapefiles stored on disk, or retrieving the data from a PosGIS database.&lt;br /&gt;
&lt;br /&gt;
==== command options ====&lt;br /&gt;
ogr-decode [options...] &amp;lt;work dir&amp;gt; &amp;lt;datasource&amp;gt; [&amp;lt;layername&amp;gt;...]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Default !! Description&lt;br /&gt;
|-&lt;br /&gt;
| --line-width||50||for line data, this is the width in meters the generated polygons will be.&lt;br /&gt;
|-&lt;br /&gt;
| --line-width-column||''none''||for line data, this optional field can be used to retrieve the width from the database row, under the given column.&amp;lt;br /&amp;gt;&lt;br /&gt;
If data is present in the row, it overrides the line-width parameter.&lt;br /&gt;
|-&lt;br /&gt;
| --point-width||500||for point data, this is the 'width' of the square generated.  Both width and height will be this large.&lt;br /&gt;
|-&lt;br /&gt;
| --point-width-column||''none''||for point data, this optional field can be used to retrieve the width from the database row, under the given column.&amp;lt;br /&amp;gt;&lt;br /&gt;
If data is present in the row, it overrides the point-width parameter.&lt;br /&gt;
|-&lt;br /&gt;
| --area-type||Default||This string is used to define the type of landclass the generated polygons will be saved under.&amp;lt;br /&amp;gt;&lt;br /&gt;
In tgconstruct, the landclass priorities file is used to determine the priority of each landclass.  higher priorities are 'on top' of lower.&amp;lt;br /&amp;gt;&lt;br /&gt;
The name given here must match a landclass type in your priorities configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== genapts / genapts850 ===&lt;br /&gt;
&lt;br /&gt;
==== design ====&lt;br /&gt;
:Step 1 : Parse&lt;br /&gt;
&lt;br /&gt;
:Step 2 : Clip&lt;br /&gt;
&lt;br /&gt;
:Step 3 : Clean&lt;br /&gt;
&lt;br /&gt;
:Step 4 : Elevation&lt;br /&gt;
&lt;br /&gt;
:Step 5 : Output&lt;br /&gt;
&lt;br /&gt;
=== fgfs-construct ===&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Using Terragear]]&lt;br /&gt;
* [[TerraGear CORINE]]&lt;br /&gt;
&lt;br /&gt;
{{Terra}}&lt;br /&gt;
{{Building}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery enhancement]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Understanding_Rembrandt&amp;diff=78749</id>
		<title>Understanding Rembrandt</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Understanding_Rembrandt&amp;diff=78749"/>
		<updated>2015-01-03T09:38:55Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Shadows at night time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Background ==&lt;br /&gt;
Many of us are wondering why Rembrandt is so slow for us, despite having fairly powerful computers. &lt;br /&gt;
&lt;br /&gt;
== Objective == &lt;br /&gt;
Try to better understand -and document- Rembrandt internals, so that we can better troubleshoot performance issues.&lt;br /&gt;
&lt;br /&gt;
Ok, I just tried Rembrandt again (after spending 5 minutes reading the wiki article), and while my computer is much less powerful than yours, I am also getting roughly ~15 fps at ksfo with the ufo - and looking at those OSG stats, there's a hell lot of stuff going on obviously, i.e. we have 10 different cameras 3 of them extremely busy (0,1 and 5)&lt;br /&gt;
&lt;br /&gt;
The performance is actually decent, though ALS with all goodies maxed out gets 25 fps for the same scene under Linux (there's the grass shader needing lots of noise calls for instance). I don't get a huge green bar.&lt;br /&gt;
&lt;br /&gt;
The big hit comes when I try to see Las Vegas (with the Urban shader) - that drives me down to 3 fps. Or when I try to activate filtering and switch it to 3 - then my framerate likewise dives down to 4.&lt;br /&gt;
&lt;br /&gt;
So I remember how this went - the base performance of Rembrandt without shadows was actually pretty decent on my box under Windows, 30 fps or so. Switching shadows on cost me some of that but was still flyable, but the shadows were flickering so much that I got a headache after 5 minutes, so I needed to switch the filtering to max. to be able to look at it - and that killed the framerate for good.&lt;br /&gt;
&lt;br /&gt;
If this is something that we really want to investigate more closely, I guess it would be a good idea to read the &amp;quot;deferred rendering&amp;quot; paper that Fred linked to in the article - at least those parts describing the 3 cameras that seem really busy (geometry/shadows/lighting)&lt;br /&gt;
&lt;br /&gt;
== Scene Complexity ==&lt;br /&gt;
Purely from a troubleshooting standpoint, I would like to know what kind of effect/impact we can expect from discarding vertices/triangles and quads from all three cameras (having 10 fps even at night time seems very odd), i.e. if discarding those translate into any proportional/tangible performance gains&lt;br /&gt;
&lt;br /&gt;
Actually, the base idea of deferred rendering is that it should be pretty insensitive to the amount of vertices you feed to it because it really has a minimal geometry shader (computationally cheaper than default even, it basically only notes where stuff is on the screen and stores the non-projected position in a buffer) and all the actual work of lighting etc. is done in the fragment pipelines. So I'd be very surprised if it responds at all to changes of the vertex load.&lt;br /&gt;
&lt;br /&gt;
I sort of see this on my card - if I'm fragment-limited, it switches to synchronized framrates, I get either 25 or 30 or 60 fps, but not 33 or 47. Completely different when the vertex shader jams, then I get to see arbitrary numbers. Which is a neat first-look diagnostics. Rembrandt is clearly fragment-dominated on my box.&lt;br /&gt;
&lt;br /&gt;
The thing is, it only takes a few errors in the C++ code that could massively inflate the amount of primitives sent to effects/shaders. And Rembrandt is obviously not well understood now that Fred is not maintaininig it currently. So there might be some low-hanging fruits there, but I am not going to spend hours going through the code unless I see tangible results.&lt;br /&gt;
&lt;br /&gt;
As far as I understand the wiki article, most stages are XML configurable, so we can probably customize things a bit there, or even disable certain cameras/stages - which would make sense to see if each camera's stage looks sane.&lt;br /&gt;
&lt;br /&gt;
For starters, I would probably start up at night time above sea - i.e. &amp;quot;minimal startup profile&amp;quot; and see what Rembrandt is doing then in each stage.&lt;br /&gt;
The number of vertices etc. should be fairly minimal then, shouldn't it ?&lt;br /&gt;
&lt;br /&gt;
ok, when going to zero-scenery places, I am getting rock-solid 60 fps/25ms here (daytime), with Rembrandt running with aircraft shadows, even with maxed out settings.&lt;br /&gt;
Can we work with that ? What about you ?&lt;br /&gt;
I remember your &amp;quot;orbitview&amp;quot; (?) project where you placed a huge sphere into the scenery. Could this help us to do some troubleshooting, i.e. using Nasal to place a few models (and possibly light sources) and see what's having an impact ?&lt;br /&gt;
&lt;br /&gt;
the other thing I noticed is that CPU load doesn't seem to decrease despite AGL/ASL attitude being too high to realistically cast shadows - would these be things that we could add to the effects/shaders to reduce rembrandt workload a bit ?&lt;br /&gt;
&lt;br /&gt;
== Reducing Complexity ? ==&lt;br /&gt;
&lt;br /&gt;
What would be involved in editing effects/shaders to simply discard 50% of all vertices ? I just want to see for myself if that's having an effect here or not  ?   &lt;br /&gt;
&lt;br /&gt;
In a vertex shader it's fairly difficult to do. To effectively discard a vertex, you need to evaluate some criterion based on its coordinates/attributes and then if that criterion is true move it out of the view frustrum and return, so you run a 'minimal' set of operations.&lt;br /&gt;
&lt;br /&gt;
The obvious thing to do if you want to test response to vertex numbers is to set visibility lower so that terrain is simply not showing up at the vertex shader at all in a controllable way. A theoretically elegant way if you can is to set random numbers as vertex attributes and to move the vertex out of the view frustrum if the random number is smaller than a threshold. But in passing attributes, you're of course changing the pipeline in a substantial way...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to test scaling of fragment shaders, that's much easier to do - evaluate another criterion in the first line which is true half of the time (say whether you're in the right half of the screen, you can test against gl_FragCoord which is the fragment position on the screen) and then insert a discard; if you want to dump the fragment without computing anything.&lt;br /&gt;
&lt;br /&gt;
== Profiling ==&lt;br /&gt;
I am going to check what the C++ runtime profile looks like in comparison to the classical renderer.&lt;br /&gt;
&lt;br /&gt;
Okay, I left rembrandt running for 10 minutes with the profiler enabled: fgcommand(&amp;quot;profiler-start&amp;quot;) - for some reason, the profile showed that &amp;quot;osgParticles&amp;quot; were eating up /some/ resources despite being not enabled - I tried to explicitly disable them, but that would still not change anything, so I removed the corresponding subsystem from src/Main/fg_init.cxx, which gave me +8 fps:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx&lt;br /&gt;
index 86494da..04d6f42 100644&lt;br /&gt;
--- a/src/Main/fg_init.cxx&lt;br /&gt;
+++ b/src/Main/fg_init.cxx&lt;br /&gt;
@@ -635,9 +635,11 @@ void fgCreateSubsystems(bool duringReset) {&lt;br /&gt;
     // Initialize the scenery management subsystem.&lt;br /&gt;
     ////////////////////////////////////////////////////////////////////&lt;br /&gt;
 &lt;br /&gt;
+#if 0&lt;br /&gt;
     globals-&amp;gt;get_scenery()-&amp;gt;get_scene_graph()&lt;br /&gt;
         -&amp;gt;addChild(simgear::Particles::getCommonRoot());&lt;br /&gt;
     simgear::GlobalParticleCallback::setSwitch(fgGetNode(&amp;quot;/sim/rendering/particles&amp;quot;, true));&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
     ////////////////////////////////////////////////////////////////////&lt;br /&gt;
     // Initialize the flight model subsystem.&lt;br /&gt;
@@ -1077,8 +1079,10 @@ void fgStartNewReset()&lt;br /&gt;
     &lt;br /&gt;
     simgear::clearEffectCache();&lt;br /&gt;
     simgear::SGModelLib::resetPropertyRoot();&lt;br /&gt;
-        &lt;br /&gt;
+&lt;br /&gt;
+#if 0        &lt;br /&gt;
     simgear::GlobalParticleCallback::setSwitch(NULL);&lt;br /&gt;
+#endif&lt;br /&gt;
     &lt;br /&gt;
     globals-&amp;gt;resetPropertyRoot();&lt;br /&gt;
     fgInitConfig(0, NULL, true);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shadows at night time ==&lt;br /&gt;
Well, something seems a bit odd there, because rembrandt is doing shadows, right ? And when I switch to night time mode, I am still just getting 10-15 fps and seeing similar subsystem/osg activity.&lt;br /&gt;
&lt;br /&gt;
as far as I know it's doing shadows at night just as well. If you drive your ufo to a Rembrandt-defined light source, I think it will cast a shadow also at night. I don't think the shadow part is off just because the sun is down. &lt;br /&gt;
&lt;br /&gt;
 Wrong, Rembrandt is not doing shadows at night time: &lt;br /&gt;
 https://gitorious.org/fg/flightgear/source/5ccc83566785c9b5b75e8d03579dbd1aa45d7237:src/Viewer/renderer.cxx#L938-939&lt;br /&gt;
&lt;br /&gt;
The conceptual beauty of shadows in Rembrandt is that they're not faked, there's actually a physics computation going on where light in the scene reaches and where it doesn't. The downside is that unless there's a huge amount of filtering going on, that computation is suffering from numerical accuracy so much that it flickers all over the place.&lt;br /&gt;
&lt;br /&gt;
the thing about rembrandt &amp;amp; light sources is true, I remember seeing screen shots - but I cannot imagine that the amount of computations for a handful of airports light should be equal to have a &amp;quot;central&amp;quot; light source illuminating everything (aka the sun) ?&lt;br /&gt;
&lt;br /&gt;
 I invit you to start FlightGear and enable the Rembrandt shadows and look at your framerate, &lt;br /&gt;
 then disable Rembrandt shadows and look again at your framerate. &lt;br /&gt;
 Conclusion: how many FPS costs the Rembrandt shadows ? &lt;br /&gt;
 (here the answer is 3~5 FPS, so Rembrandt shadows are not the &amp;quot;FPS killer&amp;quot; thing)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, it seems there's no &amp;quot;LOD for shadows&amp;quot; taking place, i.e. computations are heavy/complex despite having any light souces in your vicinity that could have an effect realistically. I would have expected that the corresponding shaders/effects specifically look for light source so that the computations kick in, but otherwise don't - unless, rembrandt is even doin moonlight shadow ?&lt;br /&gt;
&lt;br /&gt;
 The shadow cascades are acting like &amp;quot;shadows LOD&amp;quot;, &lt;br /&gt;
 you can tweak this setting at runtime and see how Rembrandt shadows are updated. &lt;br /&gt;
 After that you will conclude that &amp;quot;LOD for shadows&amp;quot; is implemented finally.&lt;br /&gt;
&lt;br /&gt;
== Zero Scenery Tests ==&lt;br /&gt;
Using '''--aircraft=ufo - --enable-rembrandt --prop:/sim/rendering/shadows/map-size=8192 --prop:/sim/rendering/shadows/num-cascades=4'''&lt;br /&gt;
I can even get way beyond 60 fps when there's not scenery to be displayed, it would be interesting to check what Fred did there, i.e. if there are heuristics in place to recognize this ? We would probably want to add a few static models to the scenery and see what the performance impact is like.&lt;br /&gt;
&lt;br /&gt;
I think through roughly a dozen different test cases like these, one could incrementally understand rembrandt and its stages - obviously, one would now need to edit some of the XML files and maybe some effects/shaders to see how things are affected&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Shaders]]&lt;br /&gt;
[[Category:Shader development]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Fr/FGCom_3.0&amp;diff=78701</id>
		<title>Fr/FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Fr/FGCom_3.0&amp;diff=78701"/>
		<updated>2015-01-01T20:15:05Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: add spanish version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Qu'est ce que FGCom ? =&lt;br /&gt;
FGCom est un moyen de communication vocale, vous permettant de communiquer avec les autres pilotes et contrôleurs aériens pendant votre vol.&lt;br /&gt;
&lt;br /&gt;
L'idée principale est de reproduire des conditions de radio-communication réelles, en d'autres termes c'est un moyen de rendre les radio-communications les plus réalistes possibles durant vos vols.&lt;br /&gt;
&lt;br /&gt;
FGCom se présente sous deux formes:&lt;br /&gt;
* Integrée dans FlightGear (FGCom intégré): c'est la meilleure solution car très simple d'utilisation&lt;br /&gt;
* Application externe autonome (FGCom autonome): vous devriez faire ce choix uniquement si vous avez besoin d'utilisez FGCom dans un cas particulier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une interface web est disponible pour voir qui est connecté en direct, l'historique, et les statistiques: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom intégré est disponible dans FlightGear 3.0 ou supérieur, c'est certainement la solution la plus commode&lt;br /&gt;
* FGCom autonome est destiné à ceux qui veulent une installation complexe, ou qui n'utilisent pas FlightGear 3.0 ou supérieur. &lt;br /&gt;
* Si vous n'utilisez pas FlightGear 3.0 ou supérieur reportez-vous à [[Fr/FGCom_3.0#FGCom_autonome|la section FGCom autonome]] et suivez les instructions &amp;quot;Si FlightGear n'est pas installé&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom intégré =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Bonne nouvelle: FGcom est inclus dans FlightGear, aucune installation supplémentaire n'est requise; vous avez FlightGear, vous pouvez immédiatement utiliser FGCom intégré.&lt;br /&gt;
&lt;br /&gt;
=== Comment démarrer FGCom intégré ? ===&lt;br /&gt;
# Lancez FlightGear&lt;br /&gt;
# Ouvrez la fenêtre de dialogue &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Cochez la case  &amp;quot;Enable&amp;quot; &lt;br /&gt;
# Fermez la fenêtre&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi utiliser la ligne de commande si vous préférez:&lt;br /&gt;
 --enable-fgcom (equivalent de --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent de --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom sera automatiquement actif pour vos sessions futures, jusqu'à ce que vous décochiez la case &amp;quot;Enable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Comment tester votre installation ? ===&lt;br /&gt;
Pour vérifier que micro et haut-parleurs sont correctement connectés et opérationnels, effectuez les étapes suivantes:&lt;br /&gt;
&lt;br /&gt;
# Lancez FlightGear (si ce n'est déjà fait)&lt;br /&gt;
# Ouvrez la boîte de dialogue dans &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Cochez la case &amp;quot;Enable&amp;quot;  (si ce n'est déjà fait)&lt;br /&gt;
# Cochez la case &amp;quot;Display messages&amp;quot; checkbox.  (Affiche les messages FGCom sur l'écran)&lt;br /&gt;
# Cochez la case &amp;quot;Echo test&amp;quot;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;À partir de ce moment vous devriez entendre votre propre voix avec un retard. Si vous n'entendez pas votre voix ça signifie que votre micro ou vos haut-parleurs sont mal configurés.&amp;lt;br/&amp;gt;Pour d'avantage de vérification de l'&amp;quot;Echo test&amp;quot;, voyez [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Décochez la case &amp;quot;Echo test&amp;quot;, ainsi que les autres cases si désiré.&lt;br /&gt;
# Vous pouvez aussi vérifier que votre PTT (Push-To-Talk = Appuyez-pour-parler) fonctionne correctement en regardant la case &amp;quot;PTT test&amp;quot; lorsque vous appuyez sur votre button &amp;quot;PTT&amp;quot; (par défaut: {{Key press|Space}})&lt;br /&gt;
# Fermez la fenêtre&lt;br /&gt;
&lt;br /&gt;
=== Comment utiliser FGCom intégré ? ===&lt;br /&gt;
Une fois FGCom démarré avec la procédure [[Fr/FGCom_3.0#Comment_d.C3.A9marrer_FGCom_int.C3.A9gr.C3.A9_.3F|Comment démarrer FGCom intégré]], vous pouvez utiliser votre radio comme dans la réalité.&lt;br /&gt;
&lt;br /&gt;
Quand vous voulez parler, vous appuyez sur la touche  {{Key press|Space}}. Quand {{Key press|Shift}} est appuyé, vous n'entendez pas les autres pilotes.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez basculer entre COM1 et COM2 en appuyant {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: Il peut être utile de garder coché la case &amp;quot;Display messages&amp;quot; afin de vérifier le bon fonctionnement de FGCom.&lt;br /&gt;
&lt;br /&gt;
===  Détails de dialog ===&lt;br /&gt;
La fenêtre située dans &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; montre:&lt;br /&gt;
&lt;br /&gt;
* Enable : vous pouvez cocher/décocher pour activer/désactiver FGCom intégré&lt;br /&gt;
* Display messages : affiche les messages FGCom seulement pour debug&lt;br /&gt;
* Echo test : cocher/décocher ici pour tester le serveur (Echo-Box)&lt;br /&gt;
* PTT test : lorsque vous appuyez sur votre PTT cette case sera cochée&lt;br /&gt;
* Speaker volume : règle le volume des HP pour FGCom intégré&lt;br /&gt;
* Silence threshold : défini la limite, en dB, lorsque FGCom considère qu'il n'y pas de voix dans votre micro&lt;br /&gt;
* Server &amp;gt; List : Sélectionne le serveur auquel se connecter (effet immédiat)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom autonome=&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''Si FlightGear est installé:'''&lt;br /&gt;
&lt;br /&gt;
La bonne nouvelle ici est que si vous avez FlightGear installé sur votre ordinateur, vous avez déjà FGCom autonome !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear n'est pas installé:'''&lt;br /&gt;
&lt;br /&gt;
Si FlightGear n'est pas installé sur l'ordinateur sur lequel vous voulez utiliser FGCom autonome, vous pouvez simplement le télécharger en suivant les étapes suivantes:&lt;br /&gt;
&lt;br /&gt;
# Téléchargez FGCom autonome: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac]  (attention à sélectionner la version correspondant à votre ordinateur !)&lt;br /&gt;
# Dézippez le fichier&lt;br /&gt;
# C'est tout! Bien sûr, vous pouvez placer le dossier &amp;quot;FGCom&amp;quot; où vous voulez dans votre ordinateur&lt;br /&gt;
&lt;br /&gt;
Sur Linux, vous devez [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 modifier la permission en &amp;quot;éxecutable&amp;quot;] pour les fichiers &amp;quot;run_fgcom.sh&amp;quot; et &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Comment démarrer FGCom autonome ? ===&lt;br /&gt;
'''Si FlightGear est installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, vous devez exécuter FGCom situé dans votre menu Démarrer &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Linux, vous devez exécuter FGCom situé dans votre menu Application &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Mac, vous devez activer &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; situé dans l'onglet &amp;quot;Network&amp;quot; du lanceur Mac&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear n'est pas installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Linux, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Mac, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (clic-droit &amp;gt; ouvrir avec &amp;gt; Terminal.app) le fichier &amp;quot;run_fgcom.command&amp;quot;. Après la première fois vous pouvez simplement double-cliquer sur &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dans les deux cas'''&lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert maintenant, vous pouvez voir les lignes suivantes:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Loading aiports informations...&lt;br /&gt;
&lt;br /&gt;
Pour arrêter FGCom autonome, pressez {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Comment tester votre installation ? ===&lt;br /&gt;
'''Si FlightGear est installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, vous devez exécuter FGCom, situé dans votre menu Démarrer &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Linux, vous devez exécuter FGCom situé dans votre menu Application &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Mac, FIXME: non implémenté&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear n'est pas installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Linux, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Mac, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (clic-droit &amp;gt; ouvrir avec &amp;gt; Terminal.app) le fichier &amp;quot;test_fgcom.command&amp;quot;. Après la première fois vous pouvez simplement double-cliquer sur &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dans les deux cas'''&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant entendre votre voix en écho, et voir les lignes suivantes:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Message: Call 0 accepted&lt;br /&gt;
 Message: Echo Box - For testing FGCOM&lt;br /&gt;
 Message: Call 0 answered&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour arrêter FGCom autonome, pressez {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== Comment utiliser FGCom autonome ? ===&lt;br /&gt;
Après avoir lancé FGCom selon la procédure [[Fr/FGCom_3.0#Comment_d.C3.A9marrer_FGCom_autonome_.3F|Comment démarrer FGCom autonome]], vous devez lancer [[Fr/FGCom_3.0#FAQ| FlightGear avec l'option suivante]]: &lt;br /&gt;
 --generic=socket,out,1,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Maintenant, vous  laissez FGCom autonome allumé et vous pouvez lancer FlightGear &lt;br /&gt;
&lt;br /&gt;
Lorsque vous voulez parler, vous appuyez sur {{Key press|Space}}. Quand {{Key press|Space}} est appuyé, vous ne pouvez pas entendre les autres pilotes.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez basculer entre COM1 et COM2 en faisant {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez contrôler le volume avec le slider &amp;quot;ATC&amp;quot; du menu Fichier &amp;gt; Configuration du son (même si le bouton &amp;quot;ATC&amp;quot; est décoché)&lt;br /&gt;
&lt;br /&gt;
Pendant votre session Flightgear vous pourrez voir quelques lignes dans FGCom autonome, c'est normal, elles vous informent sur l'état de FGCom autonome (quand vous écoutez, parlez, changez de fréquence, changez COM1/2...)&lt;br /&gt;
&lt;br /&gt;
Pour arrêter FGCom autonome pressez {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
===  Détails des options ===&lt;br /&gt;
&lt;br /&gt;
Le lancement de FGCom autonome avec &amp;quot;--help&amp;quot; vous montrera toutes les options possible. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Rappelez-vous que FGCom autonome marche bien sans aucune option ! Ne les utilisez que si vous savez exactement ce que vous faites.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' Comment ajouter l'option générique --generic option for FGCom autonome ? '''&lt;br /&gt;
&lt;br /&gt;
Depuis FlightGear 3.0 vous pouvez sélectionner &amp;quot;FGCom autonome&amp;quot; dans la section [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Avancé &amp;gt; Réseau]] sinon:&lt;br /&gt;
&lt;br /&gt;
Dans la [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|dernière page du Lanceur  FlightGear]], cliquez &amp;quot;Advanced&amp;quot;  puis [[FlightGear_Launch_Control#Input.2FOutput|sélectionnez &amp;quot;Input/Output&amp;quot; item]]. Pressez &amp;quot;New&amp;quot; et remplissez les champs:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' Je veux utiliser FGCom intégré mais je ne vois aucune rubrique &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; dans FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Parce que vous n'avez pas FlightGear 3.0 ou plus. FGCom intégré est seulement depuis FlightGear 3.0 ou plus. Servez-vous de FGCom autonome en attendant votre mise à jour.&lt;br /&gt;
&lt;br /&gt;
''' Je veux utiliser FGCom intégré mais je ne vois aucune rubrique dans &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Parce que vous n'avez pas FlightGear 3.0 ou plus. FGCom autonome n'est automatiquement installé que pour FlightGear 3.0 ou plus. &lt;br /&gt;
&lt;br /&gt;
Suivez les instructions &amp;quot;Si FlightGear n'est pas installé&amp;quot; jusqu'à votre mise à jour.&lt;br /&gt;
&lt;br /&gt;
''' J'utilise FGCom autonome, les autres pilotes m'entendent mais je ne peux pas les entendre '''&lt;br /&gt;
&lt;br /&gt;
Vérifiez que le slider &amp;quot;ATC&amp;quot; du menu Fichier &amp;gt; Configuration du son est complètement à droite.&lt;br /&gt;
&lt;br /&gt;
''' J'utilise Linux et n'arrive pas à faire fonctionner FGCom '''&lt;br /&gt;
&lt;br /&gt;
Veuillez lire cette page qui contient beaucoup d'informations à propos de la configuration audio pour les utilisateurs Linux, et fait aussi référence à FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:FGCom 3.0]]&lt;br /&gt;
[[es:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78700</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78700"/>
		<updated>2015-01-01T20:14:35Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: add spanish version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# You can also check that your PTT works fine looking at the &amp;quot;PTT test&amp;quot; checkbox when you press your PTT button (default is {{Key press|Space}})&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Echo test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* PTT test : when you press your PTT this checkbox will be checked&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Silence threshold : set the limit, in dB, when FGCom consider no voice in your microphone&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Loading aiports informations...&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Message: Call 0 accepted&lt;br /&gt;
 Message: Echo Box - For testing FGCOM&lt;br /&gt;
 Message: Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;--help&amp;quot; argument will show you all the available options.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[es:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Es/FGCom_3.0&amp;diff=78699</id>
		<title>Es/FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Es/FGCom_3.0&amp;diff=78699"/>
		<updated>2015-01-01T20:14:02Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: Created page with &amp;quot;{{Infobox Software |title               = FGCom 3.0 |logo                = FGCom_logo.png|128px |developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clém...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= ¿Qué es FGCom? =&lt;br /&gt;
FGCom es una característica de la comunicación de voz. De esa manera puede comunicarse con los pilotos y controladores del espacio aéreo a otros durante su vuelo.&lt;br /&gt;
&lt;br /&gt;
La idea principal es reproducir la comunicación de la aviación reales, en otras palabras, esta característica está diseñada para hacer que la comunicación de radio tan real como sea posible durante sus vuelos.&lt;br /&gt;
&lt;br /&gt;
FGCom está disponible por dos maneras:&lt;br /&gt;
* Integrado en FlightGear (FGCom integrado): esta es sin duda la mejor solución, porque más fácil de usar&lt;br /&gt;
* El software externo (FGCom independiente): usted debe utilizar éste sólo si tiene previsto utilizar FGCom en un caso especial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una interfaz web está disponible donde se puede ver quién está conectado en vivo, la historia y las estadísticas: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:'''&lt;br /&gt;
* FGCom integrado está disponible para FlightGear 3.0 o superior y es sin duda la solución que está buscando, porque realmente fácil de usar.&lt;br /&gt;
* FGCom independiente es sólo para aquellos que quieren un complejo, pero más flexible, la instalación o no utilice FlightGear 3.0 o superior.&lt;br /&gt;
* Si usted no está utilizando FlightGear 3.0 o superior tienes que leer el [[Es/FGCom_3.0#FGCom_independiente|FGCom sección independiente]] y siga las instrucciones &amp;quot;Si FlightGear no está instalado&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom integrado =&lt;br /&gt;
&lt;br /&gt;
=== Instalación ===&lt;br /&gt;
La buena noticia es que FlightGear tiene ahora un cliente FGCom construido en el software. Eso significa que no hay paso de la instalación adicional. Si ha instalado FlightGear puede utilizar inmediatamente FGCom.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo empezar FGCom integrado? ===&lt;br /&gt;
# Inicio FlightGear&lt;br /&gt;
# Abra el diálogo se encuentra en &amp;quot;Multiplayer&amp;gt; FGCom Configuración&amp;quot;&lt;br /&gt;
# Marque la casilla &amp;quot;Habilitar&amp;quot;&lt;br /&gt;
# Cierre el diálogo&lt;br /&gt;
&lt;br /&gt;
También puede utilizar la línea de comandos, si lo prefiere:&lt;br /&gt;
  --enable-fgcom (equivalente a --prop:/sim/fgcom/enabled = true)&lt;br /&gt;
  --disable-fgcom (equivalente a --prop:/sim/fgcom/enabled = false)&lt;br /&gt;
&lt;br /&gt;
FGCom se habilitará automáticamente para sus futuros períodos de sesiones hasta que se desactiva la casilla &amp;quot;Activar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Cómo probar la instalación? ===&lt;br /&gt;
Con el fin de comprobar que el micrófono y los altavoces están conectados correctamente y funcional puede probarlo con los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
# Inicio FlightGear (si todavía no lo ha hecho, por supuesto)&lt;br /&gt;
# Abra el diálogo se encuentra en &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Marque la casilla &amp;quot;Enabled&amp;quot; (Si aún no lo ha hecho.)&lt;br /&gt;
# Marque la casilla &amp;quot;Display messages&amp;quot;. (Muestra mensajes de FGCom en la pantalla)&lt;br /&gt;
# Marque la casilla &amp;quot;Echo test&amp;quot; &amp;lt;br/&amp;gt; En este momento usted debe oír su propia voz con un retraso. Si no puede escuchar su propia voz que significa el micrófono o los altavoces se ajustan mal. &amp;lt;br/&amp;gt; Para comprobar aún más su &amp;quot;prueba de eco&amp;quot;, véase [http://fgcom.flightgear.org/history.php Vive FGCom ] &amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck la casilla de verificación &amp;quot;Echo test&amp;quot;, y / o en otros cuadros como se desee.&lt;br /&gt;
# También se puede comprobar que su PTT funciona bien mirando a la casilla de verificación &amp;quot;PTT test&amp;quot; cuando presiona el botón PTT (por defecto es {{Key press|Space}})&lt;br /&gt;
# Cierre el diálogo&lt;br /&gt;
&lt;br /&gt;
=== Cómo utilizar FGCom integrado? ===&lt;br /&gt;
Una vez que empezaste FGCom de la [[Es/FGCom_3.0#Cómo_probar_la_instalación.3F | Cómo iniciar FGCom integrado]] procedimiento, usted simplemente puede utilizar su panel de radio como se hace en la vida real.&lt;br /&gt;
&lt;br /&gt;
Cuando usted quiere hablar tiene que pulsar {{Key press|Space}}. Cuando el {{Key press|Space}} es presionado no puede escuchar a otros pilotos.&lt;br /&gt;
&lt;br /&gt;
Se puede cambiar entre COM1 y COM2 pulsando {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTA: Es tal vez deseable mantener la configuración del FGCom &amp;quot;Display messages&amp;quot; activados, para verificar estas teclas FGCom relacionados funcionan correctamente.&lt;br /&gt;
&lt;br /&gt;
=== Detalles Dialog ===&lt;br /&gt;
El diálogo se encuentra en &amp;quot;Multiplayer&amp;gt; FGCom settings&amp;quot; proporcionan algunas de las características que se describen aquí:&lt;br /&gt;
&lt;br /&gt;
* Enable: se puede activar / desactivar esto para activar la función de FGCom / desactivar&lt;br /&gt;
* Display messages: pantalla de mensajes transacción FGCom de depuración sólo&lt;br /&gt;
* Echo test: marcar / desmarcar este para probar la comunicación servidor (Echo-Box)&lt;br /&gt;
* PTT test: cuando presiona el PTT esta casilla se comprobará&lt;br /&gt;
* Speaker volume: ajustar el volumen del altavoz para FGCom incorporado&lt;br /&gt;
* Silence threshold: establecer el límite, en dB, cuando FGCom consideran ninguna voz en el micrófono&lt;br /&gt;
* Server &amp;gt; List: Seleccione el servidor que se conectará (efecto immediat)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom independiente =&lt;br /&gt;
=== Instalación ===&lt;br /&gt;
'''Si se instala FlightGear:'''&lt;br /&gt;
&lt;br /&gt;
La buena noticia es que si usted tiene FlightGear instalado en su equipo ya tiene FGCom independiente!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear no está instalado:'''&lt;br /&gt;
&lt;br /&gt;
Si no ha instalado FlightGear en el equipo en el que desea utilizar FGCom independiente puede simplemente descargar FGCom independiente con los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
# Descargar FGCom independiente: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 pedacitos] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (tener cuidado de seleccionar la versión correcta para su computadora!)&lt;br /&gt;
# Descomprimir el archivo descargado&lt;br /&gt;
# Eso es todo! Por supuesto, usted puede colocar la carpeta &amp;quot;FGCom&amp;quot; en la que desea en su equipo&lt;br /&gt;
&lt;br /&gt;
En Linux, usted tiene que [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 configurar el permiso como &amp;quot;ejecutable&amp;quot;] para el archivos &amp;quot;run_fgcom.sh&amp;quot; y &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo empezar FGCom independiente? ===&lt;br /&gt;
'''Si se instala FlightGear:'''&lt;br /&gt;
&lt;br /&gt;
En Windows tiene que ejecutar FGCom ubicado en el menú Inicio&amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
En Linux hay que ejecutar FGCom encuentra en el menú de aplicaciones&amp;gt; Juegos&amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
En Mac hay que activar la opción &amp;quot;Enable FGCOM in Multi Player mode&amp;quot;, ubicado en la &amp;quot;Network&amp;quot; pestaña del lanzador Mac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear no está instalado:'''&lt;br /&gt;
&lt;br /&gt;
En Windows, en la carpeta descomprimida &amp;quot;FGCom&amp;quot;, usted tiene que ejecutar (doble clic en él) el archivo &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En Linux, en su carpeta descomprimida &amp;quot;FGCom&amp;quot;, usted tiene que ejecutar (doble clic en él) el archivo &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En Mac, en su carpeta descomprimida &amp;quot;FGCom&amp;quot;, usted tiene que ejecutar (derecha-clic&amp;gt; Abrir con&amp;gt; Terminal.app) el archivo &amp;quot;run_fgcom.command&amp;quot;. Después de la primera vez que simplemente hacer doble clic en &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En ambos casos'''&lt;br /&gt;
&lt;br /&gt;
Ahora un terminal se ha abierto y usted debería ser capaz de ver las siguientes líneas:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Loading aiports informations...&lt;br /&gt;
&lt;br /&gt;
Con el fin de detener FGCom standalone tienes que pulsar {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cómo probar la instalación? ===&lt;br /&gt;
'''Si se instala FlightGear:'''&lt;br /&gt;
&lt;br /&gt;
En Windows tiene que ejecutar FGCom ubicado en el menú Inicio&amp;gt; FlightGear&amp;gt; Herramientas&amp;gt; FGCom pruebas&lt;br /&gt;
&lt;br /&gt;
En Linux hay que ejecutar FGCom encuentra en el menú de aplicaciones&amp;gt; Juegos&amp;gt; FGCom pruebas&lt;br /&gt;
&lt;br /&gt;
En Mac FIXME: requerir a implementarse en Mac lanzador&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear no está instalado:'''&lt;br /&gt;
&lt;br /&gt;
En Windows, en la carpeta descomprimida &amp;quot;FGCom&amp;quot;, usted tiene que ejecutar (doble clic en él) el archivo &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En Linux, en su carpeta descomprimida &amp;quot;FGCom&amp;quot;, usted tiene que ejecutar (doble clic en él) el archivo &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En Mac, en su carpeta descomprimida &amp;quot;FGCom&amp;quot;, usted tiene que ejecutar (derecha-clic&amp;gt; Abrir con&amp;gt; Terminal.app) el archivo &amp;quot;test_fgcom.command&amp;quot;. Después de la primera vez que simplemente hacer doble clic en &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En ambos casos'''&lt;br /&gt;
&lt;br /&gt;
Ahora usted debería ser capaz de oír su propia voz con un retraso y ver las siguientes líneas:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Message: Call 0 accepted&lt;br /&gt;
 Message: Echo Box - For testing FGCOM&lt;br /&gt;
 Message: Call 0 answered&lt;br /&gt;
&lt;br /&gt;
Con el fin de detener FGCom standalone tienes que pulsar {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== Cómo utilizar FGCom independiente? ===&lt;br /&gt;
Una vez que empezaste FGCom de la [[Es/FGCom_3.0#Cómo_empezar_FGCom_independiente.3F | Cómo iniciar FGCom standalone]] procedimiento, usted tiene que [[Es/FGCom_3.0#FAQ | iniciar FlightGear con la siguiente opción]]:&lt;br /&gt;
  --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Ahora usted tiene que dejar FGCom funcionamiento autónomo y simplemente utiliza FlightGear sin cuidar FGCom independiente.&lt;br /&gt;
&lt;br /&gt;
Cuando usted quiere hablar tiene que pulsar {{Key press|Space}}. Cuando el {{Key press|Space}} es presionado no puede escuchar a otros pilotos.&lt;br /&gt;
&lt;br /&gt;
Se puede cambiar entre COM1 y COM2 pulsando {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
Usted puede controlar el volumen del sonido con el control deslizante &amp;quot;ATC&amp;quot; del diálogo Archivo&amp;gt; Configuración del sonido (incluso si el ATC no está marcada)&lt;br /&gt;
&lt;br /&gt;
Durante la sesión de FlightGear usted debería ser capaz de ver algunas líneas en la versión autónoma FGCom, es totalmente normal, que están aquí para que le informan sobre el estado de FGCom independiente (cuando estás escuchando, hablando, el cambio de frecuencia, cambiando COM1 / 2 ...)&lt;br /&gt;
&lt;br /&gt;
Con el fin de detener FGCom standalone tienes que pulsar {{Key press|Control}} + {{Key press|c}} o simplemente cerrar la ventana.&lt;br /&gt;
&lt;br /&gt;
=== Detalles Opciones ===&lt;br /&gt;
&lt;br /&gt;
A partir FGCom independiente con argumento &amp;quot;--help&amp;quot; le mostrará todas las opciones disponibles.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Tenga en cuenta que FGCom autónomo funciona bien para un sistema operativo estándar sin opciones a todos! Úsalos sólo si usted sabe exactamente lo que hacen.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
'''¿Cómo añadir la opción --generic para FGCom independiente? '''&lt;br /&gt;
&lt;br /&gt;
Desde FlightGear 3.0 puede seleccionar &amp;quot;FGCom independiente&amp;quot; en el [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] sección más:&lt;br /&gt;
&lt;br /&gt;
En el [[FlightGear_Launch_Control#Page_four_-_Options_and_Run| última página del Launcher FlightGear]], pulse en &amp;quot;Opciones avanzadas&amp;quot; y luego [[FlightGear_Launch_Control#Input.2FOutput| elemento Seleccione &amp;quot;Input / Output&amp;quot;]]. Pulse el botón &amp;quot;Nuevo&amp;quot; y definir los campos como:&lt;br /&gt;
* Protocolo: generic&lt;br /&gt;
* Medio: socket&lt;br /&gt;
* Dirección: out&lt;br /&gt;
* Hz: 5&lt;br /&gt;
* Nombre de host: 127.0.0.1&lt;br /&gt;
* Puerto: 16661&lt;br /&gt;
* Seleccione UDP&lt;br /&gt;
* Genérico: fgcom&lt;br /&gt;
&lt;br /&gt;
'''Quiero usar FGCom integrado pero no tengo ningún elemento &amp;quot;Multijugador&amp;gt; FGCom Ajustes&amp;quot; en FlightGear'''&lt;br /&gt;
&lt;br /&gt;
Debido a que usted no está utilizando FlightGear 3.0 o superior. FGCom integrado sólo está disponible para FlightGear 3.0 o superior. Usted tiene que usar FGCom independiente hasta que actualice su instalación de FlightGear.&lt;br /&gt;
&lt;br /&gt;
'''Quiero usar FGCom independiente pero no tengo ningún elemento FGCom en &amp;quot;menú Inicio&amp;gt; FlightGear&amp;gt; Herramientas&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Debido a que usted no está utilizando FlightGear 3.0 o superior. FGCom independiente se instala automáticamente sólo para FlightGear 3.0 o superior.&lt;br /&gt;
&lt;br /&gt;
Usted tiene que seguir &amp;quot;Si FlightGear no está instalado&amp;quot; instrucciones hasta que actualice su instalación de FlightGear.&lt;br /&gt;
&lt;br /&gt;
'''Estoy usando FGCom independiente, otros pilotos pueden oírme pero no puedo oír a otros pilotos'''&lt;br /&gt;
&lt;br /&gt;
Asegúrese de que el control deslizante &amp;quot;ATC&amp;quot; de&amp;gt; el diálogo de configuración de sonido de archivos está en pleno derecho.&lt;br /&gt;
&lt;br /&gt;
'''Estoy usando Linux y no puedo conseguir FGCom trabajando'''&lt;br /&gt;
&lt;br /&gt;
Por favor, lea esta página que tiene una gran cantidad de información acerca de la configuración de audio para usuarios de Linux, incluso alguna referencia específica a FGCom: [[software Linux de mezcla de audio con FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[en:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Fr/FGCom_3.0&amp;diff=78698</id>
		<title>Fr/FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Fr/FGCom_3.0&amp;diff=78698"/>
		<updated>2015-01-01T19:32:44Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: update doc for FG 3.4 (fr)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Qu'est ce que FGCom ? =&lt;br /&gt;
FGCom est un moyen de communication vocale, vous permettant de communiquer avec les autres pilotes et contrôleurs aériens pendant votre vol.&lt;br /&gt;
&lt;br /&gt;
L'idée principale est de reproduire des conditions de radio-communication réelles, en d'autres termes c'est un moyen de rendre les radio-communications les plus réalistes possibles durant vos vols.&lt;br /&gt;
&lt;br /&gt;
FGCom se présente sous deux formes:&lt;br /&gt;
* Integrée dans FlightGear (FGCom intégré): c'est la meilleure solution car très simple d'utilisation&lt;br /&gt;
* Application externe autonome (FGCom autonome): vous devriez faire ce choix uniquement si vous avez besoin d'utilisez FGCom dans un cas particulier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une interface web est disponible pour voir qui est connecté en direct, l'historique, et les statistiques: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom intégré est disponible dans FlightGear 3.0 ou supérieur, c'est certainement la solution la plus commode&lt;br /&gt;
* FGCom autonome est destiné à ceux qui veulent une installation complexe, ou qui n'utilisent pas FlightGear 3.0 ou supérieur. &lt;br /&gt;
* Si vous n'utilisez pas FlightGear 3.0 ou supérieur reportez-vous à [[Fr/FGCom_3.0#FGCom_autonome|la section FGCom autonome]] et suivez les instructions &amp;quot;Si FlightGear n'est pas installé&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom intégré =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Bonne nouvelle: FGcom est inclus dans FlightGear, aucune installation supplémentaire n'est requise; vous avez FlightGear, vous pouvez immédiatement utiliser FGCom intégré.&lt;br /&gt;
&lt;br /&gt;
=== Comment démarrer FGCom intégré ? ===&lt;br /&gt;
# Lancez FlightGear&lt;br /&gt;
# Ouvrez la fenêtre de dialogue &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Cochez la case  &amp;quot;Enable&amp;quot; &lt;br /&gt;
# Fermez la fenêtre&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi utiliser la ligne de commande si vous préférez:&lt;br /&gt;
 --enable-fgcom (equivalent de --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent de --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom sera automatiquement actif pour vos sessions futures, jusqu'à ce que vous décochiez la case &amp;quot;Enable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Comment tester votre installation ? ===&lt;br /&gt;
Pour vérifier que micro et haut-parleurs sont correctement connectés et opérationnels, effectuez les étapes suivantes:&lt;br /&gt;
&lt;br /&gt;
# Lancez FlightGear (si ce n'est déjà fait)&lt;br /&gt;
# Ouvrez la boîte de dialogue dans &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Cochez la case &amp;quot;Enable&amp;quot;  (si ce n'est déjà fait)&lt;br /&gt;
# Cochez la case &amp;quot;Display messages&amp;quot; checkbox.  (Affiche les messages FGCom sur l'écran)&lt;br /&gt;
# Cochez la case &amp;quot;Echo test&amp;quot;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;À partir de ce moment vous devriez entendre votre propre voix avec un retard. Si vous n'entendez pas votre voix ça signifie que votre micro ou vos haut-parleurs sont mal configurés.&amp;lt;br/&amp;gt;Pour d'avantage de vérification de l'&amp;quot;Echo test&amp;quot;, voyez [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Décochez la case &amp;quot;Echo test&amp;quot;, ainsi que les autres cases si désiré.&lt;br /&gt;
# Vous pouvez aussi vérifier que votre PTT (Push-To-Talk = Appuyez-pour-parler) fonctionne correctement en regardant la case &amp;quot;PTT test&amp;quot; lorsque vous appuyez sur votre button &amp;quot;PTT&amp;quot; (par défaut: {{Key press|Space}})&lt;br /&gt;
# Fermez la fenêtre&lt;br /&gt;
&lt;br /&gt;
=== Comment utiliser FGCom intégré ? ===&lt;br /&gt;
Une fois FGCom démarré avec la procédure [[Fr/FGCom_3.0#Comment_d.C3.A9marrer_FGCom_int.C3.A9gr.C3.A9_.3F|Comment démarrer FGCom intégré]], vous pouvez utiliser votre radio comme dans la réalité.&lt;br /&gt;
&lt;br /&gt;
Quand vous voulez parler, vous appuyez sur la touche  {{Key press|Space}}. Quand {{Key press|Shift}} est appuyé, vous n'entendez pas les autres pilotes.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez basculer entre COM1 et COM2 en appuyant {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: Il peut être utile de garder coché la case &amp;quot;Display messages&amp;quot; afin de vérifier le bon fonctionnement de FGCom.&lt;br /&gt;
&lt;br /&gt;
===  Détails de dialog ===&lt;br /&gt;
La fenêtre située dans &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; montre:&lt;br /&gt;
&lt;br /&gt;
* Enable : vous pouvez cocher/décocher pour activer/désactiver FGCom intégré&lt;br /&gt;
* Display messages : affiche les messages FGCom seulement pour debug&lt;br /&gt;
* Echo test : cocher/décocher ici pour tester le serveur (Echo-Box)&lt;br /&gt;
* PTT test : lorsque vous appuyez sur votre PTT cette case sera cochée&lt;br /&gt;
* Speaker volume : règle le volume des HP pour FGCom intégré&lt;br /&gt;
* Silence threshold : défini la limite, en dB, lorsque FGCom considère qu'il n'y pas de voix dans votre micro&lt;br /&gt;
* Server &amp;gt; List : Sélectionne le serveur auquel se connecter (effet immédiat)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom autonome=&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''Si FlightGear est installé:'''&lt;br /&gt;
&lt;br /&gt;
La bonne nouvelle ici est que si vous avez FlightGear installé sur votre ordinateur, vous avez déjà FGCom autonome !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear n'est pas installé:'''&lt;br /&gt;
&lt;br /&gt;
Si FlightGear n'est pas installé sur l'ordinateur sur lequel vous voulez utiliser FGCom autonome, vous pouvez simplement le télécharger en suivant les étapes suivantes:&lt;br /&gt;
&lt;br /&gt;
# Téléchargez FGCom autonome: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac]  (attention à sélectionner la version correspondant à votre ordinateur !)&lt;br /&gt;
# Dézippez le fichier&lt;br /&gt;
# C'est tout! Bien sûr, vous pouvez placer le dossier &amp;quot;FGCom&amp;quot; où vous voulez dans votre ordinateur&lt;br /&gt;
&lt;br /&gt;
Sur Linux, vous devez [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 modifier la permission en &amp;quot;éxecutable&amp;quot;] pour les fichiers &amp;quot;run_fgcom.sh&amp;quot; et &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Comment démarrer FGCom autonome ? ===&lt;br /&gt;
'''Si FlightGear est installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, vous devez exécuter FGCom situé dans votre menu Démarrer &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Linux, vous devez exécuter FGCom situé dans votre menu Application &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Mac, vous devez activer &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; situé dans l'onglet &amp;quot;Network&amp;quot; du lanceur Mac&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear n'est pas installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Linux, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Mac, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (clic-droit &amp;gt; ouvrir avec &amp;gt; Terminal.app) le fichier &amp;quot;run_fgcom.command&amp;quot;. Après la première fois vous pouvez simplement double-cliquer sur &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dans les deux cas'''&lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert maintenant, vous pouvez voir les lignes suivantes:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Loading aiports informations...&lt;br /&gt;
&lt;br /&gt;
Pour arrêter FGCom autonome, pressez {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Comment tester votre installation ? ===&lt;br /&gt;
'''Si FlightGear est installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, vous devez exécuter FGCom, situé dans votre menu Démarrer &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Linux, vous devez exécuter FGCom situé dans votre menu Application &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
Sur Mac, FIXME: non implémenté&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Si FlightGear n'est pas installé:'''&lt;br /&gt;
&lt;br /&gt;
Sur Windows, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Linux, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (double clic) le fichier &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sur Mac, dans votre dossier dézippé &amp;quot;FGCom&amp;quot; vous devez exécuter (clic-droit &amp;gt; ouvrir avec &amp;gt; Terminal.app) le fichier &amp;quot;test_fgcom.command&amp;quot;. Après la première fois vous pouvez simplement double-cliquer sur &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dans les deux cas'''&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant entendre votre voix en écho, et voir les lignes suivantes:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Message: Call 0 accepted&lt;br /&gt;
 Message: Echo Box - For testing FGCOM&lt;br /&gt;
 Message: Call 0 answered&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour arrêter FGCom autonome, pressez {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== Comment utiliser FGCom autonome ? ===&lt;br /&gt;
Après avoir lancé FGCom selon la procédure [[Fr/FGCom_3.0#Comment_d.C3.A9marrer_FGCom_autonome_.3F|Comment démarrer FGCom autonome]], vous devez lancer [[Fr/FGCom_3.0#FAQ| FlightGear avec l'option suivante]]: &lt;br /&gt;
 --generic=socket,out,1,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Maintenant, vous  laissez FGCom autonome allumé et vous pouvez lancer FlightGear &lt;br /&gt;
&lt;br /&gt;
Lorsque vous voulez parler, vous appuyez sur {{Key press|Space}}. Quand {{Key press|Space}} est appuyé, vous ne pouvez pas entendre les autres pilotes.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez basculer entre COM1 et COM2 en faisant {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez contrôler le volume avec le slider &amp;quot;ATC&amp;quot; du menu Fichier &amp;gt; Configuration du son (même si le bouton &amp;quot;ATC&amp;quot; est décoché)&lt;br /&gt;
&lt;br /&gt;
Pendant votre session Flightgear vous pourrez voir quelques lignes dans FGCom autonome, c'est normal, elles vous informent sur l'état de FGCom autonome (quand vous écoutez, parlez, changez de fréquence, changez COM1/2...)&lt;br /&gt;
&lt;br /&gt;
Pour arrêter FGCom autonome pressez {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
===  Détails des options ===&lt;br /&gt;
&lt;br /&gt;
Le lancement de FGCom autonome avec &amp;quot;--help&amp;quot; vous montrera toutes les options possible. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Rappelez-vous que FGCom autonome marche bien sans aucune option ! Ne les utilisez que si vous savez exactement ce que vous faites.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' Comment ajouter l'option générique --generic option for FGCom autonome ? '''&lt;br /&gt;
&lt;br /&gt;
Depuis FlightGear 3.0 vous pouvez sélectionner &amp;quot;FGCom autonome&amp;quot; dans la section [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Avancé &amp;gt; Réseau]] sinon:&lt;br /&gt;
&lt;br /&gt;
Dans la [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|dernière page du Lanceur  FlightGear]], cliquez &amp;quot;Advanced&amp;quot;  puis [[FlightGear_Launch_Control#Input.2FOutput|sélectionnez &amp;quot;Input/Output&amp;quot; item]]. Pressez &amp;quot;New&amp;quot; et remplissez les champs:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' Je veux utiliser FGCom intégré mais je ne vois aucune rubrique &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; dans FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Parce que vous n'avez pas FlightGear 3.0 ou plus. FGCom intégré est seulement depuis FlightGear 3.0 ou plus. Servez-vous de FGCom autonome en attendant votre mise à jour.&lt;br /&gt;
&lt;br /&gt;
''' Je veux utiliser FGCom intégré mais je ne vois aucune rubrique dans &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Parce que vous n'avez pas FlightGear 3.0 ou plus. FGCom autonome n'est automatiquement installé que pour FlightGear 3.0 ou plus. &lt;br /&gt;
&lt;br /&gt;
Suivez les instructions &amp;quot;Si FlightGear n'est pas installé&amp;quot; jusqu'à votre mise à jour.&lt;br /&gt;
&lt;br /&gt;
''' J'utilise FGCom autonome, les autres pilotes m'entendent mais je ne peux pas les entendre '''&lt;br /&gt;
&lt;br /&gt;
Vérifiez que le slider &amp;quot;ATC&amp;quot; du menu Fichier &amp;gt; Configuration du son est complètement à droite.&lt;br /&gt;
&lt;br /&gt;
''' J'utilise Linux et n'arrive pas à faire fonctionner FGCom '''&lt;br /&gt;
&lt;br /&gt;
Veuillez lire cette page qui contient beaucoup d'informations à propos de la configuration audio pour les utilisateurs Linux, et fait aussi référence à FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78697</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78697"/>
		<updated>2015-01-01T19:32:37Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: update console content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# You can also check that your PTT works fine looking at the &amp;quot;PTT test&amp;quot; checkbox when you press your PTT button (default is {{Key press|Space}})&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Echo test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* PTT test : when you press your PTT this checkbox will be checked&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Silence threshold : set the limit, in dB, when FGCom consider no voice in your microphone&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Loading aiports informations...&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 FGCom 3.3.0 compiled Dec 30 2014, at 17:19:39&lt;br /&gt;
 For help usage, use --help&lt;br /&gt;
 Starting FGCom session as guest:xxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Message: Call 0 accepted&lt;br /&gt;
 Message: Echo Box - For testing FGCOM&lt;br /&gt;
 Message: Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;--help&amp;quot; argument will show you all the available options.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:FGCom_(before_3.0)&amp;diff=78696</id>
		<title>Talk:FGCom (before 3.0)</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:FGCom_(before_3.0)&amp;diff=78696"/>
		<updated>2015-01-01T18:51:57Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FGCOM - feature request'''&lt;br /&gt;
&lt;br /&gt;
Well thanks to some very hard work by some talented people and a clueless tester FGCOM has moved ahead a great deal in the past few days. Now it is cross distro and possibly even POSIX compliant, we have a possible Openal based system which should simplify things a lot and tie in well with existing work. Work goes ahead on implementing a PTT switch and appropriate muting.&lt;br /&gt;
&lt;br /&gt;
However we still have a little way to go to realistically  emulate VHF aviation comms. Because we are mapping  frequencies onto ''conference'' call numbers (lets leave the range aspect alone for now), two or more stations can talk at once. This isn't how it works in Real Life, only one aircraft or ATC facility can talk at a time and if someone insists on talking or the PTT switch becomes jammed on, then there is not a lot that can be done about it. Nobody else can use that frequency until the pilot stops talking or his radio is switched off. There are good reasons for this, not least the dreadful sound quality of the original radios, the sometimes life-or-death nature of the information being transferred meant that having only one pilot or controller talking while everybody else listened was A Good Thing.&lt;br /&gt;
&lt;br /&gt;
This is a feature request because, much as I'd like to, I can't deliver the necessary code. &lt;br /&gt;
&lt;br /&gt;
I'd like to see this highly able asterisk system crippled so that only one caller can speak at a time - To get round possible abuse of this, any caller is only allowed a max of say 30 secs (more than enough for any realistic aviation  comms) before their call is terminated and they have to rejoin the conversation (come back up on channel)&lt;br /&gt;
&lt;br /&gt;
Is any of this feasible?&lt;br /&gt;
&lt;br /&gt;
--[[User:Willie|Willie]] 06:51, 25 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
'''Voice Quality  --its too good and its not good enough ;-)'''&lt;br /&gt;
&lt;br /&gt;
At present we are having lots of echo testing. This may be down to extremely cheap, oversensitive mics at my end but in general it just doesn't sound like the real thing. We have distortion but its the wrong sort. Not sure how to sort this but a first attempt would be a tight narrow pass filter and possibly mixed with a white noise source to give that &amp;quot;radio&amp;quot; sound. Could get fancy and add a definite &amp;quot;click&amp;quot; as the PTT is pressed at the beginning of a call and also when it is released.&lt;br /&gt;
&lt;br /&gt;
--[[User:Willie|Willie]] 06:51, 25 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== New FGCom require a lot of changes in documentation ==&lt;br /&gt;
&lt;br /&gt;
FGCom was a separate project for many years, but now FGCom is integrated into FlightGear (even if the standalone is still available)&lt;br /&gt;
&lt;br /&gt;
We need to differentiate the built-in FGCom and the standalone FGCom, that I usually call &amp;quot;FGCom-sa&amp;quot; (sa = stand alone)&lt;br /&gt;
&lt;br /&gt;
It is also important to '''strongly suggest''' to use the built-in FGCom as many as possible.&lt;br /&gt;
&lt;br /&gt;
FGCom-sa must be used '''only''' for those who want to run FGCom on a separate computer than the one who run the FlightGear session (this case is certainly extremly rare ! even enough rare to be ignored I think)&lt;br /&gt;
&lt;br /&gt;
The question is: how to re-organize all the documentation about FGCom ?&lt;br /&gt;
&lt;br /&gt;
My opinion is: FGCom standalone is destinated to be used only by OpenRadar and no longer destinated to be used with FlightGear. OpenRadar will be soon able to provide FGCom standalone into his package, that way FGCom standalone will be no longer a &amp;quot;required dependence&amp;quot; for OpenRadar. So all documentation about FGCom standalone will be no longer interesting for 99% of our users (FlightGear and OpenRadar). Only people who want run FGCom standalone (those who want run it on a separate computer certainly) will be interested by some documentation, I think the fgcom --help would be sufficient for these people who certainly have some computer skills if they want to use FGCom standalone &amp;quot;by-hand&amp;quot; (without FlightGear or OpenRadar).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of today, the FGCom documentation looks like a big mess, not because the documentation is wrong (most of the documentation is correct) but because there is too many informations (often redundant), too many pages about FGCom, too many unrelated information with FGCom. All of this could discourage our users to read the documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:F-JJTH|F-JJTH]] ([[User talk:F-JJTH|talk]]) 22:22, 20 October 2013 (UTC) Clément de l'Hamaide&lt;br /&gt;
&lt;br /&gt;
=== Reply to: New FGCom require a lot of changes in documentation ===&lt;br /&gt;
This documentation was quite all-right, and did build up the FGCom usage in the past years.&lt;br /&gt;
&lt;br /&gt;
The problem is, that you obviously believe you have to destroy the whole functional operation by inserting wrong and misleading informations - in order to replace a functional environment with a design that is not yet functional - and even needs a lot of more basic thinking about what really is needed! Wrong is e.g.:&lt;br /&gt;
* You add notes telling people that the current design is not valid any more. Actually it is right now the only functional design that exists! &lt;br /&gt;
* You state: &amp;quot;FGCom-sa must be used only for those who want to run FGCom on a separate computer!&amp;quot; That is very definitely WRONG!! Why should it not be used together with e.g. OpenRadar on one computer?? I do not understand how you can make such funny statements - did you not investigate what your design is needed for?&lt;br /&gt;
* You deleted the section describing how to setup FGFS prior to the functional test of FGCom after a new installation - that indicates to me that you never tried to help users to get FGCom to work! Otherwise you would know that most of the occurring problems are due to the interaction between FGFS and FGCom. Please do not tell me that there is just the port connection! Most of the FGCom operation depends very much on the FGFS settings (e.g. frequency, location/range, airplane, multilayer, concurrencies, finding freq. values available, possible Network-problems in a LAN-environment, etc.)&lt;br /&gt;
* You try to convince everybody to only use your new environment for real - not just for testing - although you know it is not yet fully functional.&lt;br /&gt;
* You have no consideration at all for multiplayer-events where any number of pilots come together from all parts of the world! You cannot contact them all in advance and tell them &amp;quot;you have to install FS 3.0 (or GIT 2.99) - otherwise you cannot participate&amp;quot;! I hope in the meantime you did understand that all participants of an event need to use the same server! You are killing all our achievements we worked hard for the last years, if you just neglect those user-problems/dependencies!!!&lt;br /&gt;
* etc.&lt;br /&gt;
'''That means: We do not need a whole lot of changed and/or restructured documentation -- we just need to update the current one by a few lines that tell what is different between now and may be in future!  &amp;lt;big&amp;gt;Without upsetting/misleading the now user-community!&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
I hope you reconsider your now actions - which may be OK for a complete new design - but definitely NOT for '''phasing in''' a new one! That FGCom &amp;quot;new&amp;quot; just cannot be &amp;quot;broken&amp;quot; in by any command from anyone!&lt;br /&gt;
&lt;br /&gt;
'''Please consider: The very best engineering design is worse nothing - if it does not find users/customers.'''&lt;br /&gt;
&lt;br /&gt;
'''I definitely will continue to undo all your wrong/misleading informations in the FGCOM &amp;lt;big&amp;gt;''user''&amp;lt;/big&amp;gt;-documentation, that was created by me - even if that means doing it every day many times.''' I love that FGCom - and will not let it be destroyed! If you want to develop a new user-documentation in addition, you are welcome to do so - but make sure it is called &amp;quot;FGCom 3.0&amp;quot; or similar. We very definitely '''do need the old one for the time being!!''' I really would hate to find another solution!''(e.g. Mumble or similar - and pls do not try to tell me what is better about FGCom - I am the one fighting against other solutions over the last 3 years!)'' But I do need some Radio-Communication - and if you are unable to support a concurrent operation of old/new - what shall we do?&lt;br /&gt;
&lt;br /&gt;
I hope you are able to consider working together with the user-community and the Maintainers/Operators of the current environment.&lt;br /&gt;
I personally am very interested in getting those changes operational that you right now work on - but I will not be quiet if you destroy the whole, existing '''FGCom''' project!&lt;br /&gt;
&lt;br /&gt;
[[User:jomo|jomo]] Oct 31 2013&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upper+Space should read Shift+Space! ==&lt;br /&gt;
Title is pretty much self explanatory, &amp;quot;Upper+Space&amp;quot; should read &amp;quot;Shift+Space&amp;quot;, as the upper key could easily imply or be misunderstood for the &amp;quot;Cursor Up&amp;quot; key!  (Shifted-space characters has had a more common pressence amongst computer programmers since the 1980's?  Or earlier?  I do however easily understand the previously mentioned &amp;quot;upper case&amp;quot; numbers, but probably should also read &amp;quot;shifted numbers&amp;quot;?)   On a side note, pressing Shift+Space here doesn't appear to do much (with FGCom/Radio), and curious if some other action should occur or something printed to screen.  I should also mention I'm using =games-simulation/flightgear-3.0.0, and I don't know if anything is printed to stdout since FGCom's official implimentation into FlightGear.  --[[User:Rogerx|Rogerx]] ([[User talk:Rogerx|talk]]) 22:47, 19 April 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
: &amp;quot;Shift key&amp;quot; Wikipedia --[[User:Rogerx|Rogerx]] ([[User talk:Rogerx|talk]]) 19:34, 22 April 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Too many FGCom Wiki pages ==&lt;br /&gt;
I think there's too many FGCom Wiki pages.  Should have likely stuck to one page, and split later or as FGCom evolved.&lt;br /&gt;
&lt;br /&gt;
For example, here's a listing of most of the pages, and some deal with pre intigration of FGCom into FlightGear and some dealing with post integration of FGCom into FlightGear: &lt;br /&gt;
* FGCom&lt;br /&gt;
* FGCom_testing&lt;br /&gt;
* FGCom-3.0&lt;br /&gt;
* FGCom_for_Windows&lt;br /&gt;
(There could be more FGCom FlightGear Wiki pages.)&lt;br /&gt;
&lt;br /&gt;
It is really easy with Wiki, to confine everything to one page!  (The only time separate pages are likely needed, is for people on dial-up or slow ISP connections.)  I was  considering making a new FGCom_for_LinuxALSA, but I think it's only going to make things much worse versus any better.  Probably best to push all information from the other Wiki pages back into the main FGCom page, in order to prevent information from being loss from future organization.  There are some very lengthy Wiki pages on the Internet, and they're all extremely easily navigated or edited.  Too many separate pages causes problems with Search Engines, or users overall trying to find information, or just overall organizational issues due to duplicated information or possibly lost information. --[[User:Rogerx|Rogerx]] ([[User talk:Rogerx|talk]]) 19:36, 22 April 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Move away this article ==&lt;br /&gt;
A request for our wiki manager: &lt;br /&gt;
&lt;br /&gt;
please, is it technically possible to move (delete?) this article into a new article named &amp;quot;FGCom_old&amp;quot; then redirect &amp;quot;FGCom&amp;quot; (this article) to [[FGCom_3.0]] ?&lt;br /&gt;
&lt;br /&gt;
that way our users can find the last up-to-date article without spending their time to read this old and out-of-date article directly at [[FGCom]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I just marked all the out-of-date article related to FGCom as &amp;quot;obsolete&amp;quot; in any language, those article should be ideally deleted because they are more confusing than helpful for our users, however I don't know the procedure to delete an article.&lt;br /&gt;
&lt;br /&gt;
[[User:F-JJTH|F-JJTH]] ([[User talk:F-JJTH|talk]]) 19:50, 1 January 2015 (UTC) Clément de l'Hamaide&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=De/FGCOM_Testing&amp;diff=78695</id>
		<title>De/FGCOM Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=De/FGCOM_Testing&amp;diff=78695"/>
		<updated>2015-01-01T18:39:23Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|FGCom_3.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{historical&lt;br /&gt;
| type   = article&lt;br /&gt;
| tense  = is&lt;br /&gt;
| text   = obsolete&lt;br /&gt;
| reason = The new version of FGCom is much more simple to use, a clean documentation is available at [[FGCom_3.0]]&lt;br /&gt;
| talk   = &lt;br /&gt;
| date   = 1 January 2015&lt;br /&gt;
| nocat  = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieser &amp;quot;FGCOM_Testing&amp;quot; Artikel soll FGCOM-Benutzern helfen ihr FGCOM-System nach der Installation zu testen und evtl. zu korrigieren, aber auch um von Zeit zu Zeit die Basis-Funktionen zu überprüfen und/oder das Audiosystem neu zu justieren. Der Artikel behandelt insbesondere diese 4 Gebiete:&lt;br /&gt;
# Austesten der FGCOM-Installation für sich - also ohne gestartetem FGFS (Flight-Gear-Flug-Simulator)&lt;br /&gt;
# Testen der Verbindungen zwischen FGFS und FGCOM&lt;br /&gt;
# Einstellen der Lautstärke für Kopfhörer, Lautsprecher, Mikrophone,etc.&lt;br /&gt;
# Im [[#Appendix|Anhang]] wurden bekannte Hilfen/Fehler zusammengestellt&lt;br /&gt;
&lt;br /&gt;
Natürlich müssen Sie vor dem Testen das eigentliche FGCOM installiert haben (siehe den [[FGCOM|FGCOM-Haupt-Artikel]] (sorry: Noch nicht in Deutsch))!&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Der Basis-Test der FGCOM-Installation ohne dem FGFS --&amp;gt; der so genannte &amp;quot;-f910 Test&amp;quot;''' ==&lt;br /&gt;
Öffnen Sie ein [[Command line|&amp;quot;Befehls-Fenster&amp;quot;]] und wechseln Sie in das Verzeichnis, in das das FGCOM installiert wurde. Der Weg zu diesem Verzeichnis wird dann im Fenster angezeigt, gefolgt von einem &amp;quot;$&amp;quot;-Zeichen. Geben Sie dann den folgenden Befehl ein, inklusive der angegebenen Optionen:&lt;br /&gt;
&lt;br /&gt;
   '''fgcom -Sfgcom01.flightgear.org -f910'''&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Für MAC können Sie benutzen:&lt;br /&gt;
/Applications/FlightGear.app/Contents/MacOS/fgcom -Sfgcom01.flightgear.org -f910&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|fgcom||Der Programmaufruf ''(im Falle daß Sie mit dem [[Scripted Compilation on Linux Debian/Ubuntu|download_and_compile.sh script]] für Linux installiert haben, müssen Sie das einfache &amp;quot;fgcom&amp;quot; durch &amp;quot;sh ./run_fgcom.sh&amp;quot; ersetzen.)''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|-S'''fgcom01.flightgear.org'''||der zentrale Server der FGCOM-Anwendung. ''&amp;lt;small&amp;gt;Derzeit gibt es noch einen zweiten Server: -S'''fgcom.flightgear.org''', der aber weniger benutzt wird&amp;lt;/small&amp;gt;''.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|-f910||die einzig verfügbare Frequenz für den &amp;quot;-f910 Test&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|optional||Im Falle daß Ihr Audio-System relative &amp;quot;schwach&amp;quot; ist, können Sie die folgenden Optionen versuchen:&lt;br /&gt;
&lt;br /&gt;
-i und/oder -o: i=input(Mikrophon) o=output(Lautsprecher), beide Werte zwischen 0.0 und 1.0 (e.g.: -i0.9)&lt;br /&gt;
|-&lt;br /&gt;
||  ||Sie benötigen keinerlei Login-Passworte und/oder Benutzer-Namen !!!&lt;br /&gt;
|}&lt;br /&gt;
Eine komplette Liste aller verfügbaren Optionen finden sie unter [[FGCOM#Commandline Parameters|Befehls- Parameters]] - im Folgenden gehen wir nur auf auf die gebräuchlichsten ein:&lt;br /&gt;
&amp;lt;br /&amp;gt;Der obige Befehl sollte antworten mit:&lt;br /&gt;
    fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
    (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
    Version 1.2.2 build 163M&lt;br /&gt;
    Using iaxclient library Version SVN 163M&lt;br /&gt;
    &lt;br /&gt;
    Successfully parsed commandline options.&lt;br /&gt;
    Reading list of airports...done.&lt;br /&gt;
    Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
    Call 0 accepted&lt;br /&gt;
    Call 0 answered&lt;br /&gt;
&lt;br /&gt;
Wenn die Antwort so aussieht sprechen Sie in Ihr Mikrophone - was immer sie sagen wird mit einer Verzögerung (Echo) vom Server zurück-gespielt. Sie sollten eine deutliche Verzögerung feststellen!&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Falls das in Ordnung war'''&lt;br /&gt;
* tippen Sie &amp;lt;nowiki&amp;gt;ctrl-C  (Strg+C)&amp;lt;/nowiki&amp;gt; um das Befehls-Fenster zu schließen&lt;br /&gt;
* und fahren Sie mit dem nächsten Kapitel fort: [[#Testen des FGCOM zusammen mit dem FlightGear Simulator|Testen des FGCOM zusammen mit dem FlightGear Simulator]]&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Im Falle von Problemen''' überprüfen Sie Ihr System entsprechend der folgenden wahrscheinlichsten Fehler: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fehler: Angabe eines falschen Installations-Verzeichnisses für FGCOM: ===&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
||Eine typische Anzeige für '''Windows'''-Systeme wäre z.B.:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
    C:\Users\emmerich&amp;gt;cd \Programme\Fxx&lt;br /&gt;
    The System cannot find the given path.&lt;br /&gt;
  &lt;br /&gt;
    C:\Users\emmerich&amp;gt;fgcom.exe -Sfgcom.flightgear.org -f910&lt;br /&gt;
    The command &amp;quot;fgcom.exe&amp;quot; is either mistyped or could not be found.&lt;br /&gt;
|}&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
||typisch für '''Linux'''-Systeme wäre z.B.:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
 /home/emmerich/Desktop/Link to fgcom: line 1: cd: /home/emmerich/fgf: No such file or directory&lt;br /&gt;
 sh: Can't open run_fgcom.sh&lt;br /&gt;
|}&lt;br /&gt;
* Hier hatte das System eindeutig recht, denn ich habe ihm vorsätzlich ein falsches Verzeichnis angegeben!&lt;br /&gt;
* Falls diese Anzeige bei Ihnen aufgetaucht ist, versuchen Sie es wieder mit dem richtigen Verzeichnis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fehler: Tippfehler (&amp;quot;Typo&amp;quot;) oder ein Netzwerkproblem: ===&lt;br /&gt;
    ./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
    (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
    Version 1.2.2 build 223M&lt;br /&gt;
    Using iaxclient library Version SVN 223M&lt;br /&gt;
    &lt;br /&gt;
    Successfully parsed command-line options.&lt;br /&gt;
    Reading list of airports...done.&lt;br /&gt;
    Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
nach einiger Zeit kann danach folgen:&lt;br /&gt;
   ''' Call 0 timed out.'''&lt;br /&gt;
    '''Timeout for a non-existent session.  Dropping'''&lt;br /&gt;
Dies bedeutet sehr wahrscheinlich:&lt;br /&gt;
* Sie haben eine falsche Frequenz angegeben oder sogar völlig vergessen. Sie müssen unbedingt die '''Option -f910''' mit eingeben&lt;br /&gt;
* Sie haben vor einer Option das '''&amp;quot;-&amp;quot;-Zeichen vergessen''' &lt;br /&gt;
* Sie haben '''&amp;quot;-sfgcom...&amp;quot; klein geschrieben''', anstatt richtig groß &amp;quot;-Sfgcom...&amp;quot;&lt;br /&gt;
* Sie haben den '''FGCOM-Servernamen''' falsch geschrieben oder überhaupt (aus welchen Grund auch immer) einen anderen Server angegeben&lt;br /&gt;
* oder Sie haben einen '''&amp;quot;neuen Typo&amp;quot;''' erfunden&lt;br /&gt;
* oder Sie haben ein '''generelles &amp;quot;Netzwerk-Problem&amp;quot;:'''&lt;br /&gt;
** Überprüfen Sie Ihr Netzwerk mit anderen Anwendungen (z.B. beim Aufrufen einer &amp;quot;sonst nicht benutzten&amp;quot; Web-Seite - falls Sie eine gebräuchliche benutzen wird diese evtl. aus Ihrem lokalen Speicher genommen - anstatt über das Netzwerk geholt!&lt;br /&gt;
** Falls Sie eine Firewall benutzen (was Sie grundsätzlich sollten!!) stellen Sie sicher daß die folgenden Ports frei gegeben sind:&lt;br /&gt;
   2005	UDP	Vcp-Stream&lt;br /&gt;
   4569	UDP	FGCom  VoIP, (Inter-Asterisk eXchange)&lt;br /&gt;
   5000	UDP	in/out Multiplayer    (VPN Sftw.)&lt;br /&gt;
  16661	UDP	FGCom Verbindung zu FGFS, normalerweise wird nur “local host” (intern) benötigt&lt;br /&gt;
&lt;br /&gt;
=== Fehler: &amp;quot;Phone-book&amp;quot; und/oder &amp;quot;positions&amp;quot; können nicht gefunden werden oder sind kaputt: ===&lt;br /&gt;
    ./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
    (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
    Version 1.2.2 build 223M&lt;br /&gt;
    Using iaxclient library Version SVN 223M&lt;br /&gt;
    &lt;br /&gt;
    Successfully parsed commandline options.&lt;br /&gt;
    '''Reading list of airports...Cannot open /home/emmerich/fgfs/install/fgcom/fgcom/positions.txt'''&lt;br /&gt;
    '''fopen: No such file or directory'''&lt;br /&gt;
    '''Stopping service.'''&lt;br /&gt;
    (etc)&lt;br /&gt;
* überprüfen Sie das Verzeichnis in dem FGCOM installiert wurde auf die Dateien &amp;quot;phonebook.txt&amp;quot; und &amp;quot;positions.txt&amp;quot;. Das sind ganz normale Text-Dateien in die Sie evtl. zusätzliche Daten eintragen können. Wenn Sie die Daten ändern, sollten Sie bei Windows unbedingt das &amp;quot;WordPad&amp;quot; benutzen (nicht den &amp;quot;Editor&amp;quot;!). Falls Sie komplette Dateien zwischen &amp;quot;Windows&amp;quot; und &amp;quot;Linux&amp;quot; austauschen, können Probleme auftreten - bei einzelnen Zeilen wurden noch keine Probleme gemeldet (für &amp;quot;MAC&amp;quot; habe ich keine Test-Ergebnisse).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fehler: Die Sound-Karte verträgt sich nicht mit Ihrem Betriebssystem: ===&lt;br /&gt;
    ./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
    (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
    Version 1.2.2 build 223M&lt;br /&gt;
    Using iaxclient library Version SVN 223M&lt;br /&gt;
    &lt;br /&gt;
    '''AL lib: alsa.c:564: set access failed: Invalid argument'''&lt;br /&gt;
    Successfully parsed commandline options.&lt;br /&gt;
    Reading list of airports...done.&lt;br /&gt;
    Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
    Call 0 accepted&lt;br /&gt;
    Call 0 answered&lt;br /&gt;
* '''Falls dieser Fehler auftrat:'''&lt;br /&gt;
** Aber alles Andere OK war, fahren Sie fort (aber versuchen Sie eine &amp;quot;neuere&amp;quot; Sound-Karten zu bekommen!)&lt;br /&gt;
** ansonsten suchen Sie im Internet nach neuen Treibern für Ihre Sound-Karte oder sonstige Fixes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Testen des FGCOM zusammen mit dem FlightGear Simulator''' ==&lt;br /&gt;
&lt;br /&gt;
Im vorhergehenden Kapitel haben wir den FGCOM als ein eigenständiges System getestet. Nun werden wir testen, ob FGCOM und FGFS zusammenarbeiten können, d.h. inklusive der PTT-Teste (&amp;quot;Push To Talk&amp;quot; = &amp;quot;Drücken zum Sprechen&amp;quot;, normalerweise die Leer-Taste), und ob die interne Kommunikation über die internen Ports funktioniert, etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Für diesen Test&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;starten Sie zuerst den FGFS mit irgendeinem Flugzeug auf einem Flugplatz Ihrer Wahl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;dann starten Sie den FGCOM (normalerweise ist es egal welches Programm Sie als erstes starten - aber im Fall von Problemen ist es besser in dieser Reihenfolge zu starten!) &amp;lt;small&amp;gt;''(Ich hoffe Sie haben nicht vergessen die Option &amp;quot;-f910&amp;quot; aus Ihrem Startbefehl zu entfernen!!)''&amp;lt;/small&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Klicken Sie (mit der linken Maustaste) in der FGFS-Menü-leiste auf &amp;quot;Equipment&amp;quot; (Ausstattung) --&amp;gt; dann &amp;quot;Radio-Settings&amp;quot; (Radio Einstellungen)&lt;br /&gt;
* geben Sie in das Feld &amp;quot;COM1&amp;quot; die Frequenz &amp;quot;910.00&amp;quot; und klicken dann auf &amp;quot;Apply&amp;quot; (Anwenden) (und evtl. &amp;quot;OK&amp;quot; wenn Sie das Fenster schließen wollen)&lt;br /&gt;
* '''überprüfen Sie immer wieder, daß das FGFS das aktive Fenster ist - wann immer etwas nicht &amp;quot;antwortet&amp;quot; wie erwartet, versuchen Sie zuallererst in das FGFS-Fenster zu klicken, um sicher zu stellen daß dieses das aktive Fenster ist - und versuchen Sie dann die letzte Aktion noch einmal!'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Falls sich das FGCOM Befehls-Fenster öffnet, aber nicht auf die Eingaben der COMM-Frequenzen reagiert:&lt;br /&gt;
&amp;lt;br /&amp;gt;Dies deutet auf ein reines Verbindungsproblem zwischen FGFS und FGCOM hin:&lt;br /&gt;
* Versuchen Sie den (normalerweise bereits voreingestellten) Standard-Verbindungs-Port zu erzwingen. Das heißt fügen Sie die Option &amp;quot;-p16661&amp;quot; der Befehlszeile zum Starten des FGCOM hinzu.&lt;br /&gt;
* Überprüfen Sie die erweiterten (&amp;quot;advanced&amp;quot;) Optionen des FGrun (bzw. Wizard): Unter Ein-/Ausgang (Input/Output) gibt es &amp;quot;generic=socket..&amp;quot;: Übertippen Sie den dort angegebenen Port mit der gleichen Port-Nr. wie in der Startzeile des FGCOM. Also &amp;quot;16661&amp;quot; (falls von Ihnen nicht bewußt geändert).&lt;br /&gt;
* Sie können auch versuchen den Verbindungs-Port bewusst zu ändern, z.B. auf &amp;quot;UDP 5004&amp;quot;. Falls sie das tun, müssen Sie an drei Stellen ändern:&lt;br /&gt;
** fügen Sie dem FGCOM-Startbefehl die Option &amp;quot;-p5004&amp;quot; hinzu&lt;br /&gt;
** ändern Sie auch den Wert in den FGrun (Wizzard) --&amp;gt; Advanced Options --&amp;gt; Input/Output --&amp;gt; Generic=soccket (zu 5004)&lt;br /&gt;
*** bzw. fügen Sie Ihrem FGFS-Startbefehl die Option &amp;quot;--generic=socket,out,10,localhost,5004,udp,fgcom&amp;quot; hinzu&lt;br /&gt;
** und Sie müssen diesen Port in einer evtl. vorhandenen &amp;quot;Firewall&amp;quot; freigeben (UDP 5004)&lt;br /&gt;
* Überprüfen Sie auf jeden Fall, daß an allen 3 vorgenannten Stellen die gleiche Port-Nummer angegeben ist!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Drücken Sie die PTT-Taste und sprechen Sie in Ihr Mikrofon. ''(&amp;quot;PTT&amp;quot; = &amp;quot;Push To Talk&amp;quot; == Drücken zum Sprechen. Dies ist normalerweise die Leer-Taste - falls Sie diese Anordnung geändert haben, benutzen Sie die von Ihnen definierte Taste.)''&lt;br /&gt;
* Sie sollten das gerade von Ihnen gesprochene wie in einem Echo hören -- wenn Sie &amp;quot;eins&amp;quot; sagen sollten sie das Echo erst hören, wenn sie das Wort komplett gesagt haben!&lt;br /&gt;
* '''Falls Sie das Echo gehört haben:'''&lt;br /&gt;
** Halten Sie die PTT-Taste für etwa 3 sec gedrückt - und achten Sie darauf ob sich &amp;quot;ungewöhnliche Geräusche&amp;quot; aufbauen&lt;br /&gt;
*** falls es solche Geräusche gibt machen Sie weiter mit dem Kapitel [[#Einstellen des Mikrophons und der Lautsprecher|Einstellen des Mikrophons und der Lautsprecher]]&lt;br /&gt;
*** ansonsten stellen Sie wieder die gewünschte Frequenz ein - und fahren dann mit dem nächsten nummerierten Punkt fort&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;'''Falls Sie das Echo Nicht gehört haben&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Testen Sie Ihren PTT (Mikrofon-Taste) und achten Sie auf die Rückmeldungen im FGCOM-Befehlsfenster:&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Wenn Sie den PTT einschalten müssen die Meldung umschalten, z.B.: &lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
    [SPEAK] unmute mic&lt;br /&gt;
    [LISTEN] mute mic&lt;br /&gt;
*** Falls die Meldungen sich nicht wie vorstehend ändern, fliegen Sie derzeit wahrscheinlich ein Flugzeug bei dem die Leertaste für etwas anderes verwendet wird:&lt;br /&gt;
*** Überprüen Sie die &amp;quot;''IhrFlugzeug&amp;quot;-set.xml&amp;quot; Datei in Ihrem Verzeichnis FGFS/data/Aircraft/YourPlane: Falls Sie dort eine Zeile “&amp;lt;key n=&amp;quot;32&amp;quot;&amp;gt;” finden, dann verwendet diese Modell ganz bewusst den &amp;quot;key 32&amp;quot; (Leertaste) für etwas anderes. Im Feb.2009 war bekannt, dass die Modelle an2, bluebird-base, ogel, OV10.., seatfireIIc, spitfireIIa, ufo etc. dies tun.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== '''Einstellen des Mikrophons und der Lautsprecher''' ==&lt;br /&gt;
Schließlich müssen wir noch die Mikrophone und Lautsprecher Lautstärken optimiere, um insbesondere von anderen besser verstanden zu werden:&lt;br /&gt;
&amp;lt;br /&amp;gt;''(Sie könnten dies auch mit dem &amp;quot;f910-test&amp;quot; im Kapitel 1 machen, aber hier macht es mehr Sinn da das gesamte Umfeld mit eingebunden wird&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Starten Sie Ihr FGFS und FGCOM wie vorhergehende beschrieben, COM1 muß auf 910.00 eingestellt werden und das aktive Radio sein!&lt;br /&gt;
&amp;lt;li&amp;gt;Sprechen Sie in das Mikrophone und verifizieren Sie daß Sie das Echo zurückbekommen. Falls dies nicht funktioniert wiederholen Sie die vorgehenden Kapitel.&lt;br /&gt;
&amp;lt;li&amp;gt;Während Sie nun in das Mikrophone sprechen justieren Sie Ihren Lautsprecher so, daß Ihre Echo-Rückgabe gut verständlich ist, aber nicht lauter als tatsächlich nötig&lt;br /&gt;
&amp;lt;li&amp;gt;'''Justieren Sie nun das Mikrophone''' von &amp;quot;stumm&amp;quot; zu &amp;quot;maximal&amp;quot;. Irgendwo auf dem Weg dazwischen werden Sie eine Stelle entdecken an der Ihre zurückkehrenden Worte nicht mehr lauter werden - obwohl Sie die Lautstärke erhöht haben. Belassen Sie die Lautstärke gerade etwas unterhalb dieser Schwelle.&lt;br /&gt;
&amp;lt;li&amp;gt;Nachdem nun das Mikrophon eingestellt ist '''justieren Sie die Lautsprecher''' entsprechend Ihrer eigenen Zufriedenheit&lt;br /&gt;
&amp;lt;li&amp;gt; Zum Schluß verifizieren Sie beide Einstellungen dadurch, daß Sie den PTT für etwa 10 Sec. gedrückt halten '''ohne''' in das Mikrophon zu sprechen oder sonstige Geräusche zu verursachen! Achten Sie darauf, ob sich dabei komische Geräusche wie z.B. &amp;quot;Pfeifen&amp;quot;, &amp;quot;klicken&amp;quot;, &amp;quot;Luft in einer Wasserleitung&amp;quot; oder ähnlich aufbauen - jegliche Geräusche die sich über die Zeit aufbauen sind absolut unerwünscht!&lt;br /&gt;
* Diese &amp;quot;sich über die Zeit aufbauenden&amp;quot; Geräusche entstehen sehr häufig durch &amp;quot;Mikrophon Booster&amp;quot; (automatische Verstärker). Falls Ihr Computer und/oder Betriebssystem solche Booster verfügbar hat, benutzen Sie diese möglichst nicht - und wenn doch halten Sie deren Einsatz/Verstärkung auf ein absolutes Minimum. Drehen Sie lieber die normale Verstärkung weiter auf! Letzteres verstärkt sich nicht selbsttätig wenn die Stimme leiser wird oder völlig verstummt!&lt;br /&gt;
&amp;lt;li&amp;gt;Achten Sie darauf, daß Sie nicht direkt in das Mikrofon sprechen, halten Sie es etwas schräg am Mundwinkel (kein rein-spucken + keine übersteuerungen!). Die Entfernung zu Ihrem Mund darf sich aber auch nicht ständig ädern - die meisten Mikrofone reagieren darauf sehr stark (USB-Mikrofone vergeben solch kleine Sünden besser!).&lt;br /&gt;
&amp;lt;li&amp;gt;Aber auch eine zu laute Einstellung der Lautsprecher kann solche &amp;quot;merkwürdigen Geräusche&amp;quot; verursachen - versuchen Sie also auch die Lautstärke-Einstellung zu reduzieren, falls sich die Nebengeräusche ansonsten nicht beseitigen lassen!&lt;br /&gt;
&amp;lt;li&amp;gt;Jetzt können Sie mit Anderen kommunizieren. Das heißt: Setzen Sie Ihr COM1 auf die gewünschte Frequenzen und lassen sich von Ihren Mitspielern bestätigen daß Sie eine &amp;quot;absolut phantastische Stimme haben&amp;quot;. &lt;br /&gt;
* Nebenbei bemerkt: Sie müssen mit dieser &amp;quot;Feuertaufe&amp;quot; nicht bis auf den nächsten Multiplayer-Ausflug warten: Sehen Sie einfach in der &amp;quot;Pilot-List&amp;quot; nach (FGFS --&amp;gt; Menü --&amp;gt; Network --&amp;gt; Pilot List) wer aktive ist und versuchen Sie diese/n via MPchat (FGFS --&amp;gt; Menü --&amp;gt; Network --&amp;gt; Chat) &amp;quot;anzutippen&amp;quot; und zu fragen welche FGCOM-Frequenz er benutzt. Fast alle FGCOM-Benutzer werden Ihnen gerne behilflich sein (leider aber haben noch nicht alle FGCOM!). Evtl. müssen Sie erst im [[MPMap|MPmap]] nachschauen, wo sich Piloten aufhalten - denken Sie daran: MPchat reicht etwa 100nm, FGCOM nur 50 km (etwa 28 nm)! (Evtl. sollten Sie versuchen diesen letzten Test in Englisch zu machen - vielleicht kann ein Freund als Gegen-Sprechstelle einspringen!)&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Aber BITTE-BITTE: '''Drücken Sie die PTT-Taste nur, während Sie tatsächlich sprechen!. Denn wann immer jemand die Taste drückt (um zu sprechen oder z.B. nur weil zufällig ein Buch darauf liegt, etc.) können alle anderen diese Frequenz nicht benutzen -- damit könnten Sie sich ganz schnell sehr unbeliebt machen!! Und versuchen Sie immer nur kurze Sätze zu sprechen (absolut niemals länger als 20 Sec!) - und dann wieder eine Pause einzulegen, um zu hören ob jemand anders was zu sagen hat. Nach einiger Zeit unterbricht Sie der Server automatisch - aber darauf müssen Sie ja nicht unbedingt warten - bis dahin sind Sie längst der &amp;quot;meist gehasste Mensch&amp;quot; auf der Frequenz!!!'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Appendix''' ==&lt;br /&gt;
&lt;br /&gt;
=== Tips und Tricks ===&lt;br /&gt;
==== Typische Probleme ====&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Mikrophone nicht verbunden: Es klingt idiotisch - aber die meisten technischen Probleme basieren auf solchen &amp;quot;das kann gar nicht sein&amp;quot;s - bitte - bitte spenden Sie die 2 sec. um dies als Erstes zu überprüfen, dazu gehört auch die Überprüfung ob Ihr Mikrophone einen eigenen Ausschalter hat und ob dieser auf &amp;quot;on&amp;quot; steht!&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Stecker/Buchsen Verbindungen sind immer recht kritisch (z.B. wegen Oxidation): Versuchen Sie ihre Stecker mehrfach raus zuziehen und wieder einzustecken. Im Zweifelsfall versuchen Sie einen anderen Eingang der Sound-Karte zu benutzen.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Mehrere Mikrophone und/oder Lautsprecher am PC angeschlossen: An vielen PC's befinden sich mechanische Vorrichtungen, die evtl. vorhandene weitere Steckerbuchsen abschalten. Versuchen Sie evtl. nur die Haupt-Steckerbuchsen zu benutzen - dies befinden sich zumeist auf der Rückseite des PC'S.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Falls Sie Ihre Audio-Einstellungen geändert haben oder ein Audiogerät ausgewechselt oder umgesteckt haben, machen Sie unbedingt erst einen PC-Restart, damit das Betriebssystem die Geräte neu zuordnen kann! (Bei Windows ist das oft nicht nötig - aber oft heißt nicht immer - und schaden kann es auf keinen Fall!)&lt;br /&gt;
* Falls Sie einen USB-Headset verwenden, sollten Sie evtl. erst versuchen FGCOM mit den Standardgeräten einzurichten - und erst nachdem diese funktioniert haben die USB-Geräte anschließen -- diese sind heutzutage noch nicht ganz so gebräuchlich und verursachen dadurch manch unerwartete Problem.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Stellen Sie sicher daß keines Ihrer Geräte auf &amp;quot;Mute&amp;quot; steht (ausgeschaltet ist):&lt;br /&gt;
* Feuer Standard PC's können sie zumeist mit der rechten Maustaste auf das Lautpsrechersymbol in der Task-Leiste klicken.&lt;br /&gt;
** Für Windows-Systeme: Falls das Lautsprechersymbol nicht da ist:&lt;br /&gt;
*** '''für Vista + Windows 7''': Linker Mausklick auf &amp;quot;Start&amp;quot; --&amp;gt; tippen Sie &amp;quot;SndVol.exe&amp;quot; in die leere Zeile direkt oberhalb des &amp;quot;Start&amp;quot;&lt;br /&gt;
*** '''für XP:''' Linker Mausklick auf Start, dann auf &amp;quot;Run&amp;quot;, tippen Sie “SndVol32.exe” in die &amp;quot;PopUP-Eingabezeile&amp;quot;&lt;br /&gt;
* Für besonders &amp;quot;komplexe (und teure)&amp;quot; Sound-Karten müssen Sie evtl. deren Beschreibungen benutzen!&lt;br /&gt;
* FGCOM ist nur zur Übertragung von Sprache gedacht (Telefone/TCP-IP) und benötigt deshalb keine besonders &amp;quot;gute&amp;quot; Sound-Karte - (ich kenne allerdings Leute die auch gerne mal Ihre Freunde mit Country-Musik unterhalten - das funktioniert zwar - ist aber nicht wirklich HiFi!&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Stellen Sie auf jeden Fall sicher, daß Sie mit Ihrem Betriebssystem und den dort standardmäßig vorhandenen Programmen (ohne FGCOM und/oder FGFS und/oder &amp;quot;OpenAL&amp;quot;) etwas Aufnehmen und Zurueckspielen können. (Sehen Sie hierzu Ihre Systemunterlagen und/oder das Kapitel [[#Wo Sie die Lautstärken einstellen können:|Wo Sie die Lautstärken einstellen können:]])&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Falls bei den Verbindungen Störgeräusche auftreten oder diese qualitativ ungenügend sind:&lt;br /&gt;
* Testen Sie zuerst noch einmal die Audio-Einstellungen wie bereits beschrieben (siehe [[#Einstellen des Mikrophons und der Lautsprecher|siehe vorstehend]])&lt;br /&gt;
* versuchen Sie Ihre Audio-Kabel möglichst weit von Störquellen weg zu verlegen (z.B.: Gebläse, AC/DC Umwandler, Motoren/Gebläse, Lampen, etc.)&lt;br /&gt;
* es kann sogar helfen Ihre Sound-Karte umzustecken&lt;br /&gt;
* ein (digitales) USB-Headset kann helfen Störungen zu vermeiden - reagiert aber auch kritischer auf Geräusche in der Umgebung&lt;br /&gt;
* falls auf Ihrer Audio-Karte &amp;quot;Stero-Mix&amp;quot; aktiviert ist, versuchen Sie dies (zumindest während der Tests) auszuschalten&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Bei fast allen Systemen müssen Sie die &amp;quot;Leertaste&amp;quot; als den PTT (PushToTalk - Mikrophone-Schalter) gedrückt halten während Sie sprechen. Aber es gibt auch Audio-System bei denen Sie den PTT drücken und wieder loslassen müssen um das Mikrophon einzuschalten, erst ein zweites Drücken und Loslassen schaltet das Mikrophon wieder aus. Überprüfen Sie wie Ihr System funktioniert -- gerade hier kann die Aufzeichnung eines von Ihnen gesprochenen Satzes und dem anschließenden Zurückspielen helfen. &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Falls die FGFS-Sprachausgaben die FGCOM-Ausgaben übertönen:&lt;br /&gt;
* Nach dem Start des FGFS klicken Sie auf &amp;quot;File&amp;quot; im FGFS-menü, dann auf &amp;quot;Sound Configuration&amp;quot;: verschieben Sie den oberen Regler wie benötigt. Beachten Sie, daß diese Einstellung wieder zurückgesetzt wird wenn Sie den FGFS mittels &amp;quot;X&amp;quot; in der Fenster-Leiste verlassen - gewöhnen Sie sich daran den FGFS mittele &amp;quot;File&amp;quot; und &amp;quot;Exit/Quit&amp;quot; zu beenden.&lt;br /&gt;
* Anders herum können Sie die Lautstärke des FGCOM mittels der &amp;quot;-o&amp;quot; und/oder der &amp;quot;-i&amp;quot; Optionen mit Werten zwischen &amp;quot;0.0&amp;quot; bis &amp;quot;1.0&amp;quot; verändern ([[#Der Basis-Test der FGCOM-Installation ohne dem FGFS --&amp;gt; der so genannte &amp;quot;-f910 Test&amp;quot;|siehe das FGCOM Start-Kommando am Anfang dieser wiki-Seite]]).&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Es ist bekannt, daß die AirToAir (weltweite) Frequenz 123.45 noch nicht funktioniert - die Ursache und ein Lösungstermin sind noch unbekannt. (Dies gilt für alle Betriebssysteme).&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Wussten Sie schon? Falls gerade keine Tower-Frequenz in Reichweite ist - können Sie auch VOR-Frequenzen benutzen. Setzen Sie diese einfach in Ihr COM1 oder COM2 (an statt NAV1 oder NAV2).&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&amp;lt;br /&amp;gt;Seien Sie versichert: Inzwischen wurde FGCOM auf allen bekannten Betriebssystem eingesetzt und getestet. Falls also Probleme auftreten ziehen Sie auch in Betracht daß andere Geräte und oder Programme Ihres PC's diese Probleme verursacht haben können!&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==== Hochwertige Sound-Karten ====&lt;br /&gt;
Insbesondere &amp;quot;hochwertige Sound-Karten&amp;quot; (z.B. für Audio-Studios) können Probleme verursachen, da manche&lt;br /&gt;
* das Mikrophon nach einer bestimmten Zeitspanne selbsttätig abschalten -- ohne daß Sie das bemerken (müssen)!&lt;br /&gt;
* während des Reboots immer die gleichen Standardwerte laden - anstatt die zuletzt benutzten!&lt;br /&gt;
* sogar alle Einstellungen auf &amp;quot;0&amp;quot; setzen&lt;br /&gt;
* das Mikrophone erst nach Drücken '''und''' wieder Loslassen des PTT das Mikrophon einschalten - während wir das Mikrophone nur aktiv haben wollen, wenn der PTT aktive gedrückt ist. (Diese Funktion verhällt sich unter Umständen unterschiedlich, je nachdem ob der PTT an einem Joystick oder auf der Tastatur gedrückt wird!)&amp;lt;br /&amp;gt;&lt;br /&gt;
Sie sollten also wissen (bzw. testen) wie sich Ihr Mikrophon verhält!&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==== Speziell für Linux (.alsoftrc) ====&lt;br /&gt;
(ref.: [[Linux software audio mixing with FlightGear]]) &amp;lt;br /&amp;gt;&lt;br /&gt;
Suchen Sie in ihrem Home-Verzeichnis (&amp;quot;~/&amp;quot;) die Datei &amp;quot;'''.alsoftrc'''&amp;quot; (beachten Sie, daß dazu &amp;quot;show hidden Files&amp;quot; (&amp;quot;Zeige versteckte Dateien&amp;quot;) aktiviert sein muß!).&lt;br /&gt;
* Falls die Datei &amp;quot;.alsoftrc&amp;quot; nicht existiert&lt;br /&gt;
** Überprüfen Sie ob es die ältere Version &amp;quot;.openalrc&amp;quot; gibt&lt;br /&gt;
*** falls ja: Überprüfen Sie ob Sie tatsächlich die alte Version &amp;quot;OpenAL Library&amp;quot; benutzen oder die neuere &amp;quot;OpenAL-soft Library&amp;quot;. Falls Sie noch die ältere benutzen fügen Sie Folgendes in die Datei &amp;quot;.openalrc&amp;quot; ein:&lt;br /&gt;
 (define devices '(alsa))&lt;br /&gt;
 (define alsa-out-device &amp;quot;plug:dmix&amp;quot;)&lt;br /&gt;
*** falls nein: Erstellen Sie eine neue Datei &amp;quot;.alsoftrc&amp;quot; und fügen in diese ein:&lt;br /&gt;
 format = AL_FORMAT_STEREO16&lt;br /&gt;
 cf_level = 1&lt;br /&gt;
 drivers = alsa&lt;br /&gt;
 [alsa]  # ALSA backend stuff&lt;br /&gt;
 device = plug:dmix&lt;br /&gt;
 capture = plug:dsnoop&lt;br /&gt;
Die OpenAL-soft Konfigurations-Datei sollte &amp;quot;/etc/openal/alsoft.conf&amp;quot; sein (oder ähnlich). Üblicher Weise beinhaltet diese Kommentare, die alle möglichen Einstellungen beschreibt.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==== USB-Headset-Probleme unter Linux (Ubuntu) ====&lt;br /&gt;
Das folgende wurde unter Ubuntu gefunden/verifiziert, sollte aber auf alle Linux-Versionen zutreffen:&lt;br /&gt;
* Falls Sie problemlos ein Aufnahme machen können '''und''' auch der [[#Der Basis-Test der FGCOM-Installation ohne dem FGFS --&amp;gt; der so genannte &amp;quot;-f910 Test&amp;quot;|f910-Test]] im Befehls-Fenster das richtige Ergebnis zeigt - aber die &amp;quot;Echo&amp;quot; Rückgabe nicht erfolgt:&lt;br /&gt;
** tippen Sie &amp;quot;cat /proc/asound/modules&amp;quot; in ein leeres Befehls-Fenster ein, dann sollte etwa Folgendes im Fenster erscheinen:&lt;br /&gt;
 $ cat /proc/asound/modules&lt;br /&gt;
  0 snd_usb_audio&lt;br /&gt;
  1 snd_hda_intel&lt;br /&gt;
** falls dabei mehrere Audio-Geräte angezeigt werden (wie vorstehend &amp;quot;usb&amp;quot; und &amp;quot;hda&amp;quot;), dann sollte der USB-Headset in der oberen &amp;quot;0-Position&amp;quot; stehen. Falls dies nicht der Fall ist, notieren Sie sich den kompletten Namen Ihres USB-Gerätes (hier z.B. &amp;quot;snd_usb_audio&amp;quot;) und ändern Sie Ihre Konfiguration. z.B. geben Sie in ein Befehls-Fenster ein:&lt;br /&gt;
 &amp;quot;sudo gedit /etc/modprobe.d/alsa-base.conf&amp;quot;&lt;br /&gt;
fügen Sie in die Datei als letzte Zeile ein, z.B.&lt;br /&gt;
 options snd_usb_audio index=0&lt;br /&gt;
achten Sie auf den richtigen Namen Ihres USB-Gerätes!&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==== Festival ====&lt;br /&gt;
* Falls Sie den &amp;quot;Text zu Sprache&amp;quot; Zusatz '''Festival''' verwenden&lt;br /&gt;
** und&lt;br /&gt;
*** dieses ohne FGCOM einwandfrei funktioniert&lt;br /&gt;
*** aber Probleme wie &amp;quot;can't open /dev/dsp&amp;quot; meldet wenn es mit FGCOM und/oder FGFS (und/oder anderen Anwendungen) zusammen läuft&lt;br /&gt;
** dann erstellen Sie in Ihrem Home-Verzeichnis (&amp;quot;~/&amp;quot;) eine Datei &amp;quot;.festivalrc&amp;quot; mit den Zeilen:&lt;br /&gt;
 (Parameter.set 'Audio_Command &amp;quot;aplay -q -c 1 -t raw -f s16 -r $SR $FILE&amp;quot;)&lt;br /&gt;
 (Parameter.set 'Audio_Method 'Audio_Command)&lt;br /&gt;
&amp;lt;/ol&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Wo Sie die Lautstärken einstellen können: ===&lt;br /&gt;
Bitte denken Sie daran, daß FGCOM auf sehr unterschiedlichen PC's, Notebooks, etc. unter sehr verschiedenen Betriebssysteme verwendet wird, und zusätzlich auch noch sehr unterschiedliche Sound-Karten mit den unterschiedlichsten Möglichkeiten verwendet wird. Somit könne wir im Folgenden nur die grundsätzlichen Konzepte aufzeigen. Falls diese nicht ausreichen um Ihr System zu erkennen, müssen Sie in Ihren speziellen System und/der Sound-Card Beschreibungen nachschauen!&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;li&amp;gt;Definiere die zu benutzenden Geräte:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|width=300 align=&amp;quot;center&amp;quot;|'''für Linux:'''&lt;br /&gt;
|width=300 align=&amp;quot;center&amp;quot;|'''für Windows:'''&lt;br /&gt;
|width=300 align=&amp;quot;center&amp;quot;|'''für MAC:'''&lt;br /&gt;
|-&lt;br /&gt;
|width=300|Geben Sie folgenden [[Command line|Befehl]] ein: ''gnome-sound-properties''&lt;br /&gt;
[[File:FGCOM-U-Prefs.jpg|thumb|center|250px|test devices]]&lt;br /&gt;
Für jeden Vorgang können Sie ein Auswahl-Menü öffnen (siehe den nach unten gerichteten Pfeil) und dort das gewünschte Gerät aussuchen. Ich empfehle es als erstes mit &amp;quot;Autodetect&amp;quot; (Automatische Auswahl) zu versuchen. Dann klicken Sie auf den grünen &amp;quot;Test&amp;quot;-Knopf. Falls Sie Änderungen vornehmen, starten Sie Ihren PC nach jeder Änderung neu, um sicher zu stellen daß das Betriebssystem die Änderung erkannt hat!&lt;br /&gt;
|width=300|&amp;lt;br /&amp;gt;Klicken Sie mit der rechten Maustaste auf das audio-icon in der Menü-Leiste → Preferences → Audio-tab:&lt;br /&gt;
[[File:FGCOM-W-Audio.jpg|thumb|center|250px|set devices]]&lt;br /&gt;
Beachten Sie die beiden Tabs: '''Audio''' und '''Stimme''', sie müssen die Einstellungen in beiden ändern!&lt;br /&gt;
|width=300|Öffnen Sie Menu --&amp;gt; System-preferences:&lt;br /&gt;
[[File:FGCOM-OVol.jpg|thumb|center|250px|set devices]]&lt;br /&gt;
Schalten Sie um zwischen &amp;quot;Output&amp;quot; (Ausgabe) und &amp;quot;input&amp;quot; (Eingabe) und wählen Sie dort die gewünschten Geräte im Feld &amp;quot;Chose a device...&amp;quot;. &lt;br /&gt;
|}&lt;br /&gt;
Falls Sie hier die Auswahl geändert habe, rebooten Sie Ihr System bevor Sie fortfahren!&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;li&amp;gt;Einstellen der Lautstärke und des &amp;quot;Boosters&amp;quot;''' (bei der ersten Einstellung der Lautsprecher sollten Sie vorsichtshalber vorher das Mikrofon ausschalten!)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=300|Rechts-Klick auf das Audio-Icon → Open Vol. Ctrl:&lt;br /&gt;
[[File:FGCOM-UVolCtrl.jpg|thumb|center|250px|Volume Control]]&lt;br /&gt;
Die Anzahl der Schieberegler ändert sich automatisch entsprechend der Möglichkeiten Ihrer Sound-Karte oder dem USB-Headset.&lt;br /&gt;
&lt;br /&gt;
Den “Booster” finden Sie unter &amp;quot;Switches&amp;quot; (eventuell müssen Sie ihn erst unter &amp;quot;Preferences&amp;quot; (Einstellungen&amp;quot;) aktivieren!)&lt;br /&gt;
|width=300|Rechts-Klick auf Audio-Icon → Volume-Ctrl. (oder geben Sie den Befehl ein: sndvol32)&lt;br /&gt;
[[File:FGCOM-W-VolCtrl.jpg|thumb|center|250px|set devices]]&lt;br /&gt;
In dem gezeigten Beispiel wird das vom Betriebssystem vorgegebenen &amp;quot;Mic.&amp;quot; wegen der speziellen Möglichkeiten der Sound-Karte mit &amp;quot;Rear Pink In&amp;quot; überschrieben, da dieser Eingang sich automatisch dem eingesteckten Gerät anpasst! Achten Sie auf ähnliche Änderungen bei höherwertigen Karten!&lt;br /&gt;
Den &amp;quot;Booster&amp;quot; finden Sie unter &amp;quot;Optionen&amp;quot;.&lt;br /&gt;
|width=300|Benutzen Sie das oben gezeigte Fenster für die Einstellungen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;li&amp;gt;Verifizieren Sie die Funktionalität des Mikrophon/Lautsprecher-Systems:'''&lt;br /&gt;
&amp;lt;br /&amp;gt;Benutzen Sie die &amp;quot;volume-control-panels&amp;quot; (s.o.) um das Mikrophon für diesen Test zu aktivieren. Dann:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=300|Öffnen Sie das Aufnahmegerät durch Eingabe des [[Command line|Befehls]]: ''gnome-sound-recorder''&lt;br /&gt;
[[File:FGCOM-U-sndctrl.jpg|thumb|center|250px|Recording-test]]&lt;br /&gt;
* Record (Aufnehmen)&lt;br /&gt;
* Stop  (stop)&lt;br /&gt;
* Play (Abspielen)&lt;br /&gt;
|width=300|Öffnen Sie das Aufnahmegerät durch Eingabe des [[Command line|Befehls]]: ''sndrec32''&lt;br /&gt;
[[File:FGCOM-W-sndrec.jpg|thumb|center|250px|Recording-test]]&lt;br /&gt;
* Starten Sie die Aufnahme (durch Mausklick auf den roten Punkt)&lt;br /&gt;
* sprechen Sie einige Worte in das Mikrofon&lt;br /&gt;
* stop (Mausklick auf das Rechteck)&lt;br /&gt;
* zurückspoolen ( &amp;lt; &amp;lt; )&lt;br /&gt;
* abhören  (&amp;gt;)&lt;br /&gt;
|width=300|Unseres Wissens gibt es im Standard OSX kein vergleichbares Aufnahmegerät!&lt;br /&gt;
|}&lt;br /&gt;
[[en:FGCOM Testing]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Fr/FGCOM_Testing&amp;diff=78694</id>
		<title>Fr/FGCOM Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Fr/FGCOM_Testing&amp;diff=78694"/>
		<updated>2015-01-01T18:39:04Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|FGCom_3.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{historical&lt;br /&gt;
| type   = article&lt;br /&gt;
| tense  = is&lt;br /&gt;
| text   = obsolete&lt;br /&gt;
| reason = The new version of FGCom is much more simple to use, a clean documentation is available at [[FGCom_3.0]]&lt;br /&gt;
| talk   = &lt;br /&gt;
| date   = 1 January 2015&lt;br /&gt;
| nocat  = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce test de FGCOM &amp;quot;FGCOM_Testing&amp;quot; est destiné aux utilisateurs pour les aider à faire fonctionner FGCOM après l'avoir installé, mais aussi à ceux qui voudront en vérifier son fonctionnement de base, ou régler leur configuration audio. Les détails dans les 4 paragraphes qui suivent &lt;br /&gt;
# Test de l'installation de FGCOM indépendant&lt;br /&gt;
# Test de FGCOM avec FlightGear&lt;br /&gt;
# Réglage du volume du micro et des haut-parleurs&amp;lt;/ol&amp;gt;&lt;br /&gt;
# Dans l'[[#Appendix|Appendice]], des informations d'aide&lt;br /&gt;
&lt;br /&gt;
Bien sûr, la première condition pour la suite, c'est d'avoir déja installé FGCOM (voir[[FGCOM|FGCOM-page principale]]) !&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Le test initial d'installation autonome est appellé &amp;quot;-f910 Test&amp;quot;''' ==&lt;br /&gt;
&lt;br /&gt;
Avant d'executer la[[Command line|commande]] suivante, ouvrez la fenêtre de commande et allez dans le répertoire dans lequel FGCOM a été installé. Ce chemin sera ensuite montré dans la fenêtre de commande, suivi d'un signe &amp;quot;$&amp;quot;. Ensuite, entrez la commande &amp;quot;fgcom avec les options demandées/désirées:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fgcom -Sfgcom.flightgear.org -f910&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: ''fgcom''&lt;br /&gt;
:: la commande ''(dans le cas d'installation avec [[Scripted Compilation on Linux Debian/Ubuntu|download_and_compile.sh script]] LINUX vous devez remplacer la commande  &amp;quot;fgcom&amp;quot; par &amp;quot;sh ./run_fgcom.sh&amp;quot;. La commande complète sera alors: &amp;quot;'''sh ./run_fgcom.sh -f910'''&amp;quot;)''&lt;br /&gt;
: ''-Sfgcom.flightgear.org''&lt;br /&gt;
:: le serveur central pour FGCOM&lt;br /&gt;
: ''-f910''&lt;br /&gt;
:: la seule fréquence valable pour les écho-tests&lt;br /&gt;
: optionnel&lt;br /&gt;
:: En cas de faiblesse de votre audiosystème vous pouvez essayer les options:&lt;br /&gt;
:: ''-i and/or -o'': i=input(microphone) o=output(Speaker), les deux valeurs entre 0.0 and 1.0 (ex.: -i0.9)&lt;br /&gt;
&lt;br /&gt;
Vous n'avez pas besoin de mot de passe ou de nom d'utilisateur !!!&lt;br /&gt;
&lt;br /&gt;
Pour connaître toutes les options valables, voir [[FGCOM#Commandline Parameters|Paramètres de la ligne de commande]] - ce qui suit ne montrera que les options minimales requises:&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous obtiendrez en retour:&lt;br /&gt;
 fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
 (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
 Version 1.2.2 build 163M&lt;br /&gt;
 Using iaxclient library Version SVN 163M&lt;br /&gt;
 &lt;br /&gt;
 Successfully parsed commandline options.&lt;br /&gt;
 Reading list of airports...done.&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Call 0 accepted&lt;br /&gt;
 Call 0 answered&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parlez dans votre micro et vos mots seront répétés en écho après un court délai. ex: dites &amp;quot;one&amp;quot; et vous remarquerez que le &amp;quot;one&amp;quot; est répété '''après''' que vous ayez fini de parler.&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Si c'est correct'''&lt;br /&gt;
* tapez &amp;lt;nowiki&amp;gt;ctrl-C&amp;lt;/nowiki&amp;gt; pour quitter cette fenêtre Quick-Test command&lt;br /&gt;
* et continuez avec le chapitre suivant: [[#Test the FGCOM together with the FlightGear Simulator|Test de FGCOM avec FlightGear Simulator]].&lt;br /&gt;
&amp;lt;br /&amp;gt;'''En cas d'échec''' notez les principales causes d'erreur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Erreur: FGCOM ne marche pas à cause de la version OpenAL: ===&lt;br /&gt;
Si vous avez un message de l'OS semblable au message Windows suivant:&lt;br /&gt;
 &amp;quot;The procedure entry point alcCaptureSamples could not be located in the dynamic link libary Open AL32.dll.&amp;quot;&lt;br /&gt;
Téléchargez et installez le dernier software OpenAL avec: http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx&lt;br /&gt;
: pour windows: '''alinst.zip'''&lt;br /&gt;
: pour Linux: '''openal-soft-1.10.622'''&lt;br /&gt;
: pour OSX: '''OpenALInstaller'''&lt;br /&gt;
''Attention, les versions et aussi les modules peuvent changer -- aussi, toujours vérifier la description du module du côté droit de la page http''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Erreur: Répertoire incorrect indiqué pour FGCOM: ===&lt;br /&gt;
&lt;br /&gt;
typique de  '''Windows'''-Systems:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   C:\Users\localuser&amp;gt;cd \Programme\Fxx&lt;br /&gt;
    The System cannot find the given path.&lt;br /&gt;
  &lt;br /&gt;
    C:\Users\emmerich&amp;gt;fgcom.exe -Sfgcom.flightgear.org -f910&lt;br /&gt;
    The command &amp;quot;fgcom.exe&amp;quot; is either mistyped or could not be found.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
typique de '''Linux'''-Systems:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 /home/emmerich/Desktop/Link to fgcom: line 1: cd: /home/emmerich/fgf: No such file or directory&lt;br /&gt;
 sh: Can't open run_fgcom.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Le système est correct: J'ai donné (pour le test) un faux répertoire!&lt;br /&gt;
Corrigez avant de réessayer!&lt;br /&gt;
&lt;br /&gt;
=== Erreur: &amp;quot;TYPO&amp;quot; (commande ou option mal tapée) ou problème réseau: ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
(c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
Version 1.2.2 build 223M&lt;br /&gt;
Using iaxclient library Version SVN 223M&lt;br /&gt;
&lt;br /&gt;
Successfully parsed command-line options.Reading list of airports...done.&lt;br /&gt;
Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
quelquefois, on peut avoir:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
''' Call 0 timed out.'''&lt;br /&gt;
'''Timeout for a non-existent session.  Dropping'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ou &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'''Call 0 accepted'''&lt;br /&gt;
'''Call 0 answered'''&lt;br /&gt;
'''The service is unavailable. Please wait until fgcom Version 3 is online. Thank you.'''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
plus vraisemblablement vous pouvez avoir aussi:&lt;br /&gt;
&lt;br /&gt;
* défini une fréquence erronée, ou omis d'en avoir défini une. Vous '''devez définir l'option -f910'''&lt;br /&gt;
* oublié un signe &amp;quot;-&amp;quot; en face d'une option&lt;br /&gt;
* tapé une minuscule à &amp;quot;-sfgcom...&amp;quot; au lieu d'une majuscule &amp;quot;-Sfgcom...&amp;quot;&lt;br /&gt;
* mal tapé le nom du Serveur ou désigné un FGCOM-Server erroné&lt;br /&gt;
* ou vous pouvez vous-même avoir créé votre erreur &amp;quot;typo&amp;quot; (lol).&lt;br /&gt;
* ou cela peut indiquer un  '''Problème-Réseau''':&lt;br /&gt;
** Vérifier votre réseau en utilisant une autre application (ex: votre navigateur pour trouver une adresse http inhabituellement utilisée  - si c'est une adresse récemment utilisée la réponse pourrait être hors de vos copies de sauvegarde - même si le réseau n'est pas connecté (ex: utilisez  &amp;quot;http://mainz.de/&amp;quot; pour tester)&lt;br /&gt;
Si vous utilisez un pare-feu (ce qui est probable, pour raisons de sécurité) soyez sûr que les ports en dessous sont désactivés dans votre PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 2005	UDP	Vcp-Stream&lt;br /&gt;
 4569	UDP	FGCom  VoIP, (Inter-Asterisk eXchange)&lt;br /&gt;
 5000	UDP	in/out Multiplayer    (VPN Sftw.)&lt;br /&gt;
 16661	UDP	FGCom listening to FGFS, usually on localhost only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erreur: &amp;quot;Phone-book&amp;quot; et/ou &amp;quot;positions&amp;quot; ne peuvent être trouvées et/ou sont corrompus: ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
(c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
Version 1.2.2 build 223M&lt;br /&gt;
Using iaxclient library Version SVN 223M&lt;br /&gt;
&lt;br /&gt;
Successfully parsed commandline options.&lt;br /&gt;
'''Reading list of airports...Cannot open /home/emmerich/fgfs/install/fgcom/fgcom/positions.txt'''&lt;br /&gt;
'''fopen: No such file or directory'''&lt;br /&gt;
'''Stopping service.'''&lt;br /&gt;
(etc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* vérifier le répertoire dans lequel FGCOM est installé pour les fichiers &amp;quot;phonebook.txt&amp;quot; et &amp;quot;positions.txt&amp;quot;. Ce sont des fichiers-texte ordinaires dans lesquels vous pouvez ajouter des informations manquantes avec un éditeur standard, pour Windows &amp;quot;WordPad&amp;quot; (pas l' &amp;quot;Editor&amp;quot;). Remplacer un position.text &amp;quot;Windows&amp;quot; avec un &amp;quot;Linux&amp;quot; peut entraîner des erreurs, bien que les lignes des deux fichiers puissent être échangées/ajoutées.&lt;br /&gt;
&lt;br /&gt;
=== Erreur: La Carte-Son n'est pas pleinement compatible: ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
(c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
Version 1.2.2 build 223M&lt;br /&gt;
Using iaxclient library Version SVN 223M&lt;br /&gt;
 &lt;br /&gt;
'''AL lib: alsa.c:564: set access failed: Invalid argument'''&lt;br /&gt;
Successfully parsed commandline options.&lt;br /&gt;
Reading list of airports...done.&lt;br /&gt;
Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
Call 0 accepted&lt;br /&gt;
Call 0 answered&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Continuer vérification/ajustement:&lt;br /&gt;
** Si tout le reste est OK, oubliez le problème (mais attention, l'Audio pourrait ne pas fonctionner correctement!)&lt;br /&gt;
** autrement, consultez Internet pour les nouveaux drivers de votre Carte-Son.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test de FGCOM avec FlightGear Simulator ==&lt;br /&gt;
&lt;br /&gt;
Dans le chapitre précédent vous avez testé FGCOM en tant qu'application indépendante. Maintenant, nous allons voir si le '''FGFS''' (FlightGear Flight-Simulator) et FGCOM fonctionnent bien ensemble, y compris la touche PTT  (PushToTalk, en général la barre d'espace) et les connections internes via les ports indiqués.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour ce test&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;démarrez FGFS avec l'avion et l'aéroport de votre choix&lt;br /&gt;
&amp;lt;li&amp;gt;démarrez FGCOM (habituellement, peu importe l'ordre - mais en cas d'ennui, démarrez dans cet ordre!)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;dans la barre de menu de FGFS, click sur &amp;quot;Equipment&amp;quot; --&amp;gt; &amp;quot;Radio Settings&amp;quot;&lt;br /&gt;
* dans le champ &amp;quot;COM1&amp;quot; entrez la fréquence &amp;quot;910.00&amp;quot; ensuite click &amp;quot;Apply&amp;quot; (et &amp;quot;OK&amp;quot; si vous voulez fermer le Pop-up.)&lt;br /&gt;
'''Assurez-vous que FGFS est la fenêtre active''': Si parfois quelque chose ne fonctionne pas comme prévu, click avec la souris quelque part dans la fenêtre principale de FGFS (ce qui activera la fenêtre) et ensuite,, réessayer les dernières action(s)!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;si la fenêtre de commande de FGCom apparaît, mais ne répond pas à une fréquence COM installée: &lt;br /&gt;
: Cela signifie un problème Port/Interface entre FGCOM et FGFS.&lt;br /&gt;
:: Essayez d'imposer le port (habituellement prédéfini) en option. c.a.d ajoutez l'option “-p16661” à la commande de démarrage de FGCom &lt;br /&gt;
:: Vérifiez les options étendues de FGrun → Input/output “generic=socket..”: Le port doit être le même que pour FGCOM c.a.d. 16661 (si vous ne l'avez pas changé intentionnellement)&lt;br /&gt;
:Vous pouvez essayer de changer le port de l'interface en p.ex  UPD 5004. Dans ce cas, vous devez vous devez examiner 3 endroits:&lt;br /&gt;
::ajoutez l'option “-p5004” à la commande de départ de FGCom &lt;br /&gt;
::changez aussi le chiffre dans FGrun (“Wizard”) → Advanced Options → Input/output en 5004 '''ou''' ajoutez l'option  &amp;quot;--generic=socket,out,10,localhost,5004,udp,fgcom&amp;quot; à votre commande de démarrage de FGFS.&lt;br /&gt;
::et vous devez dire à votre pare-feu d'autoriser le port UDP 5004&lt;br /&gt;
:enfin, assurez-vous que ces 3 endroits contiennent les mêmes numéros de Port !!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Appuyez le PTT ''(normalement la barre d'espace (si vous avez assigné une autre touche pour PTT-utilisez la!))'' et parlez dans vote micro:&lt;br /&gt;
&amp;quot;vos paroles doivent être répétées en écho après un court délai ex: dites &amp;quot;one&amp;quot; - et vous remarquez que le &amp;quot;one&amp;quot; est répété après que vous ayez fini de le prononcer.&lt;br /&gt;
::'''si vous avez entendu''' cet écho:&lt;br /&gt;
::gardez le PTT appuyé pendant 3 secondes environ et surveillez une possible survenue de &amp;quot;drôles de  bruits&amp;quot;.&lt;br /&gt;
:::si cela se produit, voyez le chapitre [[#Adjust the Microphone and Speaker volumes|Régler le volume du micro et des haut-parleurs]]&lt;br /&gt;
::autrement, gardez sur votre COM1 la fréquence voulue--&amp;gt; continuez avec le prochain chapitre numéroté.&lt;br /&gt;
::'''si vous n'avez pas entendu''' l'écho en retour&lt;br /&gt;
:::testez votre PTT: Regardez les messages FGCOM dans la fenêtre FGCOM:&lt;br /&gt;
:::Quand vous appuyez sur PTT ils devraient passer entre ''[SPEAK] unmute mic'' suivi par ''[LISTEN] mute mic''&lt;br /&gt;
:::S'ils ne passaient pas, vous avez probablement affaire à un modèle d'avion pour lequel la barre d'espace a été assignée à une autre fonction:&lt;br /&gt;
:: Autrement, vérifiez le fichier “''YourPlane''-set.xml” dans votre FGFS/data/Aircraft/YourPlane directory: SI vous trouvez une ligne ''&amp;lt;key n=&amp;quot;32&amp;quot;&amp;gt;'' c'est que cet avion utilise intentionnellement la &amp;quot;touche 32&amp;quot; (Espace) pour quelquechose d'autre que PTT. Les appareils connus pour ça en Fev 2009 sont: an2, bluebird-base, ogel, OV10.., seafireIIc, spitfireIIa, ufo. Il peut en exister d'autres.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réglage du volume du Micro et des Haut-Parleurs ==&lt;br /&gt;
&lt;br /&gt;
Enfin, nous allons régler le volume du micro et des haut-parleurs au niveau optimum, tant pour vous que pour vos partenaires joueurs.&lt;br /&gt;
&amp;lt;br /&amp;gt;''(Vous pouvez aussi faire cet essai avec le&amp;quot;f910-test&amp;quot; du chapitre 1, mais avec celui du du chapitre 2, il est plus réaliste!)''&lt;br /&gt;
&lt;br /&gt;
# Démarrez FGFS et FGCOM comme décrit dans le chapitre précédent,  COM1 doit être calée sur 910.00 et être activée.&lt;br /&gt;
# Parlez dans votre micro et vérifiez l'écho retardé. Si cela ne fonctionne pas comme prévu, reprenez les chapitres précédents.&lt;br /&gt;
# Pendant que vous parlez dans le micro, réglez votre haut-parleur de telle sorte que votre voix en écho soit compréhensible, mais pas plus basse.&lt;br /&gt;
# Maintenant, '''faites varier votre volume de micro''' de 0 à maxi. Quelque part, vous allez trouver un point où le volume d'écho de retour n'augmentera pas avec le changement du volume de micro. Laissez le volume juste un peu au dessous de ce point.&lt;br /&gt;
# Après le réglage du micro,, '''réglez le volume du haut-parleur''' au niveau qui vous convient.&lt;br /&gt;
# Vérifiez enfin l'ensemble des réglages en gardant PTT pressé pendant 10 secondes environ sans parler et/ou faire d'autres bruits dans le micro.&lt;br /&gt;
#* écouter des &amp;quot;drôles de bruits&amp;quot; survenant parfois (difficile à décrire: &amp;quot;unverified whoosh&amp;quot; et &amp;quot;air dans une conduite d'eau&amp;quot;: Quoique vous entendiez, --&amp;gt; ce n'est pas bon!!!.&lt;br /&gt;
#* La plupart de ces artefacts sonores viennent d'un booster de micro. Essayez de garder ce booster au minimum,( ou mieux supprimez le complètement, il n'est pas vraiment nécssaire)&lt;br /&gt;
#* Le réglage un peu trop haut des haut-parleurs peut aussi produire des &amp;quot;drôles de bruits&amp;quot; - essayez de réduire le volume du haut-parleur i vous ne pouvez pas résoudre le problème en ajustant micro et/ou booster.&lt;br /&gt;
#* alors, vous avez fini de régler comme il est dit dans les rubriques précédentes.&lt;br /&gt;
# Maintenant, vous êtes prêts à communiquer avec les autres, calez votre COM1 sur la fréquence désirée et vos co-players vous féliciterons pour votre belle voix!&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au fait: Il ne faut pas attendre le prochain évenement MP pour mettre tout ça au point: la prochaine fois que vous volerez, consultez votre pilots-list (FGFS-menu-bar --&amp;gt; Network --&amp;gt; Pilot List) et essayez de contacter l'un de ces pilotes (ou pilotesses) en liste via MPchat (FGFS-menu-bar --&amp;gt; network --&amp;gt; Chat) - via ce chat vous pourrez alors convenir d'une fréquence commune. En général, tous ceux qui ont FGCOM opérationnel se feront un plaisir de vous aider au test! Vous pouvez jeter un œil dans [[MPMap|MPmap]] principalement pour localiser les gens - car il faut une distance inférieure à 100nm pour avoir une liaison via MPchat.&lt;br /&gt;
&lt;br /&gt;
N.B.  &amp;quot;on Air&amp;quot; dans MP garde le PTT appuyé seulement pendant l'instant de la conversation - et jamais plus de 20 sec environ. Passé ce temps, vous serez coupé de toute façon - mais avant cette coupure drastique, vous aurez pû donner à vos co-players une chance de répondre/dire quelquechose!&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Appendice ==&lt;br /&gt;
&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCOM_for_Windows&amp;diff=78693</id>
		<title>FGCOM for Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCOM_for_Windows&amp;diff=78693"/>
		<updated>2015-01-01T18:38:59Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|FGCom_3.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{historical&lt;br /&gt;
| type   = article&lt;br /&gt;
| tense  = is&lt;br /&gt;
| text   = obsolete&lt;br /&gt;
| reason = The new version of FGCom is much more simple to use, a clean documentation is available at [[FGCom_3.0]]&lt;br /&gt;
| talk   = &lt;br /&gt;
| date   = 1 January 2015&lt;br /&gt;
| nocat  = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this wiki you will find a more detailed description of how to install and test the '''FGcom''' feature of the FlightGear Flight-Simulator ('''FGFS''') on a Windows-Operating-System. This was tested on “Windows XP Professional SP2” and “Vista Home Premium SP2”.&lt;br /&gt;
&lt;br /&gt;
Please consider this only as a supplementary to the FGCOM wiki-pages. Branch to those [[FGCom]] pages for all basic directions, setups, descriptions, etc. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;''In the following the phrase “'''left''' mouse-click” (short: “click”) means moving the mouse-pointer over the target and push the” left mouse-button”. That usually is used to mark or activate or select something. Whenever you need the so called “context-menu” in order to select an option you are asked to click with the “'''right''' mouse-button”.'' &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Download and Install FGCOM''' ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Open the Internet-Download-Page with a left mouse-click onto: http://code.google.com/p/fgcomgui/downloads/list )&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;''(For details see the &amp;quot;Project Home&amp;quot; on http://code.google.com/p/fgcomgui/, see also the &amp;quot;wiki&amp;quot;-tab on top of it)''&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Verify what target-directory is set for your &amp;quot;Downloads&amp;quot;:&lt;br /&gt;
* For '''Mozilla-Firefox''' open &amp;quot;Preferences&amp;quot; '''now'''. You find the &amp;quot;Preferences&amp;quot; in the Menu-bar under &amp;quot;Edit&amp;quot; or &amp;quot;Tools&amp;quot; &amp;lt;small&amp;gt;(Depending on version)&amp;lt;/small&amp;gt;&lt;br /&gt;
* For the '''Internet-Explorer''' the system will ask you where to download '''later''' during the downloading-process&lt;br /&gt;
&amp;lt;br /&amp;gt;In both cases the default is (or has been at installation time) your &amp;quot;'''Desktop'''&amp;quot;. We suggest to keep it there or select it via the &amp;quot;Browse&amp;quot; button.&lt;br /&gt;
* Whatever you decide to choose: '''Memorize that target-directory for later'''!!&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Start the download with a left mouse-click onto the newest entry under &amp;quot;Filename&amp;quot;&lt;br /&gt;
&amp;lt;li&amp;gt;In the appearing PopUp select the “Save”-option (a ZIP-file cannot be executed directly)&lt;br /&gt;
&amp;lt;li&amp;gt;Depending of your system-settings there may appear a download confirmation like&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;''(Please consider the following pictures as examples - they may not represent the actual data you will see!!)''&amp;lt;/small&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
::'''typical for the Mozilla Firefox'''&lt;br /&gt;
::[[File:FGcomW1.jpg|Download completeted]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
::'''typical for the Internet Explorer'''&lt;br /&gt;
::* first there appears a PopUp-window asking you where to store the file → remember: We suggested above to use &amp;quot;Desktop&amp;quot; (and memorize it!)&lt;br /&gt;
::* then there may or may not appear something like&lt;br /&gt;
::[[File:FGcomW2.jpg|Download completeted]]&lt;br /&gt;
::→ Just click onto the center button to open a directory with the ZIP-File in it&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Extract the ZIP-File&lt;br /&gt;
* If you now have a Directory with the ZIP-Folder in it: Use that one in the following&lt;br /&gt;
* If not: Look for the ZIP-Folder on your desktop ''&amp;lt;small&amp;gt;(or the directory you defined for downloading, see above)&amp;lt;/small&amp;gt;'' and use that one in the following&lt;br /&gt;
For both versions: Double clicking onto the '''ZIP-file''' will open an explorer with the '''unzipped folder''' in it&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Move that folder onto your desktop: &amp;lt;small&amp;gt;''(remember: We are now placing the Directory onto the Desktop - not the ZIP-file with the &amp;quot;.zip&amp;quot;-extension!)''&amp;lt;/small&amp;gt;&lt;br /&gt;
* Locate your mouse-pointer over the folder-icon&lt;br /&gt;
* push the right-mouse-button and keep it pushed while moving the pointer to an empty spot on your desktop&lt;br /&gt;
* release the mouse-butten and select &amp;quot;copy&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;close the windows used for the download&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;You should now have 2 additional icons on your desktop&lt;br /&gt;
* both with the same name&lt;br /&gt;
* but one having the &amp;quot;.zip&amp;quot; at the end of it.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;You may delete that one with the &amp;quot;'''.zip'''&amp;quot; at the end &amp;lt;small&amp;gt;(Mouse over it --&amp;gt; right mouse click --&amp;gt; select &amp;quot;delete&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Useing the FGComGUI.exe''' ==&lt;br /&gt;
=== How to start ===&lt;br /&gt;
You may start the FGComGUI, either &lt;br /&gt;
* '''out of the Folder''' (the one '''without''' the &amp;quot;.zip&amp;quot; at the end, described above)&lt;br /&gt;
** by a mouse-double-click onto that folder and then a mouse-double-click onto the &amp;quot;FGComGUI.exe&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''or by creating a &amp;quot;Start-Icon&amp;quot;''' and using that for all future:&lt;br /&gt;
** mouse-double-click onto the folder ('''without''' that &amp;quot;.zip&amp;quot;, see above) opens it&lt;br /&gt;
** move the mouse-pointer over &amp;quot;FGComGUI.exe&amp;quot;&lt;br /&gt;
** push the '''right'''-mouse-button and keep it pushed while moving the pointer onto an empty place on your desktop &lt;br /&gt;
** release the mouse-button and select &amp;quot;'''link'''&amp;quot;&lt;br /&gt;
** --&amp;gt; from now on you can start the FGComGUI always just by a mouse-double-click onto that newly created icon&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:FGComGUI-910-Test.jpg]]&lt;br /&gt;
* You can move the GUI somewhere else on your desktop &amp;lt;small&amp;gt;(mouse over it, push and hold the left mouse-button, move to your desire, release button)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Testing ===&lt;br /&gt;
* With the down-arrow at the right side of the upper field you can select &amp;quot;Normal Mode&amp;quot; or &amp;quot;Test Mode&amp;quot; (the latter is usually called the &amp;quot;-f910 Test&amp;quot;)&lt;br /&gt;
** '''the last 2 output-lines (&amp;quot;Call 0..&amp;quot;) will only appear after you switched to the &amp;quot;FGComEcho Test Mode&amp;quot;''' (as long as FGFS is not started!)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''1. Without FGFS:''' Speak into your microphone and your words should be echoed back with a short delay. e.g. say &amp;quot;one&amp;quot; - and you should notice that the &amp;quot;one&amp;quot; is returned after you finished speaking it.&lt;br /&gt;
** '''in case of trouble''' continue with Standard Debugging at chapter: [[FGCOM Testing#Error: &amp;quot;TYPO&amp;quot; (mistyped command or option) or Network-problem:|Error: &amp;quot;TYPO&amp;quot; (mistyped command or option) or Network-problem:]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''2. With FGFS:''' After you started the FGFS&lt;br /&gt;
** Stop the FGComGUI (Click onto the &amp;quot;Stop&amp;quot;-button)&lt;br /&gt;
** switch to the &amp;quot;Normal Mode&amp;quot; &amp;lt;small&amp;gt;''(remember: The down-arrow at the right side of the top input-field''&amp;lt;/small&amp;gt;&lt;br /&gt;
** click the &amp;quot;Start&amp;quot;-button.&lt;br /&gt;
** From then on the FGComGui follows the FGFS Radio-settings.&lt;br /&gt;
** Set the COM1-Radio to the test-frequency 910.00 MHz&lt;br /&gt;
** repeat testing as described under 1. -- '''but this time''' you have to use the PTT-button when speaking! &amp;lt;small&amp;gt;(PTT = &amp;quot;PushToTalk&amp;quot;, usually the space-bar on your Keyboard (key 32).&lt;br /&gt;
** If that does not work try first to use one of the very Standard airplanes (e.g. the c172), where you can be sure that the Space-bar is not reassigned e.g. for bombing or other unusual functions).&amp;lt;/small&amp;gt;&lt;br /&gt;
** If it still does not work see the troubleshooting under [[FGCOM Testing#Test the FGCOM together with the FlightGear Simulator|Test the FGCOM together with the FlightGear Simulator]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* If after a lengthy period of &amp;quot;on-line-duties&amp;quot; the co-players tell you that the connection sound weak or disturbed try to stop and restart the FGComGUI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Setting Options ===&lt;br /&gt;
* For a detailed description of all options click onto &amp;quot;Help&amp;quot; in the FGComGUI-Menu-bar&lt;br /&gt;
* Open the Options-Menu by clicking onto &amp;quot;Settings&amp;quot; --&amp;gt; &amp;quot;Configure..&amp;quot;:&lt;br /&gt;
[[File:FGComGUI-910-Config.jpg]]&lt;br /&gt;
* also here you can select the &amp;quot;Normal&amp;quot; or the &amp;quot;Test&amp;quot; Mode &amp;lt;small&amp;gt;(Click onto downward arrow at the right of the first input-field)&amp;lt;/small&amp;gt;&lt;br /&gt;
* set your &amp;quot;input&amp;quot; (Microphone) and &amp;quot;Output&amp;quot; (Loudspeaker) volumes as desired -- '''but be aware that these are only affecting the FGCOM behavior internally, for a basic setting of your system-audio-controls see the general setup &amp;quot;[[FGCOM Testing#Adjust the Microphone and Speaker volumes|Adjust the Microphone and Speaker volumes]]&amp;quot; in the wiki &amp;quot;FGCOM_Testing&amp;quot;.&lt;br /&gt;
* select a different &amp;quot;Binary&amp;quot; if e.g. you are testing different versions of the FGCom&lt;br /&gt;
* same with the &amp;quot;Server&amp;quot;: Define a different one only if you know there is another one available for you!&lt;br /&gt;
* change the &amp;quot;Port&amp;quot;=16661 only when advised so by the troubleshooting procedures&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Please continue with the chapters:&lt;br /&gt;
* [[FGCOM Testing#Test the FGCOM together with the FlightGear Simulator|Test the FGCOM together with the FlightGear Simulator]]&lt;br /&gt;
* [[FGCOM Testing#Adjust the Microphone and Speaker volumes|Adjust the Microphone and Speaker volumes]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Creating an extra batch-file for unique environments ===&lt;br /&gt;
With the now available version of the FGComGUI the need for using an extra batch-file for special options and or environments has been drastically reduced. So it will not be described here any more in detail. If you still need to use it, you can do it by using the &amp;quot;fgcom.exe&amp;quot; within the above downloaded folder. You may also see the design-pages http://code.google.com/p/fgcomgui/.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== '''If after all you still have problems:''' ==&lt;br /&gt;
When reporting that problem, please directly state:&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Your Operating-System (and if you know: your Sound-card)&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Did you read and follow this FGCOM-WINDOWS-wiki?&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Could you record and playback on your PC, without using FGFS and/or FGCOM?&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Did both (with/without FGFS) -f910 tests work? If possible send a copy of the cmd-window when FGCOM has failed&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Tell us: '''What''' happened '''When''' and '''How''' did it show up&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
thanks in advance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCOM_Testing&amp;diff=78692</id>
		<title>FGCOM Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCOM_Testing&amp;diff=78692"/>
		<updated>2015-01-01T18:38:24Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|FGCom_3.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{historical&lt;br /&gt;
| type   = article&lt;br /&gt;
| tense  = is&lt;br /&gt;
| text   = obsolete&lt;br /&gt;
| reason = The new version of FGCom is much more simple to use, a clean documentation is available at [[FGCom_3.0]]&lt;br /&gt;
| talk   = &lt;br /&gt;
| date   = 1 January 2015&lt;br /&gt;
| nocat  = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;FGCOM_Testing&amp;quot; is intended to support FGCOM-users in debugging their FGCOM-System directly after installation, but also for those who want to verify the basic functionality or want to readjust the audio-system. It covers the following 4 areas in more detail:&lt;br /&gt;
# Testing of the standalone FGCOM Installation&lt;br /&gt;
# Testing the FGCOM together with the FlightGear Simulator&lt;br /&gt;
# Adjusting the Microphone and Speaker volumes&amp;lt;/ol&amp;gt;&lt;br /&gt;
# In the [[#Appendix|Appendix]] you will find supporting information&lt;br /&gt;
&lt;br /&gt;
Of course the prerequisite for the following is that you have already installed the FGCOM (see the [[FGCOM|FGCOM-main-page]]) !&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''The Initial test of the standalone FGCOM Installation --&amp;gt; the so called &amp;quot;-f910 Test&amp;quot;''' ==&lt;br /&gt;
&lt;br /&gt;
Prior to executing the following [[Command line|command]] open a command-window and change into the directory, into which the FGCom was installed. This path will then be shown shown in the command window, followed by a &amp;quot;$&amp;quot;-sign. Enter the following &amp;quot;fgcom&amp;quot;-command with the required/wanted options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;fgcom -Sfgcom.flightgear.org -f910&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
For MAC you may use:&lt;br /&gt;
/Applications/FlightGear.app/Contents/MacOS/fgcom -Sfgcom01.flightgear.org -f910&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: '''fgcom'''&lt;br /&gt;
:: the command ''(in case you installed by using the [[Scripted Compilation on Linux Debian/Ubuntu|download_and_compile.sh script]] for LINUX-Systems you have to replace the command &amp;quot;fgcom&amp;quot; with: &amp;quot;sh ./run_fgcom.sh&amp;quot;. Then the complete command would be: &amp;quot;'''sh ./run_fgcom.sh -f910'''&amp;quot;)''&lt;br /&gt;
: '''-Sfgcom.flightgear.org'''&lt;br /&gt;
:: one of two FGCOM-servers! Since Oct.2012 there are 2 FGCOM-servers available:&lt;br /&gt;
::# The original: '''fgcom.flightgear.org'''&lt;br /&gt;
::# A new one: '''fgcom01.flightgear.org'''&lt;br /&gt;
::Due to technicalities it is not possible to speak from 1 server to the other - so try one and change if you notice that your friends are using the other.&lt;br /&gt;
&lt;br /&gt;
::So insert the server-address after a &amp;quot;-S&amp;quot; (watch: The &amp;quot;S&amp;quot; must be a capital!): &lt;br /&gt;
: '''-f910'''&lt;br /&gt;
:: the only available frequency for echo-tests&lt;br /&gt;
: '''optional'''&lt;br /&gt;
:: In case your audiosystem is rather weak, you may try the options:&lt;br /&gt;
:: ''-i and/or -o'': i=input(microphone) o=output(Speaker), both values between 0.0 and 1.0 (e.g.: -i0.9)&lt;br /&gt;
&lt;br /&gt;
You do not need any Login-Passwords and/or User-Names !!!&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all available options see [[FGCOM#Commandline Parameters|Commandline Parameters]] - in the following we will only show the minimal required options:&lt;br /&gt;
&amp;lt;pre&amp;gt;That should give you the following return:&lt;br /&gt;
 fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
 (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
 Version 1.2.2 build 163M&lt;br /&gt;
 Using iaxclient library Version SVN 163M&lt;br /&gt;
 &lt;br /&gt;
 Successfully parsed commandline options.&lt;br /&gt;
 Reading list of airports...done.&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Call 0 accepted&lt;br /&gt;
 Call 0 answered&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speak into your microphone and your words should be echoed back with a short delay. e.g. say &amp;quot;one&amp;quot; - and you should notice that the &amp;quot;one&amp;quot; is returned '''after''' you finished speaking it.&lt;br /&gt;
&amp;lt;br /&amp;gt;'''If that was OK'''&lt;br /&gt;
* type &amp;lt;nowiki&amp;gt;ctrl-C&amp;lt;/nowiki&amp;gt; to exit this Quick-Test command-window&lt;br /&gt;
* and continue with the next chapter: [[#Test the FGCOM together with the FlightGear Simulator|Test the FGCOM together with the FlightGear Simulator]].&lt;br /&gt;
&amp;lt;br /&amp;gt;'''In case of trouble''' check the following most probable errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Error: FGCOM does not start because of OpenAL-version: ===&lt;br /&gt;
If you see a message from the Operating-System similar to the following Windows message:&lt;br /&gt;
 &amp;quot;The procedure entry point alcCaptureSamples could not be located in the dynamic link libary Open AL32.dll.&amp;quot;&lt;br /&gt;
Then download and install the latest OpenAL software from: http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx&lt;br /&gt;
: for windows: '''alinst.zip'''&lt;br /&gt;
: for Linux: '''openal-soft-1.10.622'''&lt;br /&gt;
: for OSX: '''OpenALInstaller'''&lt;br /&gt;
''Be aware that the versions and also the names of the modules may change -- so please always check also the description of the module at the right side on that http-page!''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Error: Incorrect Home-Directory specified for FGCOM: ===&lt;br /&gt;
&lt;br /&gt;
typical for '''Windows'''-Systems:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   C:\Users\localuser&amp;gt;cd \Programme\Fxx&lt;br /&gt;
    The System cannot find the given path.&lt;br /&gt;
  &lt;br /&gt;
    C:\Users\emmerich&amp;gt;fgcom.exe -Sfgcom.flightgear.org -f910&lt;br /&gt;
    The command &amp;quot;fgcom.exe&amp;quot; is either mistyped or could not be found.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
typical for '''Linux'''-Systems:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 /home/emmerich/Desktop/Link to fgcom: line 1: cd: /home/emmerich/fgf: No such file or directory&lt;br /&gt;
 sh: Can't open run_fgcom.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The system is right: I gave it (for testing) a wrong directory!&lt;br /&gt;
* You better correct yours prior to retrying!&lt;br /&gt;
&lt;br /&gt;
=== Error: &amp;quot;TYPO&amp;quot; (mistyped command or option) or Network-problem: ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
(c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
Version 1.2.2 build 223M&lt;br /&gt;
Using iaxclient library Version SVN 223M&lt;br /&gt;
&lt;br /&gt;
Successfully parsed command-line options.&lt;br /&gt;
Reading list of airports...done.&lt;br /&gt;
Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
after some time there may appear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
''' Call 0 timed out.'''&lt;br /&gt;
'''Timeout for a non-existent session.  Dropping'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'''Call 0 accepted'''&lt;br /&gt;
'''Call 0 answered'''&lt;br /&gt;
'''The service is unavailable. Please wait until fgcom Version 3 is online. Thank you.'''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
most likely you may have&lt;br /&gt;
&lt;br /&gt;
* defined a wrong Frequency to use or you may have forgotten to define one. You '''must define the option -f910'''&lt;br /&gt;
* forgotten a &amp;quot;-&amp;quot;sign in front of an option&lt;br /&gt;
* typed a small &amp;quot;-sfgcom...&amp;quot; instead the capital &amp;quot;-Sfgcom...&amp;quot;&lt;br /&gt;
* mistyped the Server-Name or defined a wrong FGCOM-Server&lt;br /&gt;
* or you may have created your own unique &amp;quot;typo&amp;quot; (lol).&lt;br /&gt;
* or it may indicate a '''Network-Problem''':&lt;br /&gt;
** Check your network by using some other application (e.g. your file browser to look up an usually not used http-address - if you use a recently used address the answer might be out of your locally saved copies - even so the network is not connected! (e.g. use &amp;quot;http://mainz.de/&amp;quot; to test)&lt;br /&gt;
* If you use a firewall (what you should - out of general safety reasons!) make sure the ports below are enabled for your PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 2005	UDP	Vcp-Stream&lt;br /&gt;
 4569	UDP	FGCom  VoIP, (Inter-Asterisk eXchange)&lt;br /&gt;
 5000	UDP	in/out Multiplayer    (VPN Sftw.)&lt;br /&gt;
 16661	UDP	FGCom listening to FGFS, usually on localhost only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error: &amp;quot;Phone-book&amp;quot; and/or &amp;quot;positions&amp;quot; cannot be found and/or are corrupted: ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
(c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
Version 1.2.2 build 223M&lt;br /&gt;
Using iaxclient library Version SVN 223M&lt;br /&gt;
&lt;br /&gt;
Successfully parsed commandline options.&lt;br /&gt;
'''Reading list of airports...Cannot open /home/emmerich/fgfs/install/fgcom/fgcom/positions.txt'''&lt;br /&gt;
'''fopen: No such file or directory'''&lt;br /&gt;
'''Stopping service.'''&lt;br /&gt;
(etc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* check the directory in which the FGCOM is installed for the files &amp;quot;phonebook.txt&amp;quot; and &amp;quot;positions.txt&amp;quot;. These are normal text-files in which you can add missing information with a standard editor, for Windows you should use the &amp;quot;WordPad&amp;quot; (not the &amp;quot;Editor&amp;quot;). Replacing a complete &amp;quot;Windows&amp;quot; position.txt with a &amp;quot;Linux&amp;quot; one can lead to errors, although lines of both files may be exchanged/added.&lt;br /&gt;
&lt;br /&gt;
=== Error: The Sound-Card is not fully compatible: ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
(c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
Version 1.2.2 build 223M&lt;br /&gt;
Using iaxclient library Version SVN 223M&lt;br /&gt;
 &lt;br /&gt;
'''AL lib: alsa.c:564: set access failed: Invalid argument'''&lt;br /&gt;
Successfully parsed commandline options.&lt;br /&gt;
Reading list of airports...done.&lt;br /&gt;
Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
Call 0 accepted&lt;br /&gt;
Call 0 answered&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Continue checking/adjusting:&lt;br /&gt;
** If everything else works out OK forget this problem (but be aware: The Audio might not function perfectly!)&lt;br /&gt;
** otherwise check the Internet for new drivers for your sound-card or other fixes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test the FGCOM together with the FlightGear Simulator ==&lt;br /&gt;
&lt;br /&gt;
In the forgoing chapter you checked the FGCOM as a standalone application. Now we will test whether the '''FGFS''' (FlightGear Flight-Simulator) itself and the FGCOM work together, inclusive the PTT-button (PushToTalk, usually the space-bar) and the internal connections via the assigned ports.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
For this test&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;start the FGFS with any plane at any airport you like&lt;br /&gt;
&amp;lt;li&amp;gt;start the FGCOM (usually it does not matter which one starts first - but in case of trouble you should try to start in this sequence!)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;click in the FGFS menu-bar onto &amp;quot;Equipment&amp;quot; --&amp;gt; &amp;quot;Radio Settings&amp;quot;&lt;br /&gt;
* into the field &amp;quot;COM1&amp;quot; enter the frequency &amp;quot;910.00&amp;quot; then click &amp;quot;Apply&amp;quot; (and &amp;quot;OK&amp;quot; if you want to close the Pop-up.)&lt;br /&gt;
* '''Ensure the FGFS is the active window''': if something does not work out as expected click with the mouse somewhere into the Main-FGFS-window (that will activate the window) and then retry the last action(s)!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;if the FGCom Command-window initiates, but does not respond to any COMM-Frequency setting:&lt;br /&gt;
: This indicates a pure Port/Interface problem between the FGCOM and the FGFS.&lt;br /&gt;
:: Try to enforce (the usually predefined) port as option. i.e. add the option “-p16661” to the FGCom Start-Command&lt;br /&gt;
:: check the FGrun extended Options → Input/output “generic=socket..”: The port there must be the same as for the FGCom, i.e. 16661 (if it was not intentionally changed by you)&lt;br /&gt;
:You may try to change the interface-port to e.g. UPD 5004. In this case you have to watch 3 places:&lt;br /&gt;
::add the option “-p5004” to the FGCom start-command&lt;br /&gt;
::also change the value in the FGrun (“Wizard”) → Advanced Options → Input/output to 5004 '''or''' add the option &amp;quot;--generic=socket,out,10,localhost,5004,udp,fgcom&amp;quot; to your FGFS start-command.&lt;br /&gt;
::and you may have to tell your Firewall to allow port UDP 5004&lt;br /&gt;
:anyhow make sure all these 3 places contain the same Port-number !!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Push the PTT ''(normally the Space-Bar (if you reassigned the PTT to another key - use that one!))'' and speak into your microphone:&lt;br /&gt;
&amp;quot;your words should be echoed back with a short delay. e.g. say &amp;quot;one&amp;quot; - and you should notice that the &amp;quot;one&amp;quot; is returned after you finished speaking it.&lt;br /&gt;
::'''if you heard''' that echo:&lt;br /&gt;
::keeping the PTT pressed for about 3 sec and watch for a possible start of &amp;quot;funny noises&amp;quot;.&lt;br /&gt;
:::if those occur continue with chapter [[#Adjust the Microphone and Speaker volumes|Adjust the Microphone and Speaker volumes]]&lt;br /&gt;
:::otherwise switch your COM1 back to the frequency wanted --&amp;gt; continue with the next numbered item.&lt;br /&gt;
::'''if you did not hear''' the echoed return&lt;br /&gt;
:::Test your PTT: Watch the FGCOM messages in the FGCOM-Window:&lt;br /&gt;
:::When pushing the PTT they should switch between ''[SPEAK] unmute mic'' followed by ''[LISTEN] mute mic''&lt;br /&gt;
:::If they did not switch you probably use an airplane model that has reassigned the Space-bar to another function:&lt;br /&gt;
:: Otherwise check the “''YourPlane''-set.xml” file in your FGFS/data/Aircraft/YourPlane directory: If you find a line ''&amp;lt;key n=&amp;quot;32&amp;quot;&amp;gt;'' then this plane is intentionally using &amp;quot;key 32&amp;quot; (Space) for something other than the PTT. Known planes that do that as of Feb. 2009 are: an2, bluebird-base, ogel, OV10.., seafireIIc, spitfireIIa, ufo. There could be others.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adjust the Microphone and Speaker volumes ==&lt;br /&gt;
&lt;br /&gt;
Finally we will adjust the Microphone and Loudspeaker volumes to an optimum, as well for yourself as also for your fellow players.&lt;br /&gt;
&amp;lt;br /&amp;gt;''(You could perform this test also with the &amp;quot;f910-test&amp;quot; in chapter 1, but with the test-setup in chapter 2 it becomes more realistic!)''&lt;br /&gt;
&lt;br /&gt;
# Start your FGFS and FGCOM as described in the forgoing chapter(s), the COM1 must be switched to 910.00 and be the active one.&lt;br /&gt;
# Talk into your Microphone and verify the delayed feedback. If this does not function as described before, repeat the forgoing chapters.&lt;br /&gt;
# While talking into the microphone adjust your loudspeaker so that your echoed voice is understandable, but not any louder than required.&lt;br /&gt;
# Now '''adjust your microphone''' volume from 0 to full. Somewhere in between you will find a spot at which the returned echo-volume will not increase according to the microphone-volume changes. Leave the volume just a little below that point.&lt;br /&gt;
# After the microphone is set, '''adjust the loudspeaker''' volume to a level you prefer.&lt;br /&gt;
# Finally verify both settings by keeping the PTT pressed for about 10 seconds without talking and/or feeding any other sounds into the microphone.&lt;br /&gt;
#* listen for &amp;quot;funny noises&amp;quot; building up over time (hard to describe: some &amp;quot;unverified whoosh&amp;quot; and maybe additional even some sound like &amp;quot;air in a water-pipe&amp;quot; - actually: Whenever you hear anything --&amp;gt; it is no good!!!.&lt;br /&gt;
#* Mostly these &amp;quot;build up sounds with time&amp;quot; are due to an active microphone booster. Try to keep that booster to an absolute minimum (even better try to switch it off completely if not really needed!) while instead increasing the microphone volume&lt;br /&gt;
#* but also a rather high adjusted speaker-volume may cause such &amp;quot;funny noises&amp;quot; - try reducing the loudspeaker volume if you cannot solve the problem by adjusting the microphone and/or booster.&lt;br /&gt;
#* then you might readjust as described in the forgoing items.&lt;br /&gt;
# Now you are ready to talk to others, e.g. set your COM1 to the desired frequency and let your co-players praise you for that &amp;quot;absolute brilliant voice you have&amp;quot;!&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By the way: You do not have to wait for the next MP-event to check this real life: When flying next time, look into your pilots-list (FGFS-menu-bar --&amp;gt; Network --&amp;gt; Pilot List) and try to contact one of those pilots (or pilotesses) listed there via MPchat (FGFS-menu-bar --&amp;gt; network --&amp;gt; Chat) - via this chat you then can define what frequency to use - to be sure you tune to the same. In general all of those having FGCOM operational will gladly help you testing! You may have to look in [[MPMap|MPmap]] first to find where there are some people - because you need a distance less than 100 nm to get into contact via MPchat.&lt;br /&gt;
&lt;br /&gt;
PLEASE: While &amp;quot;on Air&amp;quot; in MP keep the PTT pressed only while actually talking - and never longer than about 20 sec. After some time you will be timed out anyhow - but even before that drastic cutoff you might give your co-players a chance to reply/say something!&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Appendix ==&lt;br /&gt;
&lt;br /&gt;
=== Tips and Tricks ===&lt;br /&gt;
==== Typical Problems ====&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Microphone not plugged or Mute-Key activated: It sounds stupid – but most technical problems are due to such “cannot bee”s – please: Always spend the 2 sec. to check this first! Also some Microphones do have an own &amp;quot;Mute-Key&amp;quot;, which sometimes is not obviously to see - check your handbook if your Mic has such a switch.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Plug/Jack connections are often the cause for trouble: Try to re-seat your plugs and (if possible) try to use another jack (after cleaning the plug!).&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Multiple Microphones and/or Loudspeakers plugged to your PC: Be aware that most PC's do have Jack-mechanisms that prevent more than one input and/or output per PC. Try using only one (at best the major one - mostly at the back of the PC)&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;If you changed your Mic/Loudspeaker setup or did plug them into anther jack, it is advisable to restart your PC – just to make sure the system knows what you did! (For Windows-Systems this is usually not necessary - but: It cannot hurt to reassure!)&lt;br /&gt;
* If you use USB-headsets you might first try to get FGCOM running with standard Input/output devices – and go back to USB after that. If nothing else it helps to narrow down into the trouble-area!&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Check that none of your Sound-system Inputs/Outputs are set to “Mute”: &lt;br /&gt;
* For basic systems you might use a '''right''' mouse-click onto the loudspeaker-symbol in the upper or lower position of you screen.&lt;br /&gt;
** For WIndows-Systems: If that symbol is not there:&lt;br /&gt;
*** '''for Vista''': Left mouse-click onto “Start”, type “SndVol.exe” into the line just above the Start-button&lt;br /&gt;
*** '''for XP:''' Left mouse-click onto “Start” then on “Run”, type “SndVol32.exe” into the appearing input-field.&lt;br /&gt;
* For some “highly sophisticated (and expensive)” sound-cards you might need to use their unique descriptions. &lt;br /&gt;
* FGCOM does not require a “better” sound-card like e.g. for Music or so – it is all Telephone/TCP-IP talking only – (except some people I know like to play country-music while pushing the PTT – that sounds nice - but still is not really high fidelity!)&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Always make sure that you can record and playback something you talk into the microphone with your basic system tools, completely independent of the FlightGear and/or the “OpenAL”. (See your handbooks for testing your unique system and/or the chapter [[#Where to find the volume controls|Where to find the volume controls]])&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;If the connection is noisy or poor quality:&lt;br /&gt;
* First retest your sound-setup as described [[#Adjust the Microphone and Speaker volumes|above]] &lt;br /&gt;
* try routing your Mic/Speaker cables away from electro-smog (Fans, AC/DC modules, motors, lamps, etc.) &lt;br /&gt;
* even placing your sound-card into another plug-position may help&lt;br /&gt;
* a (digital) USB-headset may help avoiding noise and feedback problems&lt;br /&gt;
* if stereomix is enabled on your sound-card - try to disable it&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Most PC's are set up that you need to keep your PTT (PushToTalk) button pushed as long as you talk. But there are also sound-cards which open for talk with the first push/release and close it with the second push/release. Test your system how it works (may be while trying to record something or while testing according to the [[Adjust the Microphone and Speaker volumes|above]]).&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;If the FGFS sound-volume does not match your FGCOM-volume: &lt;br /&gt;
* After starting the FGFS click onto “File” in the FGFS menu-bar, then onto “Sound Configuration”: Adjust the upper slide-control to a proper volume. Be aware that this setting will get lost when you exit via “X” - always exit via “File” → “Exit/Quit”.&lt;br /&gt;
* To the opposite you may adjust the volume of your FGCOM by changing the “-o” and/or “-i” options to values between 0 and 1 (see the [[#The Initial test of the standalone FGCOM Installation --&amp;gt; the so called &amp;quot;-f910 Test&amp;quot;|FGOM command at the beginning of this wiki-page]]).&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;If you believe you did everything right - but still you cannot establish a connection: Use MPchat to ask which FGCOM-server the other('s) are using! Since Oct.2012 there are 2 FGCOM-servers available:&lt;br /&gt;
# The original: '''fgcom.flightgear.org'''&lt;br /&gt;
# A new one: '''fgcom01.flightgear.org''' &lt;br /&gt;
Due to technicalities it is not possible to speak from 1 server to the other - so try one and change if you notice that your friends are using the other.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
Try to keep in mind: FGCOM is proven to work! So if there are problems look also for surrounding PC-features like unique hardware, software, etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== High Quality Sound-Cards ====&lt;br /&gt;
Especially “high quality” sound-cards may get you into trouble, because e.g.: &lt;br /&gt;
* they may monitor how long the microphone was not used and switch it off after some timespan (without you noticing it)&lt;br /&gt;
* during reboot or restart they may initiate with values out of a special profile instead of reusing the “last used” values&lt;br /&gt;
* or they may set some slide controls to “0” (especially microphone sliders)&lt;br /&gt;
* some do switch the microphone only after pushing '''and''' releasing the space-bar – while we want to change the microphone-status only while the space-bar is pushed down! (This may not affect a PTT asigned to a joystick)&amp;lt;br /&amp;gt;&lt;br /&gt;
So know your standard settings and check if they have changed (without your written permission!)&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==== Linux ALSA Sound ====&lt;br /&gt;
(Reference [[Linux software audio mixing with FlightGear]]) &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check your Home-directory (“~/” or $HOME) for a file &amp;quot;'''.alsoftrc'''&amp;quot;&lt;br /&gt;
(Remember that the “show hidden files” must be enabled!)&lt;br /&gt;
&lt;br /&gt;
===== If using Creative Labs' OpenAL library (or older OpenAL version)  =====&lt;br /&gt;
Check if you are using the old Creative Labs OpenAL library (or old version) which uses the &amp;quot;.openalrc&amp;quot; configuration file.  If so, you can put something like this within &amp;quot;.openalrc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
$HOME/.openalrc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(define devices '(alsa))&lt;br /&gt;
(define alsa-out-device &amp;quot;plug:dmix&amp;quot;)&lt;br /&gt;
(device alsa-in-device &amp;quot;plug:dsnoop&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== If using OpenAL Soft (or newer OpenAL version) =====&lt;br /&gt;
It is more likely users of more recent Linux distributions are using this newer OpenAL Soft package, instead of the previously mentioned older Create Labs' OpenAL.  (Hence, the likely rational for renaming the default configuration file to something other than the more common previous naming format.)&lt;br /&gt;
&lt;br /&gt;
Copy either the be /etc/openal/alsoft.conf, /usr/share/doc/openal-1.15.1-r2/alsoftrc.sample.bz2, or create a new $HOME/.alsoftrc file and insert the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
format = AL_FORMAT_STEREO16&lt;br /&gt;
cf_level = 1&lt;br /&gt;
drivers = alsa&lt;br /&gt;
[alsa]&lt;br /&gt;
device = plug:dmix&lt;br /&gt;
capture = plug:dsnoop&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[NOTE: format is now &amp;quot;sample-type = uint16&amp;quot;, and cf_level would appear not needed for typical users, or only desired for headphone users.]&lt;br /&gt;
&lt;br /&gt;
The system wide OpenAL-soft configuration file may be /etc/openal/alsoft.conf or similar. It usually contains comments describing all possible configuration options.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Linux ALSA Audiophiles avoiding Dmix =====&lt;br /&gt;
For audiophiles using Linux ALSA and with their custom $HOME/.asoundrc file preventing DMix usage, make sure you have both specified &amp;quot;device = plug:dmix&amp;quot; as well as &amp;quot;capture = plug:dsnoop&amp;quot;.  Per ALSA's page, &amp;quot;dsnoop is the equivalent of the dmix plugin, but for recording sound.&amp;quot;  Without specifying using dsnoop for the capture device alongside your $HOME/.asoundrc file preventing DMix usage, you will likely only get silence played back when usage FGCom.  FGCom is not working at this point, as the sound device is likely still locked by your $HOME/.asoundrc file and only recording silence or playing back silence during the echo test!&lt;br /&gt;
&lt;br /&gt;
===== Using ALSA Custom &amp;quot;plug:&amp;quot; Filters =====&lt;br /&gt;
The OpenAL Soft (or the newer version of OpenAL) $HOME/.alsoftrc file also accepts using other $HOME/.asoundrc &amp;quot;plug:&amp;quot; incanatations, such as sections containing Dmix - alsa.opensrc.org's &amp;quot;pcm.dmixs51&amp;quot; customization for using DMix with 5.1 Surround Sound, and called as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ aplay -D &amp;quot;plug:dmixs51&amp;quot; Some_PCM_WAV_File.wav &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$HOME/.alsoftrc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;device = plug:dmixs51&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just remember to also uncomment layout_surround51, and note the likely fact FlightGear is still only using Stereo sound (or two channel audio) and is only set here for an example!&lt;br /&gt;
&lt;br /&gt;
==== USB-Headsets-Problems with Linux (Ubuntu) ====&lt;br /&gt;
The following is based/verified on Ubuntu, but should be similar on other distributions:&lt;br /&gt;
* If Recording is ok '''and''' the f910-Test looks alright in the window, '''but''' there is no delayed response:&lt;br /&gt;
** type &amp;quot;cat /proc/asound/modules&amp;quot; into the command window, e.g.:&lt;br /&gt;
 $ cat /proc/asound/modules&lt;br /&gt;
  0 snd_usb_audio&lt;br /&gt;
  1 snd_hda_intel&lt;br /&gt;
** If that displays multiple devices (as shown in the above list, which is the result '''after''' doing the following!), then the USB-Headset should be in the &amp;quot;0&amp;quot; position. If this is not the case, notice the name of your USB-device and edit it. e.g.: &lt;br /&gt;
 &amp;quot;sudo gedit /etc/modprobe.d/alsa-base.conf&amp;quot;&lt;br /&gt;
** add as last line into that file, e.g.:&lt;br /&gt;
 options snd_usb_audio index=0&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==== Festival ====&lt;br /&gt;
* If you use '''Festival''' (the Text/Speech AddOn)&lt;br /&gt;
** and&lt;br /&gt;
*** it works OK when running alone&lt;br /&gt;
*** but runs int error &amp;quot;can't open /dev/dsp&amp;quot; when running with FGFS (and/or other applications) &lt;br /&gt;
** then add a TextFile &amp;quot;.festivalrc&amp;quot; into your home-directory, containing:&lt;br /&gt;
 (Parameter.set 'Audio_Command &amp;quot;aplay -q -c 1 -t raw -f s16 -r $SR $FILE&amp;quot;)&lt;br /&gt;
 (Parameter.set 'Audio_Method 'Audio_Command)&lt;br /&gt;
&amp;lt;/ol&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Where to find the volume controls ===&lt;br /&gt;
Please be aware that FGCOM is used on many very different PC's, Notebooks, etc. under very different Operating-Systems and with very different Sound-Cards. So the following basic concepts may not fit your actual system 100%. In addition you may have to check your actual System and/or unique Sound-Card manuals!&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;li&amp;gt;Define the audio-devices to use:'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|width=300 align=&amp;quot;center&amp;quot;|'''for Linux:'''&lt;br /&gt;
|width=300 align=&amp;quot;center&amp;quot;|'''for Windows:'''&lt;br /&gt;
|width=300 align=&amp;quot;center&amp;quot;|'''for MAC:'''&lt;br /&gt;
|-&lt;br /&gt;
|width=300|Enter [[Command line|command]]: ''gnome-sound-properties''&lt;br /&gt;
[[File:FGCOM-U-Prefs.jpg|thumb|center|250px|test devices]]&lt;br /&gt;
For each task you can open a selection-menu (on the right the downward arrow) in order to select the wanted device. I suggest to first try setting all to &amp;quot;Autodetect&amp;quot;. Then click onto the green &amp;quot;Test&amp;quot;-button. If you need to make changes, reboot the PC after each change!&lt;br /&gt;
|width=300|&amp;lt;br /&amp;gt;Click right onto the audio-icon → Preferences → Audio-tab:&lt;br /&gt;
[[File:FGCOM-W-Audio.jpg|thumb|center|250px|set devices]]&lt;br /&gt;
See the two Tabs (in the picture) '''Audio''' and '''Stimme''' (voice), you need to change in both!&lt;br /&gt;
|width=300|Open with Menu --&amp;gt; System-preferences:&lt;br /&gt;
[[File:FGCOM-OVol.jpg|thumb|center|250px|set devices]]&lt;br /&gt;
Switch between &amp;quot;Output&amp;quot; and &amp;quot;Input&amp;quot; and select the wanted device('s) in the field &amp;quot;Chose a device...&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
If you did change these device-settings, it is a good idea to reboot the PC and retest the settings prior to continue.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;li&amp;gt;Adjust volumes and switch boosters''' (for the first loudspeaker-adjustments you should switch off the Mic.!)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=300|Click right on Audio-Icon → Open Vol. Ctrl:&lt;br /&gt;
[[File:FGCOM-UVolCtrl.jpg|thumb|center|250px|Volume Control]]&lt;br /&gt;
The amount of the slider-controls vary depending on the capabilities of the sound-card or the usage of USB-headsets.&lt;br /&gt;
&lt;br /&gt;
The “booster” is available under “Switches” (you may have to activate it first under &amp;quot;Preferences&amp;quot;).&lt;br /&gt;
|width=300|Click right on the Audio-Icon → Volume-Ctrl. (or type command:  sndvol32)&lt;br /&gt;
[[File:FGCOM-W-VolCtrl.jpg|thumb|center|250px|set devices]]&lt;br /&gt;
In this example the card overrides the std. Microsoft “Mic.” with “Rear Pink In”. Be aware of such changes caused by usually “high expense” devices!&lt;br /&gt;
The “booster” is available under options.&lt;br /&gt;
|width=300|Use the above shown window to adjust.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;li&amp;gt;Verify the basic Mic/Loudspeaker functionality:'''&lt;br /&gt;
&amp;lt;br /&amp;gt;Use the volume-control-panels to enable the microphone for this test. Then:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=300|Open the recorder with the [[Command line|command]]: ''gnome-sound-recorder''&lt;br /&gt;
[[File:FGCOM-U-sndctrl.jpg|thumb|center|250px|Recording-test]]&lt;br /&gt;
* Record&lt;br /&gt;
* Stop&lt;br /&gt;
* Play&lt;br /&gt;
|width|Open the Recorder with [[Command line|command]]: ''sndrec32''&lt;br /&gt;
[[File:FGCOM-W-sndrec.jpg|thumb|center|250px|Recording-test]]&lt;br /&gt;
* Start recording (click red point)&lt;br /&gt;
* talk some words into the mic&lt;br /&gt;
* stop (rectangel)&lt;br /&gt;
* spool back ( &amp;lt; &amp;lt; )&lt;br /&gt;
* listen  (&amp;gt;)&lt;br /&gt;
|width=300|There is no basic recording program available with OSX.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:FGCom]]&lt;br /&gt;
&lt;br /&gt;
[[de:FGCOM Testing]]&lt;br /&gt;
[[fr:FGCOM Testing]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Fr/FGCom&amp;diff=78691</id>
		<title>Fr/FGCom</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Fr/FGCom&amp;diff=78691"/>
		<updated>2015-01-01T18:37:27Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|FGCom_3.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{historical&lt;br /&gt;
| type   = article&lt;br /&gt;
| tense  = is&lt;br /&gt;
| text   = obsolete&lt;br /&gt;
| reason = The new version of FGCom is much more simple to use, a clean documentation is available at [[FGCom_3.0]]&lt;br /&gt;
| talk   = &lt;br /&gt;
| date   = 1 January 2015&lt;br /&gt;
| nocat  = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
| title                  = FGCom&lt;br /&gt;
| logo                   = &lt;br /&gt;
| image                  = &lt;br /&gt;
| alt                    = &lt;br /&gt;
| developedby            = Holger Wirtz, Martin Spott, Csaba Halasz&lt;br /&gt;
| initialrelease         = &lt;br /&gt;
| latestrelease          = &lt;br /&gt;
| writtenin              = &lt;br /&gt;
| os                     = &lt;br /&gt;
| platform               = &lt;br /&gt;
| developmentstatus      = Actif (2007-)&lt;br /&gt;
| type                   = &lt;br /&gt;
| license                = [[GNU General Public License]]&lt;br /&gt;
| website                = http://sourceforge.net/projects/fgcom/&lt;br /&gt;
}}&lt;br /&gt;
'''FGCom''' est un logiciel complémentaire à [[FlightGear]]. Avec FGCom (et son infrastructure), FlightGear dispose à présent d'un système de communication vocal en temps réel qui enrichit ses possibilités, et tout particulièrement pour les fonctions multijoueurs ([[Howto: Multiplayer|multiplayer]]), comme :&lt;br /&gt;
&lt;br /&gt;
* voler en groupe, voir [http://forum.flightgear.org/viewforum.php?f=10 le forum des évènements multijoueurs] ;&lt;br /&gt;
** inviter des amis à faire une visite guidée de votre zone préférée ou réaliser des “Fly In's” ;&lt;br /&gt;
** faire des entraînements militaires comme les [[Howto: Air-Air Refueling|“ravitaillements en vol”]], des “Dog fights”, des “vols d'escorte ”, etc ;&lt;br /&gt;
* offrir des services supplémentaires à un aéroport, comme [[Air traffic control|le contrôle aérien]], [[Vehicules|les chasse-neige et pushbacks]], des [[FlightGear Race|courses de vol]], etc ;&lt;br /&gt;
* avoir un [[Dual control|entraînement au vol en temps réel]] (par exemple avec un pilote à Hongkong, un moniteur à Sydney), faire du [[Soaring|planeur]], demander de l'aide en ligne pendant le vol ou bien parler avec quelqu'un des caractéristiques d'un avion ;&lt;br /&gt;
* ou simplement s'asseoir dans un cockpit en Allemagne pendant que l'on visite San Francisco dans un [[Cessna C172|C172]], discuter de vive voix avec un Texan dans un avion ([[Lockheed Constellation|le Super Constellation]]) dont je rêvais quand j'étais gosse et en même temps, obtenir des informations d'un gars de Nouvelle-Zélande (ça doit être une île magnifique mais est-elle réellement habitée ? Il a dit &amp;quot;Oui&amp;quot; !!) ;&lt;br /&gt;
* et plus encore !&lt;br /&gt;
&lt;br /&gt;
Vous pouvez même l'utiliser dans les modèles d'avions sans radio. Utilisez simplement le [[menu]] standard  FlightGear (&amp;lt;tt&amp;gt;Equipement &amp;gt; Paramètres radio&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Dans le futur, FGCom s'améliorera encore et on aura sûrement la possibilité d'avoir une fonction de “parole vers texte” afin d'intégrer les routines des textes automatiques du contrôle aérien dans FlightGear.&lt;br /&gt;
&lt;br /&gt;
== Installation du Logiciel  ==&lt;br /&gt;
=== Conditions ===&lt;br /&gt;
==== Matériels requis ====&lt;br /&gt;
Si vous êtes satisfaits des temps de réponse et d'utilisation de votre installation actuelle de FlightGear, l'installation de FGCom n'y changera rien. Si votre installation est un peu juste, vous pourriez observer des délais lorsque de nombreux avions sont chargés dans les aéroports très fréquentés. Vous pouvez surveiller/vérifier ainsi de tels &amp;quot;short-time overload&amp;quot; dans la fenêtre de commande de FlightGear.&lt;br /&gt;
&lt;br /&gt;
Pour plus de détails, voir [http://www.flightgear.org/hardwarereq.html les conditions requises pour le matériel et les pilotes].&lt;br /&gt;
&lt;br /&gt;
Bien sûr, il vous faut aussi disposer d'une connexion Internet pour cette communication vocale temps-réel et mondiale.&lt;br /&gt;
&lt;br /&gt;
==== Conditions requises pour le logiciel ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot; width=&amp;quot;90px&amp;quot; |'''FlightGear''' ||L'installation de base du simulateur de vol [[FlightGear]] . Il doit être installé avant FGCom ''(sauf avec la version Linux &amp;quot;complète Git&amp;quot; qui peut installer en même temps FGCom et FlightGear)''.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''Multijoueurs'''||[[Howto: Multiplayer|“Le mode multijoueurs”]] n'est pas un programme installable mais une fonction intégrée à FGFS. Comme son nom l'indique, elle permet la communication entre plusieurs joueurs via une fonction de clavardage (par clavier pour l'instant - dorénavant également avec cette interface vocale : FGCom).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bon à avoir ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot; width=&amp;quot;90px&amp;quot; | '''FGrun'''|| Ce système de contrôle du lancement de FlightGear ([[FlightGear Launch Control]], aussi connu sous le nom de FG Wizard), est un &amp;quot;frontal graphique&amp;quot; de démarrage de FGFS. Il facilite le démarrage de FGFS avec toutes les options possibles. Dans quelques distributions récentes, il fait déjà partie du paquetage de base de FGFS.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''MPMap'''||[[MPMap]] est une application 100% web basée sur Google Maps, ne nécessitant aucune installation, sauf un navigateur Web. Avec MPMap, vous pouvez voir tous les avions des utilisateurs du monde entier, sur une carte routière, sur des images satellites ou les deux à la fois. On y trouve la plupart des aéroports, les aides à la navigation et les informations météo. On peut donc s'en servir pour planifier un vol sans avoir FGFS démarré ni même installé. Mais il nécessite une connexion permanente à Internet - ainsi, vous pouvez faire votre préparation de vol partout où il y a un PC connecté à Internet.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''SkyVector'''||[http://skyvector.com/ SkyVector] est une application autonome utilisant un navigateur Internet. C'est un fantastique outil de préparation de vol, comparable sous certains aspects à &amp;quot;MPMap&amp;quot; - mais utilisant une vraie carte aéronautique (&amp;quot;Par sections&amp;quot;). Vous pouvez y planifier vos routes graphiquement, voir l'icône &amp;quot;Help Video&amp;quot; dans la barre de menus supérieure.&lt;br /&gt;
Mais il n'est pas relié directement à FGFS, MPMap ou au mode multijoueurs - et ne couvre que le territoire américain.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''Atlas'''||[[Atlas]] affiche la position actuelle de votre aéronef dans une carte du paysage en même temps que les informations de navigation. Il tire ses données directement des bases de données de FGFS installées. Vous n'avez donc pas besoin de connexion à Internet.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''Festival'''||[http://www.flightgear.org/Docs/getstart/getstartch5.html#x10-1080005.7 Festival] est un système TTS (Text To Speech) qui peut convertir tout texte écrit et affiché dans FGFS (ATC, clavardage, etc.) en son pour le diffuser dans vos haut-parleurs. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Installation de FGCom ===&lt;br /&gt;
==== Installer sur Linux ====&lt;br /&gt;
Pour les systèmes Linux, trois moyens pour installer :&lt;br /&gt;
&lt;br /&gt;
# '''Télécharger depuis le “Distributor” (Debian, Ubuntu, Red Hat, Suse, etc.).''' &lt;br /&gt;
#* '''Avantage:''' C'est le moyen le plus facile qui assure maintenance et services pour ce paquet, ainsi que toutes les aides automatiques dans un laps de temps raisonnable.&lt;br /&gt;
#* '''Inconvénient:''' La disponibilité de ces paquets étant récente, la plupart des Distributors ne couvre pas toutes les versions FGFS. A notre connaissance, aucun Distributor n'avait de paquet FGCom disponible en Mars 2009.&lt;br /&gt;
#* '''Installation:''' Suivez la procédure habituelle de votre distributeur sur la façon d'installer des paquets supplémentaires.&lt;br /&gt;
# '''Installer un “Git complet”''' &lt;br /&gt;
#* '''Avantage:''' C'est le moyen le plus facile, et en une seule étape, tous les modules pré-requis sont installés (FGFS, FGrun, FGcom, PLIB, OSG, Simgear, AT). Tout peut être ajouté ou enlevé sans déranger quoique ce soit (Libraries, Menus, Structures, etc.). Il a été testé sur plusieurs systèmes Ubuntu et Debian.&lt;br /&gt;
#* '''Inconvénient:''' Pas de maintenance automatique disponible. La manipulation est un peu différente de celle, guidée, du menu standard.&lt;br /&gt;
#* '''Installation:''' [[Scripted Compilation on Linux Debian/Ubuntu]]&lt;br /&gt;
# '''Compilation locale:'''&lt;br /&gt;
#* '''Avantage:''' Après une installation réussie, c'est intégré dans le système comme un paquet du distributeur.&lt;br /&gt;
#* '''Inconvénient:''' Pas de maintenance automatique disponible. Donc l'utilisateur doit avoir quelques connaissances de base de son système et de ses possibilités.&lt;br /&gt;
#* '''Installation:''' [http://code.google.com/p/fgcomgui/wiki/Linux_Installation instructions]&lt;br /&gt;
&lt;br /&gt;
La suite avec [[FGCOM Testing]].&lt;br /&gt;
&lt;br /&gt;
==== Installer sur Mac ====&lt;br /&gt;
&lt;br /&gt;
'''MacFlightGear 1.9.1/2.6.0'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Vous pouvez télécharger l'application &amp;quot;MacFlightGear&amp;quot;- sur [http://www.flightgear.org/Downloads/binary.shtml#mac FlightGear download-center]. La  version actuelle 2.6.0  contient FGCom et marche pour OSX &amp;gt;= 10.5. (avec les OSX versions &amp;lt; 10.5 vous terminerez avec un message générique &amp;quot;bus error&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==== Installer sur Windows ====&lt;br /&gt;
Veuillez utiliser la decription d'installation disponible sur [[FGCOM for Windows]].&lt;br /&gt;
&lt;br /&gt;
=== Essai ===&lt;br /&gt;
Pendant l'essai, vous testerez/ajusterez: &lt;br /&gt;
# les fonctions de base FGCom sans FlightGear&lt;br /&gt;
# FGCom en même temps que FlightGear&lt;br /&gt;
# le système micro-haut-parleurs&lt;br /&gt;
&lt;br /&gt;
Pour ces tests veuillez vous référer à [[FGCOM Testing]].&lt;br /&gt;
&lt;br /&gt;
=== Test de fonctionnement &amp;amp; briefing de l'utilisateur ===&lt;br /&gt;
La pratique montre que la coordination entre FGCom et FlightGear se fait mieux si FlightGear est démarré en premier. Ainsi, nous commencerons le test avec un environnement de vol installé.&lt;br /&gt;
&lt;br /&gt;
==== Démarrer FlightGear ====&lt;br /&gt;
Nous suggérons [[FGRun]] pour définir les installations demandées et/ou proposées, afin d'éviter des erreurs typo. Si vous gardez la “Show command line” active (comparez  l'item 3 suivant), vous aurez aussi l'inscription correcte pour toute les options de commande(au cas ou vous voudriez plus tard partir de la ligne de commande et/ou du script). A l'avenir, vous n'aurez qu'à désigner ces commandes  qui actionnent   FGCom:&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas d'icone disponible pour démarrer FGrun, alors, démarrez FlightGear manuallement:&lt;br /&gt;
&lt;br /&gt;
# Ouvrez une  [[Command line|fenêtre de commande]]&lt;br /&gt;
# Allez dans le répertoire dans lequel FGFS a été installé&lt;br /&gt;
# Exécutez les commandes suivantes, ou quelque chose de similaire &lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Linux&lt;br /&gt;
|fgrun&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Linux Git:&lt;br /&gt;
|cd ~/fgfs&amp;lt;br /&amp;gt;sh ./run_fgrun.sh &lt;br /&gt;
|-	&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Windows&lt;br /&gt;
|C:&amp;lt;br /&amp;gt;cd 'C:\Program Files\Flightgear\win32'&amp;lt;br /&amp;gt;fgrun.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Attendez la fenêtre du programme pour commencer, et ensuite précisez:&lt;br /&gt;
&lt;br /&gt;
# Commencez par '''choisir un avion'''. Pour ce premier essai, nous suggérons le [[Cessna C172]]P, ainsi, nous nous comprendrons par la suite. Considérez aussi que certains dessineurs d' avions réattribuant  des touches de clavier (p.ex. la barre d'espace”),  vous pouvez ne pas avoir par exemple la touche PTT (“Push To Talk”- Appuyez pour parler-) disponible. Voir[[FGCOM#Trucs et Astuces]].&amp;lt;br /&amp;gt;→ Click &amp;quot;Next&amp;quot;.&lt;br /&gt;
# Comme '''lieu de départ,''' précisez [[airport]] KPAO (Palo Alto) piste 13, ainsi, nous verrons chacun les mêmes messages dans les rapports . Une autre raison est que KPAO a les scènes de base par défaut, et donc est valable pour tout le monde. &amp;lt;br /&amp;gt;→ Click &amp;quot;suivant&amp;quot;.[[File:FGrun_base.jpg|thumb|Basic &amp;amp; multiplayer options]]&lt;br /&gt;
# Précisez '''Multiplayer options:''' (voir [[Howto: Multiplayer]] pour les détails).&lt;br /&gt;
#* “AI models” doit être activé pour voir tout le trafic&lt;br /&gt;
#* “Multiplayer” doit être activé&lt;br /&gt;
#*tapez “'''mpserverXX.flightgear.org'''” dans le champ “Hostname:”, remplacez “XX” avec le numéro de serveur le plus proche de chez vous- selectionnez le dans http://pigeond.net/flightgear/mpstatus/. En fait, peu importe le serveur que vous choisissez, prenez celui qui vous donne les meilleurs temps de réponse. &lt;br /&gt;
#* Insérez votre “Callsign:” (max. 7 caractères)&lt;br /&gt;
#* précisez les ports “in” et “out” avec le standard “5000”&lt;br /&gt;
#* Avec  &amp;quot;Load/Save as&amp;quot; vous pouvez vous faire une liste de données pour différents aéroports.&amp;lt;br /&amp;gt;→ Click &amp;quot;Advanced&amp;quot;.[[File:FGrun_IP.jpg|thumb|Advanced: Initial Position]]&lt;br /&gt;
# Dans “'''Advanced Options'''” enregistrez les sections suivantes (click/sélectionnez les dans la colonne de G):&lt;br /&gt;
#* General: Ces installations étaient définies avant. Sélectionnez “Control”, si nécessaire sélectionnez votre mode d'entrée  (Joystick, Clavier, ou  Souris).&lt;br /&gt;
#* Features: “AI Traffic” sera déja activé&lt;br /&gt;
#* Position initiale: Vous pouvez choisir ici une position “starting/parking”  en dehors de la piste. Vous éviterez ainsi de partir avant d'autres joueurs, car la plupart d'entre eux se placent juste au bout de la piste. Vous pouvez vérifier les positions dans MPMap: ''(voir le prochain item)''&lt;br /&gt;
#** ''Attention que les données définies ici chevauchent celles déja pré-définies (p.ex. un aéroport et une piste). Ainsi '''n'oubliez pas''' de changer/effacer les positions si par hasard vous vouliez partir d'un autre aéroport'' Naturellement, vous pouvez  save/reload les installations pour différents aéroports, voir &amp;quot;Load/save as&amp;quot; sur la fenêtre principale.[[File:MPmap.jpg|thumb|[[MPMap]]]]&lt;br /&gt;
# Ouvrez '''[http://mpmap01.flightgear.org MPMap]'''&lt;br /&gt;
#* si le panneau de contrôle n'est pas visible, cliquez dans &amp;quot;FGMap | mpserver01:5000 | pilots: 7”&lt;br /&gt;
#* click sur “nav”&lt;br /&gt;
#* décochez toutes les options sauf  “apt code”&lt;br /&gt;
#* tapez “KPAO” dans “Navaids lookup”&lt;br /&gt;
#* cliquez ENTER ou click sur le symbole &amp;quot;lunettes&amp;quot;&lt;br /&gt;
#* click sur la ligne “Airport KPAO Palo Alto Arpt Of Santa Clara Co”&lt;br /&gt;
#* maintenant, vous pouvez/devez prendre en charge votre plan de vol en cliquant sur le biseau dans le haut du coin droit après le nom  de l'aéroport et analyser toutes les données  &amp;quot;info&amp;quot;, &amp;quot;metar&amp;quot;, &amp;quot;atc&amp;quot;, et &amp;quot;liens&amp;quot;&lt;br /&gt;
#* ensuite  zoomer sur l' airport&lt;br /&gt;
#* mettez la souris sur le “Parking lot” désiré, et lisez cette position en haut du coin droit de l'écran&lt;br /&gt;
#* tapez ces coordonnées  longitude/latitude dans le champ au dessous ainsi que le cap voulu  de l'avion pendant le parking[[File:FGrun_net.jpg|thumb|Advanced: Network]]&lt;br /&gt;
# '''Réseau:''' Vous avez déja défini ces données dans  la page de base, mais au cas ou vous auriez des problèmes de réseau (à cause de l'encombrement), vous pouvez entrer ici votre adresse IP actuelle. &lt;br /&gt;
#* ATTENTION: Lorsque vous sauvez ces données, et que vous les rechargez encore, FGRun pourrait remplacer le N° IP donné par le nom du PC . A partir de mars 2009 vous devez remplacer ça par le N° IP. N'agissez ainsi que si vous êtes obligés- D'abord essayez en n'ajoutant rien entre les &amp;quot;,,&amp;quot;. Gardez &amp;quot;in,10,,5000&amp;quot;.&lt;br /&gt;
#* Si vous avez besoin de '''donner la seule IP-Address''', ouvrez une [[Command line|fenêtre de commande]] et tapez&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | OS&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |taper&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | cap.&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | valeurs renvoyées&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Linux &lt;br /&gt;
|ifconfig &lt;br /&gt;
|eth0&lt;br /&gt;
|Link encap:Ethernet  HWaddr 00:1d:92:80:a6:ab&amp;lt;br /&amp;gt;inet addr:'''192.168.178.23'''  Bcast:192.168.178.255  Mask:255.255.255.0 &lt;br /&gt;
|-	&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Windows&lt;br /&gt;
|ipconfig /all &lt;br /&gt;
|et &lt;br /&gt;
 Adresse physique. . . . . . : 00-16-E6-40-AB-BF&lt;br /&gt;
&amp;lt;br /&amp;gt;DHCP activé. . . . . . . . . . : oui &lt;br /&gt;
&amp;lt;br /&amp;gt;Autoconfiguration activé . . . : oui &lt;br /&gt;
&amp;lt;br /&amp;gt;IP-Adresse. . . . . . . . . . . . : '''192.168.178.20''' &lt;br /&gt;
&amp;lt;br /&amp;gt;Subnetzmaske. . . . . . . . . . . : 255.255.255.0 &lt;br /&gt;
&amp;lt;br /&amp;gt;IP-Adresse. . . . . . . . . . . . : fe80::216:e6ff:fe40:abbf%4&lt;br /&gt;
|}&lt;br /&gt;
#* '''192.168.178.23''' (or '''20''') est le nombre que vous aurez à entrer entre deux virgules. Attention vérifiez deux fois que vous avez tapé correctement “.” et “,”!![[File:FGrun_IO.jpg|thumb|Avancé: Entrée/Sortie]]&lt;br /&gt;
# '''Input/Output:''' &lt;br /&gt;
#* Vous avez besoin d'une ligne &amp;quot;générique&amp;quot;, comme montré,  parce qu'elle définit l'interface entre FlightGear et FGCom'''.&lt;br /&gt;
#** Pour entrer une nouvelle ligne: Commencez par sélectionner “generic” dans le champ “Protocol”. Ensuite, appuyez sur  “New” et précisez le reste comme montré.&lt;br /&gt;
#** Éditer une ligne existante: cliquez celle qui existe, puis changez comme demandé.&lt;br /&gt;
#** Éffacer une ligne existante: Cliquez la ligne à effacer, puis tapez effacer  &amp;quot;Delete&amp;quot;&lt;br /&gt;
# '''Avionique:''' précisons:		&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Nav1:&lt;br /&gt;
| 114.10 &lt;br /&gt;
| San Jose VOR&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Nav2: &lt;br /&gt;
| 115.80 &lt;br /&gt;
| SF VOR&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | ADF: &lt;br /&gt;
| 379 &lt;br /&gt;
| Brijj, balise à SF&lt;br /&gt;
|}&lt;br /&gt;
#* Et activez DME dans Nav1&lt;br /&gt;
#* Il ny a pas de champ pour entrer COM-radios, donc rappelez-vous en pour les entrer manuellement plus tard:&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Com1&lt;br /&gt;
| 118.60 &lt;br /&gt;
| Paolo Alto&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Com2 &lt;br /&gt;
| 120.50	&lt;br /&gt;
| San Francisco&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# '''Propriétés:''' &lt;br /&gt;
#* Ici, vous pouvez mettre n'importe quelle spécifications pour FGFS. Voir p.ex  e.g.: &amp;lt;tt&amp;gt;File &amp;gt; Browse Internal Properties&amp;lt;/tt&amp;gt; dans le [[menu]]FlightGear.[[File:FGrun_prop.jpg|thumb|Avancé: Propriétés]]&lt;br /&gt;
#* Personnellement, je n'aime pas que mon avion commence à rouler sans me prévenir. Donc, je mets le frein de parking par défaut dès le début.&lt;br /&gt;
#** Entrer une nouvelle ligne: Touchez “New” et tapez votre lien.&lt;br /&gt;
#** Éditer une ligne: Soyez sûr de cliquer d'abord sur l'item existant et éditez cette “Propriété”&lt;br /&gt;
#** Effacer une ligne: Clicquez sur la ligne, puis sur Effacer  &amp;quot;Delete&amp;quot;&lt;br /&gt;
# Touchez  “OK” → “Run” et vous voyez FlightGear se lancer. Si la dimension de votre écran le permet, vous pouvez pousser sur le côté la &amp;quot;Fenêtre de Rapport FGFS&amp;quot;  et surveiller le chargement des autres modèles multi-player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Démarrer FGcom====&lt;br /&gt;
Ouvrez une [[Command line|fenêtre de commande]] et basculez dans le répertoire ou est FGCom  (probablement le même que FlightGear) et démarrez FGcom. N'utilisez pas d'autre option que celle de l'adresse du serveur “-Sfgcom.flightgear.org”:&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Linux &lt;br /&gt;
|fgcom -Sfgcom.flightgear.org &lt;br /&gt;
|&amp;quot;-Sfgcom...&amp;quot; avec majuscule &amp;quot;S&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Linux Git&lt;br /&gt;
| cd ~/fgfs&amp;lt;br /&amp;gt;sh ./run_fgcom.sh &lt;br /&gt;
| pour “Git complete” inutile de préciser l'adresse du serveur, elle est incluse dans le fichier.&lt;br /&gt;
|-	&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Windows &lt;br /&gt;
|cd 'C:\Program Files\Flightgear\win32'&amp;lt;br /&amp;gt;fgcom.exe -Sfgcom.flightgear.org &lt;br /&gt;
|&amp;quot;-Sfgcom...&amp;quot; avec majuscule &amp;quot;S&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Linux Git&lt;br /&gt;
| cd ~/fgfs&amp;lt;br /&amp;gt;sh ./run_fgcom.sh &lt;br /&gt;
| pour “Git complete” inutile de préciser l'adresse du serveur, elle est incluse dans le fichier.&lt;br /&gt;
|-	&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Windows &lt;br /&gt;
|cd 'C:\Program Files\Flightgear\win32'&amp;lt;br /&amp;gt;fgcom.exe -Sfgcom.flightgear.org &lt;br /&gt;
|&amp;quot;-Sfgcom...&amp;quot; avec majuscule &amp;quot;S&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
Pour le test suivant, mettez cette fenêtre de commande quelque part, où vous pourrez y accéder &lt;br /&gt;
&lt;br /&gt;
La première réponse doit être::&lt;br /&gt;
   /fgcom - une communication radio basée sur VoIP avec IAX/Asterisque &lt;br /&gt;
   (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt; &lt;br /&gt;
   Version 1.2.2 build 206M &lt;br /&gt;
   Using iaxclient library Version SVN 206M &lt;br /&gt;
   &lt;br /&gt;
   options de ligne de commande analysées avec succès . &lt;br /&gt;
   lecture des listes d'aéroports ...effectuée. &lt;br /&gt;
   initialisation IAX client comme invité:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
Si l'impression jusqu'à cette ligne est différente, revenir en arrière au chapitre [[FGCOM#Test the basic function|Test de la fonction de base]]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;300&amp;quot;| ||&lt;br /&gt;
|-&lt;br /&gt;
|1) Si, à cause d'unu vol antérieur, COM1 éttait sur une autre fréquence que 118.600 (p.ex. sur 119.650) vous verrez les 2 lignes suivantes ajoutées à l'initialisation de la fenêtre FGcom: ||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 fréquence selectionnée : 119.650 &lt;br /&gt;
 Appel rejeté by remote&lt;br /&gt;
|&lt;br /&gt;
Au lieu de  “119.650” il y aura la dernière fréquence utilisée. Dans ce cas, la source de la plus proche ATC-Freq. 119.650 est à plus de 50km de la position actuelle de votre avion, et ainsi, FGCom refuse la connection. Si la dernière fréquence utilisée avait été de moins de 50 km vous obtiendrez un indication du gentre&lt;br /&gt;
|-&lt;br /&gt;
|2) Entrez 118.60 dans COM1 (celle de Palo Alto):&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Selected frequence: 118.600 &lt;br /&gt;
 Appel suspendu 0 &lt;br /&gt;
 Airport Palo Alto (KPAO Tour à 118.600 MHz) est dans le secteur ( 0.6 km) &lt;br /&gt;
 Appel 0 accepté &lt;br /&gt;
 Appel 0 demandé &lt;br /&gt;
 Airport Palo Alto (KPAO Tour à 118.600 MHz) est dans le secteur ( 0.6 km) &lt;br /&gt;
&lt;br /&gt;
|Cette dernière ligne sera répétée selon le temps que vous avez précisé dans la commande “Input/Output”  “--generic=socket,in,'''10''',,5500,tcp”, vous pouvez changer cette valeur plus tard selon votre préférence.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br /&amp;gt;3) Appuyez sur votre  PTT (Appuyer Pour Parler sur la barre d'espace; ou avec le joystick si disponible):&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 [SPEAK] micro activé, haut-parleur muet &lt;br /&gt;
 [LISTEN] micro muet, haut-parleur actif&lt;br /&gt;
 [SPEAK] unmute mic, mute speaker &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
|Vous ne pouvez parler aux autres que dans l'intervalle “SPEAK” et “LISTEN”.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br /&amp;gt;Maintenant, installons/vérifions les autres radios:&lt;br /&gt;
* COM2 = 120.50	San Francisco&lt;br /&gt;
* NAV1  = 114.10	San Jose&lt;br /&gt;
* NAV2  = 115.80	San Francisco&lt;br /&gt;
4) Appuyer Upper+Space, branchera sur la prochaîne radio: '''NAV1'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Radio-Selectionnée: NAV1 &lt;br /&gt;
 Fréquence selectionnée: 114.100 &lt;br /&gt;
 appel suspendu 0 &lt;br /&gt;
 Appel rejeté by remote &lt;br /&gt;
 [LISTEN] micro coupé,  speaker actif&lt;br /&gt;
|Comparez avec l'indication de NAV2 2 pas plus loin: quelquechose ne va pas – et ce n'est pas de votre faute: bien que ce NAV soit valide, (voir ...FGFS/data/Airports/apt.dat.gz), il manque dans le listing de FGCom J'ai rencontré ce problème plusieurs foisaussi bien pour les aéroports que pour les VOR. Si cela arrive sur votre aéroport favori, vous pouvez ajouter ces données manquantes avec un éditeur de texte. Mais avant de changer, sauvez l'original quelque part- en cas!&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br /&amp;gt;5) Appuyer Upper+Space branche une fois de plus '''COM2'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Radio-Select: COM2 &lt;br /&gt;
 Selected frequency: 120.500 &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) à portée (29.1 km) &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered&lt;br /&gt;
|tout paraît OK: San Francisco is à 29 km plus loin&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;watch the “km” instead of miles!&amp;lt;br /&amp;gt;'''10 km''' = '''6.2137 mi'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br /&amp;gt;6) Appuyer Upper+Space une fois de plus branche '''NAV2'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Radio-Select: NAV2 &lt;br /&gt;
 Selected frequency: 115.800 &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Airport SAN FRANCISCO VOR-DME (SFO VOR at 115.800 MHz) est à portée (28.5 km) &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
|Et oui,: la SF VOR est juste un peu plus près que l'aéroport(center)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br /&amp;gt;7) Appuyez Upper+Space encore, ramène à '''COM1''':&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Radio-Select: COM1 &lt;br /&gt;
 Selected frequency: 118.600 &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Airport Palo Alto (KPAO Tour à 118.600 MHz) distance ( 0.6 km) &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;br /&amp;gt;8) Démarrons et continuons le vol au 130°:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Airport Palo Alto (KPAO Tour at 118.600 MHz) est à portée ( 0.4 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) est à portée ( 0.2 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) est à portée ( 0.7 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) est à portée ( 1.3 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) est à portée ( 1.9 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) est à portée ( 2.4 km) &lt;br /&gt;
|remarquez que vous venez d'abord plus près (du centre de l'aéroport) après, on s'éloigne&lt;br /&gt;
|-		&lt;br /&gt;
|&amp;lt;br /&amp;gt;9) Branchez sur '''COM2''' (San Francisco) et observez: &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Radio-Select: COM2 &lt;br /&gt;
 Selected frequency: 120.500 &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) est à portée (37.8 km) &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) est à portée (38.6 km) &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) est à portée (39.5 km) &lt;br /&gt;
 .. &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) est à portée (49.7 km) &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Radio-Select: NAV2 &lt;br /&gt;
 Selected frequency: 115.800 &lt;br /&gt;
 Call rejected by remote &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
|Cela veut dire: aux environs de 50KM nous allons être hors de portée, et l'activité de COM2 va cesser. Remarquez aussi que NAV2 devient inactif, parce que à peu près au même moment, la portée permise est dépassée!&lt;br /&gt;
|}&lt;br /&gt;
10) Vous pouvez maintenant faire demi-tour et voir l'opposé: à la même distance environ, les deux redeviendront actives ( automatiquement si vous ne changez pas les données).&lt;br /&gt;
&lt;br /&gt;
Si vous arrivez ici sans problèmes (techniques) votre FGCom est pleinement fonctionnelle. Amusez-vous bien avec!.&lt;br /&gt;
&lt;br /&gt;
=== Utilisation de FGCom ===&lt;br /&gt;
Il y a trois types d'utilisation de  FGCom:&lt;br /&gt;
* '''Utilisation normale aux aéroorts:''' p.ex. Vous programmez votre radio à l'aéroport, comme d'habitude. Ensuite, vous entrez les procédures habituelles soit ATC-(clavier)- (soit  &amp;quot;'&amp;quot; (UpperCase#) et/ou le Chat-Menu). De plus, vous pouvez communiquer avec n'importe qui dans un rayon de 50 km (environ 30 miles) autour de l'aéroport,  des amis, un opérateur en place FGCOM-ATC/Twr-Operateur, les services d'aéroport, etc.. Remarquez que depuis avril 2009 seulement très peu d'avions utilisent  FGCOM comme  ATC (Air Trafic Control) donc, vous pourrez toujours utiliser les procédures ATC-Chat &amp;quot;keyboard&amp;quot;- pour annoncer départs/arrivées/taxiing etc. (Nous espérons que tout cela changera dans le futur!)&lt;br /&gt;
* Les fréquences Air-Air '''AirToAir frequencies (122.75 et 123.45)''' sont idéales pour Multiplayer. Il n'y a pas de limitation de portée et pas encore trop d'encombrement). Ainsi, lorsque vous volez, vous pouvez entrer 122.75 pour ceux qui veulent être en communication avec vous (ou l'inverse). Quand il y a beaucout de  &amp;quot;talk&amp;quot; sur 122.75 vous pouvez convenir avec votre partenaire de basculer sur 123.45 - et de revenir  à 122.75 ensuite. Depuis avril 2009  122.75 et 123.45 sont déja opérationnels&lt;br /&gt;
* En fin de compte, vous pouvez manipuler les tables de fréquences (positions.txt dans votre FGFS/FGCOM répertoire local) and '''créer une fréquence propre à certains évenements''', p.ex École de pilotage à un aéroport avec plusieurs groupes d'élèves. Naturellement, ce sont des manipulations locales sur votre PC, que vous devez faire en accord avec vos partenaires à l'avance.&lt;br /&gt;
&lt;br /&gt;
===  Informations complémentaires ===&lt;br /&gt;
==== Trucs et Astuces====&lt;br /&gt;
===== Aéroport manquant dans FGCom: =====&lt;br /&gt;
Au cas ou votre aéroport favori n'apparaitrait pas dans FGCOM (fenêtre de commande), bien que vous le cherchiez dans votre COMM, vous pouvez l'ajouter à votre fichier de donnée “'''positions.txt'''” idans votre répertoire fgcom. Voyez p.ex. la ligne &lt;br /&gt;
   KSFO,120.500,37.616630,-122.385478,TWR,San Francisco Intl&lt;br /&gt;
Vous pouvez ajouter  des lignes pour autant de localisations que vous voulez p.ex: (respectez les virgules de séparation)&lt;br /&gt;
 apt-code = DUMY   (une icone pour le code de votre aéroport manquant)&lt;br /&gt;
 KHz      = prenez dans votre “FGFS-home/data/Airports/apt.dat.gz”&lt;br /&gt;
            ou prenez en juste un dont vous êtes sûr que vous n'en avez pas besoin dans le  FGFS réel&lt;br /&gt;
            (remarquez que plusieurs aaéroports  (far apart) emploient la même fréquence!&lt;br /&gt;
 long/lat = prenez dans Mpmap (ou Google Map)&lt;br /&gt;
 type     = xxx&lt;br /&gt;
 name     = xxx&lt;br /&gt;
''(Naturellement, seul votre PC personnel connaît ces modifications et ce, jusqu'à la prochaine mise à jour des données!)''&lt;br /&gt;
&lt;br /&gt;
===== Edition des fichiers de données FGCOM=====&lt;br /&gt;
Si vou éditez des fichiers-texte (p.ex. des Radio-listings) ou xml-files, vous pouvez ne pas voir les fins de lignes quand vous utilisez votre éditeur standard.&lt;br /&gt;
* Pour windows vous pouvez utiliser &amp;quot;WordPad&amp;quot;&lt;br /&gt;
* Pour Linux le &amp;quot;gedit&amp;quot; travaille bien&lt;br /&gt;
&lt;br /&gt;
===== Copier/Imprimer cette page Wiki''' =====&lt;br /&gt;
Si vous tenez absolument à avoir une copie locale sur votre PC, ou besoin d'une copie impriméeI:&lt;br /&gt;
&lt;br /&gt;
* pour copier:&lt;br /&gt;
** selectionner dans le menu du navigateur: &amp;quot;File&amp;quot; --&amp;gt; &amp;quot;Save Page as.. &amp;quot;&lt;br /&gt;
* pour imprimer:&lt;br /&gt;
** allez à [http://wiki.flightgear.org/index.php?title=FGCOM&amp;amp;printable=yes version imprimable].&lt;br /&gt;
** Enfin, je suggère: Menu --&amp;gt; File --&amp;gt; &amp;quot;Page Setup&amp;quot;: Set to &amp;quot;Landscape&amp;quot; --&amp;gt; &amp;quot;Apply&amp;quot;&lt;br /&gt;
** avant d'imprimer je recommande: Menu --&amp;gt; File --&amp;gt; &amp;quot;Print Preview&amp;quot; et vous verrez ces nombreuses pages!&lt;br /&gt;
** Si vous voulez vraiment gâcher du papier: Menu --&amp;gt; &amp;quot;File&amp;quot; --&amp;gt; &amp;quot;Print&amp;quot; ça imprimera sur votre propre imprimante&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Compatibilité du joystick entre les systèmes opérationnels: =====&lt;br /&gt;
{{Principal article|Joystick}}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser pour le Joystick les mêmes définitions dans tous les systèmes opérationnels. Mais vous pouvez changer les numéros assignés-votre vendeur de Joystyck a pu déja le faire pour vous. Enregistrez p.ex. (Unix, Mac, Win ont assignés des nombres différents &amp;quot;numbers&amp;quot;):&lt;br /&gt;
 &amp;lt;axis&amp;gt;        (au lieu de l'habituel&amp;lt;axis n=”3”&amp;gt; )&lt;br /&gt;
  &amp;lt;desc&amp;gt;Mixture&amp;lt;/desc&amp;gt; &lt;br /&gt;
  &amp;lt;number&amp;gt; &lt;br /&gt;
   &amp;lt;unix&amp;gt;3&amp;lt;/unix&amp;gt; &lt;br /&gt;
   &amp;lt;mac&amp;gt;5&amp;lt;/mac&amp;gt; &lt;br /&gt;
   &amp;lt;windows&amp;gt;5&amp;lt;/windows&amp;gt; &lt;br /&gt;
  &amp;lt;/number&amp;gt; &lt;br /&gt;
  &amp;lt;binding&amp;gt; &lt;br /&gt;
   &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt; &lt;br /&gt;
   &amp;lt;script&amp;gt;controls.mixtureAxis()&amp;lt;/script&amp;gt; &lt;br /&gt;
  &amp;lt;/binding&amp;gt; &lt;br /&gt;
 &amp;lt;/axis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Assigner PTT au joystick =====&lt;br /&gt;
Si vous voulez assigner la fonction PushToTalk à votre Joystick, ajoutez ceci (pour n vous mettez votre propre chiffre!)&lt;br /&gt;
 &amp;lt;button n=&amp;quot;x&amp;quot;&amp;gt; &lt;br /&gt;
  &amp;lt;desc&amp;gt;PTT - Push To Talk&amp;lt;/desc&amp;gt; &lt;br /&gt;
  &amp;lt;binding&amp;gt; &lt;br /&gt;
   &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt; &lt;br /&gt;
   &amp;lt;script&amp;gt;controls.ptt(1)&amp;lt;/script&amp;gt; &lt;br /&gt;
  &amp;lt;/binding&amp;gt; &lt;br /&gt;
  &amp;lt;mod-up&amp;gt; &lt;br /&gt;
   &amp;lt;binding&amp;gt; &lt;br /&gt;
    &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt; &lt;br /&gt;
    &amp;lt;script&amp;gt;controls.ptt(0)&amp;lt;/script&amp;gt; &lt;br /&gt;
   &amp;lt;/binding&amp;gt; &lt;br /&gt;
  &amp;lt;/mod-up&amp;gt; &lt;br /&gt;
 &amp;lt;/button&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== adresses d'aides sur Internet====&lt;br /&gt;
'''World-Time:''' &lt;br /&gt;
* [http://www.timeanddate.com/worldclock/custom.html?sort=1 standard deviations]&lt;br /&gt;
* [http://www.timezoneconverter.com/cgi-bin/tzc.tzc direct conversions]&lt;br /&gt;
&lt;br /&gt;
Spécialement pour les événements multi player, vous devrez spécifier tous les temps en GMT (Greenwich Meantime). Notez juste votre différence par rapport à GMT et mémorisez la. Si tout le monde le fait, on peut éviter beaucoup d' incompréhensions&lt;br /&gt;
&lt;br /&gt;
* '''Decimales et Degrès''' http://www.hbnweb.de/mathematik/grad-dezimal.html &amp;lt;br /&amp;gt;&lt;br /&gt;
*: Quelques programmes réclament des valeurs décimales de Lon/Lat, d'autres en Degrès/Minutes/Sec. Les convertir.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''Miles, km, pieds, etc. etc. ...''': http://www.convertunits.com/&lt;br /&gt;
*: Si vous voulez éviter des ennuis(la NASA a perdu un satellite à cause de ça) voyez plus haut.&lt;br /&gt;
&lt;br /&gt;
'''Ports necéssaires'''&lt;br /&gt;
&lt;br /&gt;
En cas de problèmes avec Internet, notez que les ports suivants sont permis :&lt;br /&gt;
 1314	TCP	Si le Festival-Server est utilisé pour Text/Sound &lt;br /&gt;
 2005	UDP	Vcp-Stream&lt;br /&gt;
 4569	UDP	FGCom  VoIP, (Inter-Asterisk eXchange)&lt;br /&gt;
 5000	UDP	in/out Multiplayer    (VPN Sftw.)&lt;br /&gt;
 5001	UDP	Enable HTTP-server&lt;br /&gt;
 5002	UDP	Enable property server&lt;br /&gt;
 5003	UDP	Enable Screen-Shot services&lt;br /&gt;
 5004   UDP     (peut être utilisé comme réserve)&lt;br /&gt;
 5505	UDP	Terra Sync&lt;br /&gt;
 16661	UDP	FGCom écoutant FGFS, habituellement “local host” seulement&lt;br /&gt;
Considérez aussi que certains modems modernes fournissent un pare-feu. Si en plus vous en avez un dans votre PC, attendez vous à une compétition néfaste entre les deux. En cas de problème, il faudra en désactiver l'un des deux (d'habitude celui du PC, et en particulier si plusieurs PC sont connectés via ce modem).&lt;br /&gt;
&lt;br /&gt;
==== Paramètres de la ligne de commande ====&lt;br /&gt;
 fgcom --help&lt;br /&gt;
retourne les infos habituelles suivantes &lt;br /&gt;
    fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
    (c)2007 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
    Version 1.2.2 build 163M&lt;br /&gt;
    Using iaxclient library Version SVN 163M&lt;br /&gt;
  &lt;br /&gt;
  OPTION                                        DESCRIPTION&lt;br /&gt;
  &lt;br /&gt;
  -d, -debug, --debug=                          montre des informations de debuggging&lt;br /&gt;
  -S, -voipserver, --voipserver=                voip server à connecter par défaut (default: 'fgcom1.parasitstudio.de')&lt;br /&gt;
  -s, -fgserver, --fgserver=                    programme network a connecter à  (default: 'localhost')&lt;br /&gt;
  -p, -port, --port=                            où nous écoutons FG (default: '16661')&lt;br /&gt;
  -a, -airport, --airport=                      airport-id (ICAO) pour ATC-mode&lt;br /&gt;
  -f, -frequency, --frequency=                  frequence pour ATC-mode&lt;br /&gt;
  -U, -user, --user=                            nom d'utilisateur pour compte VoIP (default: 'invité')&lt;br /&gt;
  -P, -password, --password=                    mot de passe pour compteVoIP  (default: 'invité')&lt;br /&gt;
  -i, -mic, --mic=                              mic niveau d'entrée(0.0 - 1.0)&lt;br /&gt;
  -o, -speaker, --speaker=                      speaker niveau de sortie (0.0 - 1.0)&lt;br /&gt;
  -b, -mic-boost, --mic-boost=                  enable mic boost&lt;br /&gt;
  -l, -list-audio, --list-audio=                liste des programmes audio&lt;br /&gt;
  -r, -set-audio-in, --set-audio-in=            use &amp;lt;devicename&amp;gt; comme entrée audio&lt;br /&gt;
  -k, -set-audio-out, --set-audio-out=          use &amp;lt;devicename&amp;gt; comme sortie audio&lt;br /&gt;
  -c, -codec, --codec=                          use codec &amp;lt;codec&amp;gt; comme transfer codec (default: 'u')&lt;br /&gt;
  &lt;br /&gt;
  Codecs disponibles:&lt;br /&gt;
        u - ulaw (default and best codec because the mixing is based onto ulaw)&lt;br /&gt;
        a - alaw&lt;br /&gt;
        g - gsm&lt;br /&gt;
        s - speex&lt;br /&gt;
        7 - G.723&lt;br /&gt;
  &lt;br /&gt;
  Mode 1: client for COM1 of flightgear:&lt;br /&gt;
        $ fgcom&lt;br /&gt;
  - connects fgcom to fgfs at localhost:16661&lt;br /&gt;
        $ fgcom -sother.host.tld -p23456&lt;br /&gt;
  - connects fgcom to fgfs at other.host.tld:23456&lt;br /&gt;
  &lt;br /&gt;
  Mode 2: client for an ATC at &amp;lt;airport&amp;gt; on &amp;lt;frequency&amp;gt;:&lt;br /&gt;
        $ fgcom -aKSFO -f120.500&lt;br /&gt;
  - sets up fgcom for an ATC radio at KSFO 120.500 MHz&lt;br /&gt;
  &lt;br /&gt;
    Notez que /home/hcs/src/fgcom/trunk/src/fgcom commence avec un compte d'hôte , à moins d'utiliser -U and -P!&lt;br /&gt;
&lt;br /&gt;
Notez aussi que le serveur habituel (fgcom.flightgear.co.uk) travaille avec un compte d'hôte, aussi, ne pas utiliser -U or -P'''&lt;br /&gt;
&lt;br /&gt;
==Installation du serveur==&lt;br /&gt;
{{Article principal|Howto: Set up a FGCom server}}&lt;br /&gt;
&lt;br /&gt;
== Liens externes ==&lt;br /&gt;
* [http://sourceforge.net/projects/fgcom/ fgcom(SourceForge-Project)]  Sous-version est [http://fgcom.svn.sourceforge.net/ disponible ici]. Si vous n'avez pas utilisé la Sous-version auparavant, vous pouvez plus facilement la trouver dans  [http://fgcom.svn.sourceforge.net/viewvc/fgcom/?view=tar archive] à la place.&lt;br /&gt;
* ldernière source disponible ici (?): http://code.google.com/p/fgcomgui/&lt;br /&gt;
&lt;br /&gt;
=== Liens cassés ou déteriorés ===&lt;br /&gt;
* [http://squonk.abacab.org/dokuwiki/fgcom Old Official website] &lt;br /&gt;
* [http://squonk.abacab.org/dokuwiki/fgcom-manual Manual]&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
* '''Mars, 2009:'''&lt;br /&gt;
Ajout d'informations aux utilisateurs pour installer, utiliser maintenir  FGCOM sur différentes plateformes.&lt;br /&gt;
&lt;br /&gt;
* '''18 Novembre, 2008:'''&lt;br /&gt;
la plus récente SVN (rev 163) a fixé les problèmes de compilation. Aussi, nous avons un nouveau serveur: fgcom.flightgear.org'''. Les comptes d'utilisateurs ne sont pas demandés (ie. do '''not''' use -U or -P)&lt;br /&gt;
* '''31 Octobre, 2008:''' &lt;br /&gt;
&lt;br /&gt;
La plus récente version SVN à ce moment est la '''r149''' qui ne compile pas à cause d'une constante indeterminée (STL_STRING). elle apparait à la ligne 57 dans le fichier ''src/fgcom_init.cpp'' qui est:&lt;br /&gt;
''#include STL_STRING''&lt;br /&gt;
&lt;br /&gt;
Je devine qu'une telle constante doit apparaître dans un fichier de STL library mais je n'en suis pas sûr.&lt;br /&gt;
Je reviens à la version '''r148''' SVN qui compile avec succès.&lt;br /&gt;
&lt;br /&gt;
La commande pour une telle version est: ''svn co -r148 svn://svn.dfn.de:/fgcom/trunk fgcom-r148''&lt;br /&gt;
&lt;br /&gt;
* '''19 Juin, 2008:''' Le serveur est &amp;lt;u&amp;gt;down&amp;lt;/u&amp;gt; en raison de problèmes de hardware. On ignore la fin de cette panne car le probléme n'est pas encore défini.&lt;br /&gt;
&lt;br /&gt;
* '''22 Novembre 2007:''' Due to heavy development at this time there may be some differences between the information on the web pages and the installation. Please follow the discussions on the FlightGear development list!&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[FlightGear related projects]]&lt;br /&gt;
* [[FGComGui]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:FGCom]]&lt;br /&gt;
[[en:FGCom]]&lt;br /&gt;
[[fr:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_(before_3.0)&amp;diff=78690</id>
		<title>FGCom (before 3.0)</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_(before_3.0)&amp;diff=78690"/>
		<updated>2015-01-01T18:35:44Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|FGCom_3.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{historical&lt;br /&gt;
| type   = article&lt;br /&gt;
| tense  = is&lt;br /&gt;
| text   = obsolete&lt;br /&gt;
| reason = The new version of FGCom is much more simple to use, a clean documentation is available at [[FGCom_3.0]]&lt;br /&gt;
| talk   = &lt;br /&gt;
| date   = 1 January 2015&lt;br /&gt;
| nocat  = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
| title                  = FGCom&lt;br /&gt;
| logo                   = &lt;br /&gt;
| image                  = &lt;br /&gt;
| alt                    = &lt;br /&gt;
| developedby            = Holger Wirtz, Martin Spott, Csaba Halasz&lt;br /&gt;
| hostedby              = tgreer @ tsone . info&lt;br /&gt;
| initialrelease         = &lt;br /&gt;
| latestrelease          = &lt;br /&gt;
| writtenin              = &lt;br /&gt;
| os                     = &lt;br /&gt;
| platform               = &lt;br /&gt;
| developmentstatus      = Active (2007-)&lt;br /&gt;
| type                   = &lt;br /&gt;
| license                = [[GNU General Public License]]&lt;br /&gt;
| website                = https://gitorious.org/fg/fgcom&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''FGCom''' is an addon for [[FlightGear]]. With FGCom (and the infrastructure behind it), FlightGear has a realtime voice communication system which enriches the FlightGear capabilities, especially for [[Howto: Multiplayer|multiplayer]] events, like:&lt;br /&gt;
&lt;br /&gt;
* Flying in groups, see the [http://forum.flightgear.org/viewforum.php?f=10 multiplayer events forum]&lt;br /&gt;
** Invite friends to a guided sightseeing tour in your most beloved area or do “Fly In's”&lt;br /&gt;
** Do military training like [[Howto:Aerial_refueling|“Air-Air-Refuelling”]], “Dog fights”, “Escort flights”, etc. &lt;br /&gt;
* Offering additional services at an airport like [[Air traffic control|ATC]], [[Vehicle|snowplows, pushbacks]], racing-events, etc.&lt;br /&gt;
* Have a [[Dual control|real time flighttraining]] (e.g. pilot in Hongkong, teacher in Sydney), do [[Soaring|Glider-towing]], ask for on-line support during flight or just ask somebody flying a plane of interest about specifics.&lt;br /&gt;
* Or just sit in a cockpit in Germany while sightseeing San Francisco in a [[Cessna C172|C172]], voice-chat with a Texan in a plane I dreamed of as a boy ([[Lockheed Constellation|Super Constellation]]) and both getting information from a New Zealand guy (it shall be a wonderful island – but do real people live there? He said: Yes!!).&lt;br /&gt;
* And much more!&lt;br /&gt;
&lt;br /&gt;
You can even use it in models without radios - just use the standard FlightGear menu --&amp;gt; Equipment --&amp;gt; Radio Settings).&lt;br /&gt;
&lt;br /&gt;
In the future FGCom surely will extend further and surely will get a “Speech to Text” capability in order to also integrate the text-based automated ATC-routines inside FlightGears.&lt;br /&gt;
&lt;br /&gt;
== The Client installation ==&lt;br /&gt;
=== Prequisites ===&lt;br /&gt;
==== Hardware Requirements ====&lt;br /&gt;
If you are satisfied with the operation and response times of your current FlightGear installation, then you should see no significant difference after adding the FGCom. If your FlightGear installation runs already a little marginal, then you might experience some delays when many new airplane-models etc. must be loaded. This may happen  when starting up at a busy airport. You can monitor/verify such a &amp;quot;short-time overload&amp;quot; in the FlightGear command-window.&lt;br /&gt;
&lt;br /&gt;
For details see the [http://www.flightgear.org/hardwarereq.html common hardware and driver requirements].&lt;br /&gt;
&lt;br /&gt;
Of course you will also need a connection to the internet for this real-time, worldwide voice communication.&lt;br /&gt;
&lt;br /&gt;
==== Software requirements ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot; width=&amp;quot;90px&amp;quot; |'''FlightGear''' ||The basic [[FlightGear]] Flight Simulation installation. This must be installed prior to installing FGCom ''(except if installing the Linux &amp;quot;Git complete&amp;quot; version which can install FGCom and FlightGear concurrently)''.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''Multiplayer'''||[[Howto: Multiplayer|“Multiplayer”]] is not an installable program but an integrated function of FGFS. As the name says, it enables communication of several players via a chat-function (until now per keyboard - now also with this vocal interface: FGCom).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Nice to have ====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot; width=&amp;quot;90px&amp;quot; | '''FGrun'''||This [[FlightGear Launch Control]] (also known as FG Wizard), is a graphical front end to start the FGFS. This makes it very easy to startup the FGFS with all its possible options. In some newer distributions this is already part of the basic FGFS installation package.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''MPMap'''||[[MPMap]] is a pure browser application based on Google Maps, so it does not need any installation, except a Web-Browser. With MPMap you can watch all Multiuser-planes worldwide on a road-map, satellite picture or a composite of both. It includes most of the airports, navigational aids, and current weather information. So it can be used for preflight planning, without having the FGFS started or even installed. But it needs a constant connection to the Internet - on the other hand you can do your preflight planning anywhere where there is a PC, connected to the Internet (with/or without FlightGear installed!).&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''SkyVector'''||[http://skyvector.com/ SkyVector] is a standalone Browser-Application. It does present a fantastic Fight-Planning tool, showing similar aspects like the &amp;quot;MPMap&amp;quot; - but is based on a an real Aeronatical map (&amp;quot;Sectional&amp;quot;). On it you can graphically plan your routes.&lt;br /&gt;
But it does not directly link into FGFS, MPMap or Multiplayer -- and it covers only the domestic USA.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''Atlas'''||[[Atlas | Atlas]] displays the current position of your airplane on an landscape type of map together with navigational information. It derives its data direct out of the installed FGFS databases. So you do not need any connections to the Internet.&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |'''Festival'''||http://www.flightgear.org/Docs/getstart/getstart.html#QQ2-10-108 is a TTS (Text To Speech) system that can convert all in the FGFS displayed written text (ATC, Chat, etc.) into speech and put it in your loudspeakers. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Installing FGCom ===&lt;br /&gt;
==== Install on Linux ====&lt;br /&gt;
:For Linux-Systems there are various ways to install:&lt;br /&gt;
# '''&amp;quot;Integrated Installation” to be available with FGFS 3.0 spring 2014''', may be tested with GIT 2.99''' &lt;br /&gt;
#* '''Advantage:''' This will be the long expected &amp;quot;integration&amp;quot;, i.e. users do not have to care about installing FGCOM manually. And you will be able to switch FGCOM on/off during flight (see http://wiki.flightgear.org/Integrating_FGCom)&lt;br /&gt;
#* '''Disadvantage:''' This is still in a &amp;quot;Test-mode&amp;quot;, so you might have problems when testing&lt;br /&gt;
#* '''Installation:''' Is done automatically when installing FGFS (starting FGFS 3.0 / GIT 2.99)&lt;br /&gt;
# '''Installation of a &amp;quot;Standalone FGCOM&amp;quot; &lt;br /&gt;
#* '''Advantage:''' you can use this &amp;quot;Standalone FGCOM&amp;quot; without using FGFS (e.g. when operating OpenRadar)&lt;br /&gt;
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!&lt;br /&gt;
#* '''Installation:'''You can download the needed &amp;quot;Standalone FGCOM&amp;quot;.zip from http://fgcom.flightgear.org/download/.&lt;br /&gt;
#*:: and unzip it into a directory of your choice&lt;br /&gt;
#*:: then you start fgcom in a terminal like:&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
::::&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd '/home/YourName/fgfs/bin &lt;br /&gt;
./fgcom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# '''Downloading from the “Distributor” (Debian, Ubuntu, Red Hat, Suse, etc.).''' &lt;br /&gt;
#* '''Advantage:''' This is the easiest way and ensures that maintenance and services for this package and all concurrencies to it are provided automatically for a reasonable time-frame.&lt;br /&gt;
#* '''Disadvantage:''' The availability of those packages is usually very late and most Distributors do not cover all FGFS-features. To our knowledge none of the Distributors has a FGCom-package available as of Oct. 2013.&lt;br /&gt;
#* '''Installation:''' Follow the usual procedures of your distributor on how to install additional packages.&lt;br /&gt;
# '''Install today’s newst GIT or released version  &lt;br /&gt;
#* '''Advantage:''' It is the very easiest form of installation and installs in one step any (or all) prerequisite/companion modules (FGFS, FGrun, FGcom, PLIB, OSG, Simgear, AT). Also it can be added and removed from the system without disturbing the rest of the system (Libraries, Menus, Structures, etc.). It was tested on several Ubuntu and Debian systems.&lt;br /&gt;
#* '''Disadvantage:''' No automated maintenance available. The handling is a little different from the standard Menu-driven practices.&lt;br /&gt;
#* '''Installation:''' use the [[Scripted Compilation on Linux Debian/Ubuntu]]&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
::&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir fgcom&lt;br /&gt;
cd fgcom&lt;br /&gt;
wget http://www.gitorious.org/fg/fgmeta/raw/download_and_compile.sh&lt;br /&gt;
chmod +x ./download_and_compile.sh &lt;br /&gt;
./download_and_compile.sh PLIB FGCOM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
... it will ask 2 x for the root password&lt;br /&gt;
then it looks like this:&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
[ 95%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom.cpp.o&lt;br /&gt;
[ 97%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom_init.cpp.o&lt;br /&gt;
[ 98%] Building CXX object CMakeFiles/fgcom.dir/src/position.cpp.o&lt;br /&gt;
[100%] Building CXX object CMakeFiles/fgcom.dir/src/utils.cpp.o&lt;br /&gt;
Linking CXX executable fgcom&lt;br /&gt;
&lt;br /&gt;
[100%] Built target fgcom&lt;br /&gt;
-- Install configuration: &amp;quot;Release&amp;quot;&lt;br /&gt;
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/bin/fgcom&lt;br /&gt;
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/share/fgcom/positions.txt&lt;br /&gt;
-- Installing: /big/home/mherweg/flightgear/fgcom/try/install/fgcom/share/fgcom/special_frequencies.txt&lt;br /&gt;
To start fgcom, run the run_fgcom.sh file&lt;br /&gt;
To start fgcom GUI, run the run_fgcomgui.sh file&lt;br /&gt;
Usage: ./download_and_compile.sh -h&lt;br /&gt;
for help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
then you can start fgcom like this:&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
./run_fgcom.sh -Sfgcom.flightgear.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Install on Mac ====&lt;br /&gt;
# '''MacFlightGear 1.9.1/2.0.0'''&amp;lt;br /&amp;gt;&lt;br /&gt;
#* You can download the &amp;quot;MacFlightGear&amp;quot;-Application from the [http://www.flightgear.org/Downloads/binary.shtml#mac FlightGear download-center]. Starting with version 2.0.0 the code does contain the FGCom and works for OSX &amp;gt;= 10.5. (with OSX versions &amp;lt; 10.5 you will end up with a generic &amp;quot;bus error&amp;quot; message).&lt;br /&gt;
# '''Installation of a &amp;quot;Standalone FGCOM&amp;quot; &lt;br /&gt;
#* '''Advantage:''' you can use this &amp;quot;Standalone FGCOM&amp;quot; without using FGFS (e.g. when operating OpenRadar)&lt;br /&gt;
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!&lt;br /&gt;
#* '''Installation:'''You can download the needed &amp;quot;Standalone FGCOM&amp;quot;.zip from http://fgcom.flightgear.org/download/.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==== Install on Windows ====&lt;br /&gt;
# '''Please use the Windows installation description'''&lt;br /&gt;
#* available through [[FGCOM for Windows]].'''&lt;br /&gt;
# '''Installation of a &amp;quot;Standalone FGCOM&amp;quot; &lt;br /&gt;
#* '''Advantage:''' you can use this &amp;quot;Standalone FGCOM&amp;quot; without using FGFS (e.g. when operating OpenRadar)&lt;br /&gt;
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!&lt;br /&gt;
#* '''Installation:'''You can download the needed &amp;quot;Standalone FGCOM&amp;quot;.zip from http://fgcom.flightgear.org/download/.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Functional test &amp;amp; user briefing ===&lt;br /&gt;
To insure that we can differentiate between troubles&lt;br /&gt;
* that may be caused by the FGFS&lt;br /&gt;
* and those caused by FGCom&lt;br /&gt;
we will also describe the FGFS-Start and it's, for this test needed, settings in detail. &lt;br /&gt;
&lt;br /&gt;
Experiences pointed out, that the cooperation between FGCom and FlightGear works more reliable, if FlightGear is started first. So we will start with setting up FGFS first:&lt;br /&gt;
&lt;br /&gt;
==== Start FlightGear ====&lt;br /&gt;
To set all required and/or proposed settings for this first functional test, we suggest to use&lt;br /&gt;
*for Windows and Linux [[FGRun]]&lt;br /&gt;
*which for MAC-OSX is the integrated &amp;quot;GUI Launcher&amp;quot;&lt;br /&gt;
In the following we will just point out those commands which are significant for the FGCom-operation:&lt;br /&gt;
&lt;br /&gt;
If you don't have an icon available to start FGrun, then start it manually:&lt;br /&gt;
&lt;br /&gt;
# Start a [[Command line|command-window]]&lt;br /&gt;
# Change into the directory in which FGFS was installed&lt;br /&gt;
# Execute the following command or something similar&lt;br /&gt;
::{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Linux&lt;br /&gt;
|fgrun&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Windows&lt;br /&gt;
|C:&amp;lt;br /&amp;gt;cd 'C:\Program Files\Flightgear\win32'&amp;lt;br /&amp;gt;fgrun.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wait for the program window to start and then define:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Start by '''choosing an airplane'''. For this first try we suggest the [[Cessna C172]]P, so we have a common understanding in the following. Also be aware of some airplane-designers reassigning keyboard-keys (e.g. the “space-bar” which is used as PTT, may activate a &amp;quot;BombDrop&amp;quot; in a Fighter-jet!), thus you may not have the PTT-key (“Push To Talk”) available.  See [[FGCOM#Tips and Tricks]].&amp;lt;br /&amp;gt;→ Click &amp;quot;Next&amp;quot;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; As '''starting place''' please define the airport KPAO (Palo Alto) runway 13, so we all see the same messages in the following reports. A second reason for KPAO is of course that KPAO comes already with the basic scenery-package, and thus is available for everybody.&amp;lt;br /&amp;gt;→ Click &amp;quot;Next&amp;quot;.[[File:FGrun_base.jpg|thumb|Basic &amp;amp; multiplayer options]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Define the '''Multiplayer options:''' (see [[Howto: Multiplayer]] for details).&lt;br /&gt;
* “AI models” must be activated in order to see all traffic&lt;br /&gt;
* “Multiplayer” must be activated&lt;br /&gt;
* type “'''mpserverXX.flightgear.org'''” into the field “Hostname:”, replace “XX” with the server number nearest you - select it in http://mpserver15.flightgear.org/mpserverstatus/. Actually it does not matter which server you take (as long as it is online and not as overcrowded as mpserver02) - you might try which server gives you the best response-times.&lt;br /&gt;
* insert your “Callsign:” (max. 7 characters)&lt;br /&gt;
* define the “in” and “out” ports both with the standard “5000”&lt;br /&gt;
* With &amp;quot;Load/Save as&amp;quot; you may build up yourself a library of settings for different airports.&amp;lt;br /&amp;gt;→ Click &amp;quot;Advanced&amp;quot;.[[File:FGrun_IP.jpg|thumb|Advanced: Initial Position]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; In the “'''Advanced Options'''” check the following sections (click/select them in the left column):&lt;br /&gt;
* General: Those settings were defined before. Check “Control”, if needed select your input device (Joystick, Keyboard, or Mouse).&lt;br /&gt;
* Features: “AI Traffic” should be activated already&lt;br /&gt;
* Initial Position: You may define here an unique “starting/parking” position outside a runway. Thus you could avoid starting on top of another player, because most of them pile up at the end of a runway. You can look up a position in the MPMap: ''(see next item)''&lt;br /&gt;
** ''Be aware that any data defined here override already predefined data (e.g. also an airport and runway). So '''do not forget''' to change/delete the here defined positions if some time you want to start from another airport.'' Of course you may save/reload settings for different airports, see &amp;quot;Load/save as&amp;quot; on the main window.[[File:MPmap.jpg|thumb|[[MPMap]]]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Open the '''[http://mpmap02.flightgear.org MPMap]'''&lt;br /&gt;
* if the control-panel is not visible click onto &amp;quot;FGMap | mpserver02:5000 | pilots: 7”&lt;br /&gt;
* click on “nav”&lt;br /&gt;
* disable all options except “apt code”&lt;br /&gt;
* type “KPAO” into the filed “Navaids lookup”&lt;br /&gt;
* hit ENTER or click onto the reading-glass symbol&lt;br /&gt;
* click onto the appearing line “Airport -- KPAO -- Palo Alto”&lt;br /&gt;
* now you could/should support your preflight planning by clicking onto the wedge in the upper right corner after the airport name and then analyse all data given under “info”, “atc”, metar”, and “links” &lt;br /&gt;
* then zoom into the airport&lt;br /&gt;
* set the mouse over the wanted “Parking lot” and read that position in the upper right corner of the screen&lt;br /&gt;
* type those long/lat values into the field below and also the wanted heading of the plane while parking[[File:FGrun_net.jpg|thumb|Advanced: Network]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; '''Network:''' Those data you have already predefined on the Base-Page. But in case you have network-problems (may be due to many PC's on a home-network with even more LAN-cards) you may specify here your actual IP-Adress.&lt;br /&gt;
* WARNING: When saving these settings and reloading them again, FGRun might replace the given IP-Nr. by the PC-name. As of March 2009 you then have to replace that again with the IP-Nr. So use it only if you have to - first try it by adding nothing between the &amp;quot;,,&amp;quot;. Keep it as &amp;quot;in,10,,5000&amp;quot;.&lt;br /&gt;
* If you need to '''define the unique IP-Address''', open a [[Command line|command-window]] and type&lt;br /&gt;
&lt;br /&gt;
::{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | OS&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | to type&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | cap.&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | returned values&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Linux &lt;br /&gt;
|ifconfig &lt;br /&gt;
|eth0&lt;br /&gt;
|Link encap:Ethernet  HWaddr 00:1d:92:80:a6:ab&amp;lt;br /&amp;gt;inet addr:'''192.168.178.23'''  Bcast:192.168.178.255  Mask:255.255.255.0 &lt;br /&gt;
|-	&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Windows&lt;br /&gt;
|ipconfig /all &lt;br /&gt;
|et &lt;br /&gt;
|Physikalische Adresse . . . . . . : 00-16-E6-40-AB-BF&lt;br /&gt;
&amp;lt;br /&amp;gt;DHCP aktiviert. . . . . . . . . . : Ja &lt;br /&gt;
&amp;lt;br /&amp;gt;Autokonfiguration aktiviert . . . : Ja &lt;br /&gt;
&amp;lt;br /&amp;gt;IP-Adresse. . . . . . . . . . . . : '''192.168.178.20''' &lt;br /&gt;
&amp;lt;br /&amp;gt;Subnetzmaske. . . . . . . . . . . : 255.255.255.0 &lt;br /&gt;
&amp;lt;br /&amp;gt;IP-Adresse. . . . . . . . . . . . : fe80::216:e6ff:fe40:abbf%4&lt;br /&gt;
|}&lt;br /&gt;
:: '''192.168.178.23''' (or '''20''') is the number you would have to input between the two commas. Be very careful and double-check that you do not mistype “.” and “,”!![[File:FGrun_IO.jpg|thumb|Advanced: Input/Output]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; '''Input/Output:''' &lt;br /&gt;
* You do need a &amp;quot;generic&amp;quot; line as shown, because '''this defines the interface between FlightGear and FGCom'''.&lt;br /&gt;
** To input a new line: Start by selecting “generic” in the field “Protocol”. Then hit “New” and define the rest as shown.&lt;br /&gt;
** Editing an existing line: Start by clicking onto the existing one, then change as required.&lt;br /&gt;
** Deleting an existing line: Click onto the line to be deleted, then hit &amp;quot;Delete&amp;quot;&lt;br /&gt;
* For fgo or the command line add --generic=socket,out,10,localhost,16661,udp,fgcom to the command line options&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; '''Avionics:''' let us define:		&lt;br /&gt;
::{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Nav1:&lt;br /&gt;
| 114.10 &lt;br /&gt;
| San Jose VOR&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Nav2: &lt;br /&gt;
| 115.80 &lt;br /&gt;
| SF VOR&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | ADF: &lt;br /&gt;
| 379 &lt;br /&gt;
| Brijj, beacon at SF&lt;br /&gt;
|}&lt;br /&gt;
* And activate DME to Nav1&lt;br /&gt;
* There is no field to input COM-radios, but remember them for setting them later manually:&lt;br /&gt;
::{|&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Com1&lt;br /&gt;
| 118.60 &lt;br /&gt;
| Paolo Alto&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; | Com2 &lt;br /&gt;
| 120.50	&lt;br /&gt;
| San Francisco&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; '''Properties:''' &lt;br /&gt;
* Here you can define any presetting for any values in the FGFS. See e.g.: &amp;lt;tt&amp;gt;File &amp;gt; Browse Internal Properties&amp;lt;/tt&amp;gt; in the FlightGear [[menu]].[[File:FGrun_prop.jpg|thumb|Advanced: Properties]]&lt;br /&gt;
* I personally do not want the plane to start rolling without me telling it to. So I set the parking break as default at startup.&lt;br /&gt;
** Input a new line: Just hit “New” and type your string.&lt;br /&gt;
** Edit a line: Be sure first to click onto an existing item and then edit this “Property”&lt;br /&gt;
** Delete a line: Click onto the line to be deleted then hit &amp;quot;Delete&amp;quot;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
Hit “OK” → “Run” and watch FlightGear starting. If screen-place allows you may want to pull the shown &amp;quot;FGFS Report-Window&amp;quot; to the side and watch how busy your PC is while loading the other multi-player models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Start FGCom ====&lt;br /&gt;
Open a [[Command line|command-window]] and change into the directory in which FGCom was installed (probably the same as FlightGear) and start FGCom. The server you want to use for events is '''fgcom.flightgear.org''' (fgcom.flightgear.org.uk was the originally used server and is not available any more).&lt;br /&gt;
&lt;br /&gt;
To start FGCom with the defined server you must insert the server address after a &amp;quot;-S&amp;quot; (watch: The &amp;quot;S&amp;quot; must be a capital!):&lt;br /&gt;
::{| border=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Linux||fgcom -Sfgcom.flightgear.org &lt;br /&gt;
|&amp;quot;-Sfgcom...&amp;quot; with capital &amp;quot;S&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Linux Git&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;(FS 3.00 or GIT 2.99)&amp;lt;/small&amp;gt;&lt;br /&gt;
| cd ~/fgfs&amp;lt;br /&amp;gt;sh ./run_fgcom.sh &lt;br /&gt;
| This is the new integrated version, which you will start and set options from inside the FGFS!&lt;br /&gt;
|-	&lt;br /&gt;
! style=&amp;quot;background:#efefef&amp;quot; |Windows &lt;br /&gt;
|cd 'C:\Program Files\Flightgear\win32'&amp;lt;br /&amp;gt;fgcom.exe -Sfgcom.flightgear.org &lt;br /&gt;
|&amp;quot;-Sfgcom...&amp;quot; with capital &amp;quot;S&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the following tests, position the command-window somewhere, where you can monitor it throughout the test.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Be aware that the standard range for the FGCom is 50km, but some people have a version with a range of 100 km! So in the following description the &amp;quot;50 km&amp;quot; restriction might be replaced with 100km!!'''''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''1) The first response should be:'''&lt;br /&gt;
   fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
   Original (c) 2007-2011 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
   OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.&lt;br /&gt;
   Version 3.1.0 compiled Mar  2 2014, at 00:21:19&lt;br /&gt;
   Using iaxclient library Version SVN 261&lt;br /&gt;
   &lt;br /&gt;
   Successfully parsed commandline options&lt;br /&gt;
   Loaded file [/usr/share/flightgear/special_frequencies.txt].&lt;br /&gt;
   Reading airports [/usr/share/flightgear/positions.txt]&lt;br /&gt;
   loaded 47171 entries&lt;br /&gt;
   Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
If, due to a prior flight, COM1 was set to anything else but 118.600 (e.g. to 119.650) you will see the following 2 lines added to the above shown initialization of the FGCom-window:&lt;br /&gt;
 Selected frequency: 119.650 &lt;br /&gt;
 Call rejected by remote&lt;br /&gt;
Instead of  “119.650” there will be shown the last used frequency. In the above example the source of the ATC-Freq. 119.650 is more than 50km away from your actual position, so FGCom rejects a connection to it. If the last frequency used would have been within 50 km you get an indication very similar to the next item.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''2) Switch COM1 to 118.60 (as needed at Palo Alto):'''&lt;br /&gt;
 Selected frequency: 118.600 &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km) &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km) &lt;br /&gt;
This last line will be repeated according the to time span you defined in the “Input/Output” command “--generic=socket,in,'''10''',,5500,tcp” (10 means all 10 sec.), you may change that value later according to your preferences.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''3) Press your PTT (PushToTalk on space-bar and joystick, as available):'''&lt;br /&gt;
 [SPEAK] unmute mic, mute speaker &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
 [SPEAK] unmute mic, mute speaker &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
Only in between “SPEAK” and “LISTEN” you are able to talk to others.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''4) First let us set/verify the other Radios:'''&lt;br /&gt;
 COM2  = 120.50	San Francisco&lt;br /&gt;
 NAV1  = 114.10	San Jose&lt;br /&gt;
 NAV2  = 115.80	San Francisco&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Then: Pressing Upper+Space will switch to the next radio: '''NAV1'''&lt;br /&gt;
 Radio-Select: NAV1 &lt;br /&gt;
 Selected frequency: 114.100 &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Call rejected by remote &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
Compare this to the NAV2 indication 2 steps later: something is wrong – and it wasn't your fault: Although this NAV is valid (see ...FGFS/data/Airports/apt.dat.gz), it is missing in the FGCom listing .../FGCom/positions.txt. I encountered this problem several times, as well for Airports as also for VOR's. If this happens with your most beloved airport you can add those missing data with a text-editor. But before changing be sure you know what/how you are doing and also save the original data somewhere - just in case!&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''5) Pressing Upper+Space once more switches to COM2'''&lt;br /&gt;
 Radio-Select: COM2 &lt;br /&gt;
 Selected frequency: 120.500 &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (29.1 km) &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered&lt;br /&gt;
That looks OK: San Francisco is about 29 km away!&amp;lt;br /&amp;gt;Watch the “km” instead of miles! '''10 km''' = '''6.2137 mi'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''6) Pressing Upper+Space once more switches to NAV2'''&lt;br /&gt;
 Radio-Select: NAV2 &lt;br /&gt;
 Selected frequency: 115.800 &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Airport SAN FRANCISCO VOR-DME (SFO VOR at 115.800 MHz) is in range (28.5 km) &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
And Yes: The SF VOR is just a little closer than the airport-center&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''7) Pressing Upper+Space once more brings back '''COM1''':'''&lt;br /&gt;
 Radio-Select: COM1 &lt;br /&gt;
 Selected frequency: 118.600 &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km) &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''8) Lets us start and continue flying with a heading of about 130°:'''&lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.4 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.2 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.7 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.3 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.9 km) &lt;br /&gt;
 Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 2.4 km) &lt;br /&gt;
notice that you first come closer (to the center of the airport) and after that getting away&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''9) Let's switch to '''COM2''' (San Francisco) and watch:''' &lt;br /&gt;
 Radio-Select: COM2 &lt;br /&gt;
 Selected frequency: 120.500 &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (37.8 km) &lt;br /&gt;
 Call 0 accepted &lt;br /&gt;
 Call 0 answered &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (38.6 km) &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (39.5 km) &lt;br /&gt;
 .. &lt;br /&gt;
 Airport San Francisco Intl (KSFO TWR at 120.500 MHz) is in range (49.7 km) &lt;br /&gt;
 Hanging up call 0 &lt;br /&gt;
 Radio-Select: NAV2 &lt;br /&gt;
 Selected frequency: 115.800 &lt;br /&gt;
 Call rejected by remote &lt;br /&gt;
 [LISTEN] mute mic, unmute speaker &lt;br /&gt;
That means: at about 50KM we are getting out of range and thus the on COM2 active SF getts terminated. Notice that also the inactive NAV2 gets terminated, because it exceeded the allowable range at about the same time!&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You could turn now and watch the opposite: At about the same distance those two will become active again (automatically, if you did not change the settings).&lt;br /&gt;
&lt;br /&gt;
If you got here without any (technical) problems your FGCom is fully functional. Have fun when using it.&lt;br /&gt;
&lt;br /&gt;
=== Using FGCom ===&lt;br /&gt;
There are basically three types of FGCom-usage:&lt;br /&gt;
* '''Normal usage at airports:''' i.e. You set your radio to the airport as usual. Thus you are set up for the usual ATC-(keyboard)-procedures (either through the &amp;quot;'&amp;quot; (UpperCase#) and/or the Chat-Menus). In addition you then can talk to anybody in a radius of about 100 km (about 54 miles) around the airport, may that be friends, a maintained FGCOM-ATC/Twr-Operator, airport utilities, etc.. Be aware that as of April 2009 only very few planes are using the FGCOM for ATC-purposes - thus you should always use the ATC-Chat &amp;quot;keyboard&amp;quot;-procedures to announce arrivals/departures/taxiing etc. in addition. (We hope that may change in some future!)&lt;br /&gt;
* The '''AirToAir frequencies (122.75 and 123.45)''' are ideal for all Multiplayer events. They are without any range-limitations - and not yet &amp;quot;overcrowded!). Also when traveling you might want to listen on the 122.75 for others who want to contact you (or reverse). When there is much &amp;quot;talk&amp;quot; on the 122.75 you might just arrange with your partner to switch to 123.45 - and return to 122.75 afterward. As of April 2009 the 122.75 is already operational for this application, the 123.45 will follow soon. You may try from time to time if this limitations still exist.&lt;br /&gt;
* The Echo-Test frequency 910.00 to test your sound settings&lt;br /&gt;
* Finally you can manipulate the frequency-tables (positions.txt in your FGFS/FGCOM local directory) and '''define an own frequency for special events'''. e.g. a Flight-School at one airport with maybe multiple student-groups. Of course those are local manipulations on your own PC, which you have to agree on with your (planned to be) partners in advance.&lt;br /&gt;
&lt;br /&gt;
=== Supplemantery Information ===&lt;br /&gt;
==== Tips and Tricks ====&lt;br /&gt;
===== Airport missing in FGCom: =====&lt;br /&gt;
In case your favorite airport does not show up in the FGCOM (command-window), although you can tune your COMM to it, you can add it to your data-file “'''positions.txt'''” in your fgcom directory. See e.g. the line &lt;br /&gt;
   KSFO,120.500,37.616630,-122.385478,TWR,San Francisco Intl&lt;br /&gt;
You can add extra lines for any locations you want. e.g.: (watch the separation comas)&lt;br /&gt;
 apt-code = DUMY   (a &amp;quot;dummy&amp;quot; or your favorite, but missing, airport code)&lt;br /&gt;
 KHz      = take it out of your “FGFS-home/data/Airports/apt.dat.gz”&lt;br /&gt;
            or just take one of which you are sure that you do not need it in the FGFS-reality&lt;br /&gt;
            (notice that several Airports (far apart) use same frequencies!&lt;br /&gt;
 long/lat = take out of the Mpmap (or Google Map)&lt;br /&gt;
 type     = whatever&lt;br /&gt;
 name     = whatever&lt;br /&gt;
''(of course those definition are only known to your own PC and last only until the next data update!)''&lt;br /&gt;
&lt;br /&gt;
===== Editing FGCOM-Data-Files =====&lt;br /&gt;
If you edit Textfiles (e.g. Radio-listings) or xml-files you might not see line-endings when using your standard editor.&lt;br /&gt;
* For windows you can use &amp;quot;WordPad&amp;quot;&lt;br /&gt;
* For Linux the &amp;quot;gedit&amp;quot; works fine&lt;br /&gt;
&lt;br /&gt;
===== Copying-Printing this WIKI-Page =====&lt;br /&gt;
If you absolutely want to have a local copy of this on your PC or need a hard-copy, then:&lt;br /&gt;
&lt;br /&gt;
* to copy:&lt;br /&gt;
** select in the Browser-Menu: &amp;quot;File&amp;quot; --&amp;gt; &amp;quot;Save Page as.. &amp;quot;&lt;br /&gt;
* to print:&lt;br /&gt;
** go to the [http://wiki.flightgear.org/index.php?title=FGCOM&amp;amp;printable=yes printable version].&lt;br /&gt;
** Then I suggest: Menu --&amp;gt; File --&amp;gt; &amp;quot;Page Setup&amp;quot;: Set to &amp;quot;Landscape&amp;quot; --&amp;gt; &amp;quot;Apply&amp;quot;&lt;br /&gt;
** before printing I recommend: Menu --&amp;gt; File --&amp;gt; &amp;quot;Print Preview&amp;quot; and you see those many many pages!&lt;br /&gt;
** If you really want to wast that paper: Menu --&amp;gt; &amp;quot;File&amp;quot; --&amp;gt; &amp;quot;Print&amp;quot; and it will print on your favorite printer&lt;br /&gt;
&lt;br /&gt;
===== Joystick compatibility between Operating Systems: =====&lt;br /&gt;
{{Main article|Joystick}}&lt;br /&gt;
&lt;br /&gt;
You may use the same joystick-definitions across all Operating-Systems: But you may need to change the assigned numbers - your joystick-vendor might have done that for you already. Check e.g. (Unix, Mac, Win having assigned different &amp;quot;numbers&amp;quot;):&lt;br /&gt;
 &amp;lt;axis&amp;gt;        (instead of the usual &amp;lt;axis n=”3”&amp;gt; )&lt;br /&gt;
  &amp;lt;desc&amp;gt;Mixture&amp;lt;/desc&amp;gt; &lt;br /&gt;
  &amp;lt;number&amp;gt; &lt;br /&gt;
   &amp;lt;unix&amp;gt;3&amp;lt;/unix&amp;gt; &lt;br /&gt;
   &amp;lt;mac&amp;gt;5&amp;lt;/mac&amp;gt; &lt;br /&gt;
   &amp;lt;windows&amp;gt;5&amp;lt;/windows&amp;gt; &lt;br /&gt;
  &amp;lt;/number&amp;gt; &lt;br /&gt;
  &amp;lt;binding&amp;gt; &lt;br /&gt;
   &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt; &lt;br /&gt;
   &amp;lt;script&amp;gt;controls.mixtureAxis()&amp;lt;/script&amp;gt; &lt;br /&gt;
  &amp;lt;/binding&amp;gt; &lt;br /&gt;
 &amp;lt;/axis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Assign PTT to joystick =====&lt;br /&gt;
If you want to assign the PushToTalk function to your joystick, add the following (for n you have to find your own number!)&lt;br /&gt;
 &amp;lt;button n=&amp;quot;x&amp;quot;&amp;gt; &lt;br /&gt;
  &amp;lt;desc&amp;gt;PTT - Push To Talk&amp;lt;/desc&amp;gt; &lt;br /&gt;
  &amp;lt;binding&amp;gt; &lt;br /&gt;
   &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt; &lt;br /&gt;
   &amp;lt;script&amp;gt;controls.ptt(1)&amp;lt;/script&amp;gt; &lt;br /&gt;
  &amp;lt;/binding&amp;gt; &lt;br /&gt;
  &amp;lt;mod-up&amp;gt; &lt;br /&gt;
   &amp;lt;binding&amp;gt; &lt;br /&gt;
    &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt; &lt;br /&gt;
    &amp;lt;script&amp;gt;controls.ptt(0)&amp;lt;/script&amp;gt; &lt;br /&gt;
   &amp;lt;/binding&amp;gt; &lt;br /&gt;
  &amp;lt;/mod-up&amp;gt; &lt;br /&gt;
 &amp;lt;/button&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Helpful internet adresses ====&lt;br /&gt;
'''World-Time:''' &lt;br /&gt;
* [http://www.timeanddate.com/worldclock/custom.html?sort=1 standard deviations]&lt;br /&gt;
* [http://www.timezoneconverter.com/cgi-bin/tzc.tzc direct conversions]&lt;br /&gt;
&lt;br /&gt;
Especially for multiplayer events you should define all times in the internationally used GMT (Greenwich Meantime). Just pick up your deviation from GMT and memorize it. If everybody does it, we could avoid a lot of misunderstandings.&lt;br /&gt;
&lt;br /&gt;
* '''Decimal to Degree''' http://www.hbnweb.de/mathematik/grad-dezimal.html &amp;lt;br /&amp;gt;&lt;br /&gt;
*: Some programs need Decimal Lon/Lat values, others the Degrees/Minutes/Sec. Just convert it.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''Miles, km, feet, etc. etc. ...''': http://www.convertunits.com/&lt;br /&gt;
*: If like to avoid troubles (like NASA lost a satellite because of it) just look it up.&lt;br /&gt;
&lt;br /&gt;
'''Ports needed'''&lt;br /&gt;
&lt;br /&gt;
In case of problems over the internet you might check that the the following ports are allowed:&lt;br /&gt;
 1314	TCP	if the Festival-Server is used for Text/Sound &lt;br /&gt;
 2005	UDP	Vcp-Stream&lt;br /&gt;
 4569	UDP	FGCom  VoIP, (Inter-Asterisk eXchange)&lt;br /&gt;
 5000	UDP	in/out Multiplayer    (VPN Sftw.)&lt;br /&gt;
 5001	UDP	Enable HTTP-server&lt;br /&gt;
 5002	UDP	Enable property server&lt;br /&gt;
 5003	UDP	Enable Screen-Shot services&lt;br /&gt;
 5004   UDP     (may be used as a spare)&lt;br /&gt;
 5505	UDP	Terra Sync&lt;br /&gt;
 16661	UDP	FGCom listening to FGFS, usually “local host” only&lt;br /&gt;
Also consider that some modern modems do already provide a firewall. If in addition to that you use a local firewall in your PC, than you might expect an unhealthy competition between those two concurrent firewalls. In case of problems you should deactivate one of those (usually the one inside the PC, especially if several PCs are connected via that modem).&lt;br /&gt;
&lt;br /&gt;
==== Commandline Parameters ====&lt;br /&gt;
 fgcom --help&lt;br /&gt;
returns the following useful info&lt;br /&gt;
&lt;br /&gt;
  fgcom - a communication radio based on VoIP with IAX/Asterisk&lt;br /&gt;
  Original (c) 2007-2011 by H. Wirtz &amp;lt;wirtz@dfn.de&amp;gt;&lt;br /&gt;
  OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.&lt;br /&gt;
  Version 3.1.0 compiled Mar  2 2014, at 00:21:19&lt;br /&gt;
  Using iaxclient library Version SVN 261&lt;br /&gt;
  &lt;br /&gt;
    OPTION                                                DESCRIPTION&lt;br /&gt;
  &lt;br /&gt;
    -d, -debug, --debug=                                  show debugging information&lt;br /&gt;
    -S, -voipserver, --voipserver=                        voip server to connect to (default: 'fgcom.flightgear.org')&lt;br /&gt;
    -s, -fgserver, --fgserver=                            fg to connect to  (default: 'localhost')&lt;br /&gt;
    -p, -port, --port=                                    where we should listen to FG (default: '16661')&lt;br /&gt;
    -a, -airport, --airport=                              airport-id (ICAO) for ATC-mode&lt;br /&gt;
    -f, -frequency, --frequency=                          frequency for ATC-mode&lt;br /&gt;
    -C, -callsign, --callsign=                            callsign to use (default: 'guest')&lt;br /&gt;
    -U, -user, --user=                                    username for VoIP account (default: 'guest')&lt;br /&gt;
    -P, -password, --password=                            password for VoIP account (default: 'guest')&lt;br /&gt;
    -i, -mic, --mic=                                      mic input level (0.0 - 1.0)&lt;br /&gt;
    -o, -speaker, --speaker=                              speaker output level (0.0 - 1.0)&lt;br /&gt;
    -b, -mic-boost, --mic-boost=                          enable mic boost&lt;br /&gt;
    -t, -silence-threshold, --silence-threshold=          set silence threshold (-60.0 - 0.0)&lt;br /&gt;
    -l, -list-audio, --list-audio=                        list audio devices&lt;br /&gt;
    -r, -set-audio-in, --set-audio-in=                    use &amp;lt;devicename&amp;gt; as audio input&lt;br /&gt;
    -k, -set-audio-out, --set-audio-out=                  use &amp;lt;devicename&amp;gt; as audio output&lt;br /&gt;
    -c, -codec, --codec=                                  use codec &amp;lt;codec&amp;gt; as transfer codec (default: 'u')&lt;br /&gt;
    -T, -positions, --positions=                          location positions file (default: '/usr/share/flightgear/positions.txt')&lt;br /&gt;
    -Q, -special, --special=                              location spl. frequency file (opt) (default: '/usr/share/flightgear/special_frequencies.txt')&lt;br /&gt;
  &lt;br /&gt;
    Available codecs:&lt;br /&gt;
          u - ulaw (default and best codec because the mixing is based onto ulaw)&lt;br /&gt;
          a - alaw&lt;br /&gt;
          g - gsm&lt;br /&gt;
          s - speex&lt;br /&gt;
          7 - G.723&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
    Mode 1: client for COM1 of flightgear:&lt;br /&gt;
          $ fgcom&lt;br /&gt;
    - connects fgcom to fgfs at localhost:16661&lt;br /&gt;
          $ fgcom -sother.host.tld -p23456&lt;br /&gt;
    - connects fgcom to fgfs at other.host.tld:23456&lt;br /&gt;
  &lt;br /&gt;
    Mode 2: client for an ATC at &amp;lt;airport&amp;gt; on &amp;lt;frequency&amp;gt;:&lt;br /&gt;
          $ fgcom -aKSFO -f120.500&lt;br /&gt;
    - sets up fgcom for an ATC radio at KSFO 120.500 MHz&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Note that fgcom starts with a guest account unless you use -U and -P!&lt;br /&gt;
&lt;br /&gt;
Also note that the current server (fgcom.flightgear.org) works with guest account, so '''do not use -U or -P'''&lt;br /&gt;
&lt;br /&gt;
== Server installation ==&lt;br /&gt;
{{Main article|Howto: Set up a FGCom server}}&lt;br /&gt;
Main FGCom server fgcom.flightgear.org hosted by F-JJTH (contact on forum, IRC, mailing list)&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://sourceforge.net/projects/fgcom/ fgcom(SourceForge-Project)] Subversion is [http://fgcom.svn.sourceforge.net/ available here]. If you haven't used Subversion before, you might find it easier to fetch a [http://fgcom.svn.sourceforge.net/viewvc/fgcom/?view=tar archive] instead.&lt;br /&gt;
* latest source available here (?): http://code.google.com/p/fgcomgui/&lt;br /&gt;
&lt;br /&gt;
=== Deprecated or broken links ===&lt;br /&gt;
* [http://squonk.abacab.org/dokuwiki/fgcom Old Official website] &lt;br /&gt;
* [http://squonk.abacab.org/dokuwiki/fgcom-manual Manual]&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
* '''October, 2013:'''&lt;br /&gt;
FGCom standalone is now part of FlightGear release ( two release per year, same version number policy)&lt;br /&gt;
&lt;br /&gt;
FGCom standalone is available at http://fgcom.flightgear.org/download&lt;br /&gt;
&lt;br /&gt;
* '''August, 2013:'''&lt;br /&gt;
FGCom has been integrated into FlightGear&lt;br /&gt;
&lt;br /&gt;
'''New FGCom server : fgcom.flightgear.org''' ( ATIS message record, backward compatibility with old/wrong frequencies, ready for 8.33KHz spacing frequency, new dialplan using last data from X-Plane)&lt;br /&gt;
&lt;br /&gt;
* '''March, 2009:'''&lt;br /&gt;
Adding User-Information for installing, using, maintaining FGCOM on different platforms.&lt;br /&gt;
&lt;br /&gt;
* '''18 November, 2008:'''&lt;br /&gt;
Latest SVN (rev 163) has the compile problems fixed. Also we have a new server: fgcom.flightgear.org.uk. User accounts not required (ie. do '''not''' use -U or -P)&lt;br /&gt;
&lt;br /&gt;
* '''31 October, 2008:''' &lt;br /&gt;
&lt;br /&gt;
The latest SVN release at this time is the '''r149''' which does not compile due to a constant that is not defined (STL_STRING). Such constant appears at line 57 in the file ''src/fgcom_init.cpp'' which is:&lt;br /&gt;
''#include STL_STRING''&lt;br /&gt;
&lt;br /&gt;
I guess that such constant must point to the STL library include file but I am not sure.&lt;br /&gt;
I revert to the '''r148''' SVN version which successfully compiles.&lt;br /&gt;
&lt;br /&gt;
Command to get such version is: ''svn co -r148 svn://svn.dfn.de:/fgcom/trunk fgcom-r148''&lt;br /&gt;
&lt;br /&gt;
* '''19 June, 2008:''' Currently the server is &amp;lt;u&amp;gt;down&amp;lt;/u&amp;gt; due to hardware problems. It is unknown when the service comes back because he currently has no time to fix the problems.&lt;br /&gt;
&lt;br /&gt;
* '''22 November 2007:''' Due to heavy development at this time there may be some differences between the information on the web pages and the installation. Please follow the discussions on the FlightGear development list!&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[FlightGear related projects]]&lt;br /&gt;
* [[FGComGui]]&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [http://sourceforge.net/projects/fgcom/ Old repository] at sourceforge&lt;br /&gt;
&lt;br /&gt;
[[Category:FGCom| ]]&lt;br /&gt;
[[Category:Multiplayer]]&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78689</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78689"/>
		<updated>2015-01-01T18:20:28Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Options details */  update doc for FGCOM 3.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# You can also check that your PTT works fine looking at the &amp;quot;PTT test&amp;quot; checkbox when you press your PTT button (default is spacebar)&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Echo test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* PTT test : when you press your PTT this checkbox will be checked&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Silence threshold : set the limit, in dB, when FGCom consider no voice in your microphone&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Originating an audio only call&lt;br /&gt;
 Call 0 accepted&lt;br /&gt;
 Echo Box - For testing FGCOM&lt;br /&gt;
 Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;--help&amp;quot; argument will show you all the available options.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78688</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=78688"/>
		<updated>2015-01-01T18:17:37Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Dialog details */ update doc for FG 3.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# You can also check that your PTT works fine looking at the &amp;quot;PTT test&amp;quot; checkbox when you press your PTT button (default is spacebar)&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Echo test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* PTT test : when you press your PTT this checkbox will be checked&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Silence threshold : set the limit, in dB, when FGCom consider no voice in your microphone&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Originating an audio only call&lt;br /&gt;
 Call 0 accepted&lt;br /&gt;
 Echo Box - For testing FGCOM&lt;br /&gt;
 Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;-h&amp;quot; argument will show you all available options. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:FGCom_dialog.png&amp;diff=78686</id>
		<title>File:FGCom dialog.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:FGCom_dialog.png&amp;diff=78686"/>
		<updated>2015-01-01T18:12:23Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: F-JJTH uploaded a new version of &amp;amp;quot;File:FGCom dialog.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=FGCom dialog available in FG &amp;gt;= 2.99.0}}&lt;br /&gt;
|date=2013-08-19 16:57:43&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:F-JJTH|Clément de l'Hamaide]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other_versions=&lt;br /&gt;
|other_fields=&lt;br /&gt;
}}&lt;br /&gt;
{{Location dec|0|0}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-3.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Install_aircraft&amp;diff=78642</id>
		<title>Howto:Install aircraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Install_aircraft&amp;diff=78642"/>
		<updated>2014-12-28T09:09:24Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{installing}}&lt;br /&gt;
&lt;br /&gt;
The latest official [[aircraft]] can be downloaded at [http://www.flightgear.org/download/aircraft-v3-2/ FlightGear.org Aircraft], which then usually require unzipping software to extract from a compressed file format. Then these must be manually installed in a FlightGear software installation to use. The details depend on the method of download, operating system, and user setup. &lt;br /&gt;
&lt;br /&gt;
An open source file archiver is [http://www.7-zip.org/ 7-Zip], although be aware of user setup.&lt;br /&gt;
&lt;br /&gt;
== Installation process ==&lt;br /&gt;
=== Linux ===&lt;br /&gt;
(Ubuntu 12.04) &lt;br /&gt;
# Download the aircraft&lt;br /&gt;
# Create a directory to store your aircraft if you have not already done so. Make sure this directory is outside &amp;lt;tt&amp;gt;/usr/share/games/flightgear/&amp;lt;/tt&amp;gt;. For example, use &amp;lt;tt&amp;gt;/home/{YourUserName}/FlightGear/Aircraft&amp;lt;/tt&amp;gt;. &lt;br /&gt;
# Extract your aircraft file into the folder (the one you created above)&lt;br /&gt;
#: unzip XXXXX.zip&lt;br /&gt;
# Start up FlightGear. Append the root aircraft folder (&amp;lt;tt&amp;gt;/home/{YourUserName}/FlightGear/Aircraft&amp;lt;/tt&amp;gt; in our example) to the $FG_AIRCRAFT list on the first page (previous to aircraft selection) of the launcher. Your aircraft should now show up in the list.&lt;br /&gt;
&lt;br /&gt;
=== Macintosh OS X ===&lt;br /&gt;
# Open GUI Launcher for FlightGear Mac&lt;br /&gt;
# Click on &amp;quot;Others&amp;quot; tab at middle right of launcher&lt;br /&gt;
# Click &amp;quot;Install Add-On Data&amp;quot; link at bottom of launcher&lt;br /&gt;
# Select aircraft folder from menu, and click &amp;quot;Open&amp;quot;&lt;br /&gt;
# Click OK on pop-up box.&lt;br /&gt;
&lt;br /&gt;
Please note: For Mac users, the above will not work if you have not installed FG to the applications folder. If you do not want to put your version of FG in your applications folder, you can place it in a separate folder of your own creation. That will allow the above aircraft (&amp;amp; scenery) installation method to work correctly/&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
# Download an aircraft and save it on your desktop.&lt;br /&gt;
# Unzip the file using a file archiver, like for example 7-Zip.&lt;br /&gt;
# Create a directory to store your aircraft if you have not already done so. Make sure this directory is outside your &amp;lt;tt&amp;gt;[[$FG_ROOT]]&amp;lt;/tt&amp;gt; directory. For example, use &amp;lt;tt&amp;gt;C:/Users/{YourUserName}/Documents/FlightGear/Aircraft&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Move the unzipped folder (usually the aircraft's name) to your that aircraft directory.&lt;br /&gt;
# Start up FlightGear. Append the root aircraft folder  (&amp;lt;tt&amp;gt;C:/Users/{YourUserName}/Documents/FlightGear/Aircraft&amp;lt;/tt&amp;gt; in our example) to the [[$FG_AIRCRAFT]] list on the first page (previous to aircraft selection) of the launcher. Your aircraft should now show up in the list.&lt;br /&gt;
&lt;br /&gt;
== When installing an aircraft fails ==&lt;br /&gt;
=== XML files with wrong encoding === &lt;br /&gt;
If you start FlightGear with the new plane you installed and there is no cockpit or exterior, this may be because the XML files are in the wrong encoding.&lt;br /&gt;
&lt;br /&gt;
To fix this on Linux try this:&lt;br /&gt;
&lt;br /&gt;
 $ cd path/to/aircraft/directory/&lt;br /&gt;
 $ find . -name &amp;quot;*.xml&amp;quot; -print | xargs sed -i 's/&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;/&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;/g'&lt;br /&gt;
&lt;br /&gt;
=== The aircraft folder have to be renamed ===&lt;br /&gt;
If you start FlightGear with the aircraft you installed it is invisible or if FlightGear will not start with your newly installed aircraft, but will start with other aircraft you might need to rename the aircraft folder.&lt;br /&gt;
&lt;br /&gt;
If there is a readme file have a look there for instructions, otherwise try change to more obvious names like renaming for example &amp;quot;A320-master&amp;quot; to &amp;quot;A320&amp;quot; or &amp;quot;boeing-707&amp;quot; to &amp;quot;707&amp;quot;.  If that does not work ask around on the [[Howto:Multiplayer#Multiplayer chat|multiplayer chat]], [[FlightGear IRC channel|IRC]] or on the [http://forum.flightgear.org/viewforum.php?f=11 forum].&lt;br /&gt;
&lt;br /&gt;
== Choosing aircraft ==&lt;br /&gt;
If you are looking for information to decide what aircraft to download, try:&lt;br /&gt;
* [[Aircraft]]&lt;br /&gt;
* [[Helicopter]]&lt;br /&gt;
* [[Vehicle]]&lt;br /&gt;
* [[Table of models]]&lt;br /&gt;
External links to third party aircraft can be found at [[FlightGear hangars]]. Remember that the latest aircraft may not load with previous versions. If you happen to use an older version of FlightGear, look for older aircraft in the links section.&lt;br /&gt;
&lt;br /&gt;
== For developers ==&lt;br /&gt;
Help develop the [[FlightGear Package Manager]] which is intended to support automatic aircraft and scenery installation, currently in alpha development and in need of testing.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Installing Scenery]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|Install aircraft]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Howto Installer un avion]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Project_Rembrandt&amp;diff=77229</id>
		<title>Project Rembrandt</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Project_Rembrandt&amp;diff=77229"/>
		<updated>2014-10-19T19:32:53Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- {{WIP}} --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why this name ? ==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Rembrandt Rembrandt] was a dutch painter living in the 17th century, famous as one of the master of [http://en.wikipedia.org/wiki/Chiaroscuro chiaroscuro].&lt;br /&gt;
&lt;br /&gt;
This project is about changing the way [[FlightGear]] renders lights, [[shadows]] and shades, and aims at making Rembrandt painting style possible in FG.&lt;br /&gt;
&lt;br /&gt;
{{forum|47|Effects &amp;amp; Shaders}}&lt;br /&gt;
&lt;br /&gt;
== Status (07/2014) ==&lt;br /&gt;
For the time being, Rembrandt's main developer (FredB) is not actively involved in FlightGear, and Rembrandt must be considered &amp;quot;unmaintained&amp;quot; currently. However, there are 2-3 overlapping efforts, some of which were discussed on the developers mailing list. First of all, there's Zan's newcamera branch, which has never been merged with FlightGear, but which exposes FlightGear's rendering pipelines to XML/fgdata space via the effects framework - which basically means that large portions of Rembrandt could be moved out of the C++ code back into GLSL/effects space, which is something that was originally discussed by a few core developers. This has never materalized, because Zan's work took place pretty much at the same time when Rembrandt was being developed. Likewise, some technical challenges could be easily addressed by exposing each rendering stage to a [[Canvas]] texture, which would mainly require two new features: 1) [[Canvas_Development#Supporting_Cameras|supporting camera views as a new Canvas::Element]], and 2) [[Canvas_Development#Effects_.2F_Shaders|supporting effects/shaders]] per Canvas/Element. &lt;br /&gt;
From then on, most [[Howto:Use_a_Camera_View_in_an_Instrument|Rembrandt-like functionality, including mirror views, tail cameras or FLIR-like processing]], could be fully implemented and maintained by fgdata contributors familiar with the effects framework and shaders, without necessarily being specific to just deferred rendering:  &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Personally, I see the potential of deferred rendering, but if it ends up with 15 fps on a gaming rig, then that's what it's going to remain - potential waiting for the next or next-to-next hardware generation. For me personally, real secondary light sources and shadows aren't a big deal. They're important on the ground, at an airport, but I'm usually flying. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Self-shadowing of the terrain can be done in 90% of the cases accurately without Rembrandt because the terrain is rarely that steeply sloped, and the interesting other shadows in nature - clouds and trees - can't be done by Rembrandt in any case. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204372#p204372&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Mar 27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Rembrandt is just one  particular (and experimental) implementation of deferred rendering implemented via FlightGear - when running other simulators/games -with comparable scenes (not necessarily 400km of visibility!)- you'll see that performance isn't typically that much affected. So I guess there's nothing wrong about Rembrandt per se, but it just isn't very optimized at the moment, and it not being maintained doesn't really help. A few weeks ago when we exchanged screen shots and Rembrandt stats, there were apparently a few low-hanging fruits, and Rembrandt was obviously doing stuff that wasn't really necessary (e.g. computing shadows at night time without any light sources within 50km...)&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204374#p204374&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Mar 27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The situations I'm aware of were deferred rendering is used are frequently first person shooters. From the ground, where you have plenty of objects obscuring each other, deferred rendering would give you a pronounced boost in framerate as you spend minimal time with vertices you're not going to see.  That advantage never really materializes for a flightsim.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Imo, what makes our performance in comparison worse than other software where a large scene is rendered is the lack of a terrain LOD system. Our vertex count just explodes at high visibility. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I mean, FredB obviously spent quite some time with Rembrandt. If someone can make it run much faster, than that'd change the game, but so far we have mostly talk.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204375#p204375&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Mar 27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Given how FlightGear has evolved over time, not just regarding effects/shaders, but also complementary efforts like deferred rendering (via rembrandt), we'll probably see cameras (and maybe individual rendering stages) exposed as Canvases, so that there's a well-defined interface for hooking up custom effects/shaders to each stage in the pipeline - Zan's newcamera work demonstrates just how much flexibility can be accomplished this way, basically schemes like Rembrandt could then be entirely maintained in XML/effects and shader (fgdata) space.&amp;lt;br/&amp;gt;&lt;br /&gt;
And even the fgviewer code base could be significantly unified by just working in terms of canvases that deal with camera views, which also simplifies serialization for HLA. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=216741#p216741&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: create window&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Aug 16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |So we would need to extend CanvasElement then to support effects - according to some of your postings, you played with that already a while ago using code from SGMaterialAnimation apparently, as in 2 years ago ? Is that something that we should reuse ?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Specifically, I've been in touch with some of our effects/shader guys, and we're wondering if we could directly register a Canvas/Effects texture as a texture available to effects, which is something that Thorsten and Tim talked about a while ago, being a limitation in effects that they would like to get rid of&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=201852#p201852&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Tue Feb 25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |this all predates Canvas - but if we could not just support glsl/effects in Canvas, but also expose those canvas textures to the effects system, that would bring a lot of possibilities&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=201852#p201852&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Tue Feb 25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |regarding Rembrandt in particular, we are only missing 2-3 [[Canvas]] enhancements to allow effects/shader guys to pick up where FredB left off - which are primarily, &lt;br /&gt;
# camera support&lt;br /&gt;
# effects/shader support&lt;br /&gt;
&lt;br /&gt;
And people have this working in various stages already, sometimes unrelated to [[Canvas]] (Zan's newcameras branch), and sometimes not yet fully integrated (e.g. the shader stuff). But generally it is foreseeable that additional rendering schemes (deferred rendering) could then be implemented by people without having to touch any C++ code.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204338#p204338&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Mar 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |So, it's not really Rembrandt that's the issue here, the bottleneck is the number of active expert C++ developers (you cannot really touch the 3D parts of the simulator with &amp;quot;just&amp;quot; C++ knowledge, you also need strong maths skills and OpenGL/OSG 3D rendering experience), especially once they're no longer around to help integrate their code and if there's little documentation to help newcomers maintain their code, because that's when base package development is often taking over eventually.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |For example, I think it's pretty safe to say that the Canvas system was never intended to &amp;quot;compete&amp;quot; with Rembrandt, and most people here will be wondering how it could possibly be competing at all ? But ultimately it really is an integration and accessiblity issue, too. Admitedly, you need to be familiar with the way the project works to foresee what could be happening here, but it's not really far-fetched at all:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I had a quick look, and according to the initial Rembrandt commits by FredB, they were all about decoupling rendering into multiple stages and doing offscreen rendering to textures. This is also supported by the wiki and the initial Rembrandt discussions on the devel list. So far, straightforward to understand - even without knowing any GLSL.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So basically it's about decoupling each rendering step and rendering each stage to a separate offscreen texture, and then it's mostly about exposing each rendering step/stage to the effects/GLSL framework for further processing there.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Rembrandt obviously predates the Canvas system, but these days that's exactly what the Canvas is good at: offscreen rendering to an osg::Image, without having to touch any C++ code, and without having to build FlightGear from source.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Tim Moore (developer of the effects framework) did mention several times how it would be great to extend the effects framework to allow  arbitrary textures to be used as inputs/outputs for the effects frame. For example, see: [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg37873.html http://www.mail-archive.com/flightgear- ... 37873.html]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So consider a Canvas texture as the potential input/output for an effect, and there you have it: Canvas + effects/shader {{=}}&amp;amp;gt; one important ingredient for a Canvas-based Rembrandt port. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |we also have dozens of feature requests from aircraft developers to allow scenery views to be rendered as cockpit textures, e.g. to render mirrors or tail camera images. A feature also commonly seen on FSX and XPlane. &amp;lt;br/&amp;gt;&lt;br /&gt;
Several years ago, Zan made lots of progress doing this sort of thing, long before the Canvas again - so it's also an integration issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
These days, this would require the view_mgr code to be adapted and turned into a Canvas::Element. For example, see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg36673.html http://www.mail-archive.com/flightgear- ... 36673.html]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto:Use_a_Camera_View_in_an_Instrument]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Other aircraft developers have asked for effects/GLSL being available to cockpit textures for other reasons, e.g. to implement night vision views/FLIR imagings. And supporting effects/shaders in Canvas has been discussed various times on the forum too.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So, these are just two new features: 1) making effects/GLSL usable to Canvas textures and 2) rendering scenery views - and suddenly you have two major ingredients for a deferred shading scheme in place, without requiring extensive C++ changes, and without necessarily having to even look at Rembrandt ...&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I don't think that anybody is working on replacing Rembrandt, but I also don't think that we have any active core developers who could easily help maintain Rembrandt (except for FredB obviosuly) - still it is foreseeable that the Canvas system will -eventually- provide all essential building blocks to allow deferred rendering to be built on top, it's really just a matter of time.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
At that point revisiting the Rembrandt code and moving its rendering stages into cascaded Canvas textures that make use of scenery views and effects/shaders with an osgViewer-based placement, would be straightforward for any GLSL developer, much more so than getting to grips with the underlying Rembrandt C++ code itself. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So, nobody  is working on revamping/replacing Rembrandt, but even if it  were to continue to be stalled, the idea could still evolve - C++ templates were also never intended to be turing-complete, it just happened by accident :lol:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
As we know, even for good ideas, it usually takes ~3-5 years for them to be implemented (remember: OSG port, Rembrandt, Canvas etc).&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So I still wouldn't hold my breath. But re-considering the way Rembrandt is done and integrating it with the Canvas system would help make it less obscure and more accessible to effects/GLSL developers, especially for times when there are no C++/3D experts around.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== What is it ? ==&lt;br /&gt;
The idea driving the project is to implement [http://en.wikipedia.org/wiki/Deferred_shading deferred rendering] inside FlightGear.&lt;br /&gt;
From the beginning FlightGear had a forward renderer that tries to render all properties of an object in one pass (shading, lighting, fog, ...), making it difficult to render more sophisticated shading &lt;br /&gt;
(see the [[FlightGear Newsletter December 2011#Shaders|'Uber-shader']]) because one has to take into account all aspects of the [http://www.wired.com/magazine/2010/07/st_equation_3danimation/ rendering equation].&lt;br /&gt;
&lt;br /&gt;
[[Image:project_rembrandt_1.png|thumb|300px|Main view with the content of buffers displayed at corners]]&lt;br /&gt;
On the contrary, deferred rendering is about separating operations in simplified stages and collecting the intermediary results in hidden buffers that can be used by the next stage.&lt;br /&gt;
&lt;br /&gt;
;First stage is the Geometry Stage :&lt;br /&gt;
: we render all the scene into 4 textures, using multi render targets, to do it in one pass: one for the depth buffer, one for the normals (lower left of the image), one for the diffuse colors (lower right) and one for the specular colors (upper right).&lt;br /&gt;
&lt;br /&gt;
;Next stage is the Shadow Stage :&lt;br /&gt;
: we render the scene again into a depth texture from the point of view of the lights. There will be one texture for every light casting shadows.&lt;br /&gt;
&lt;br /&gt;
;Then comes the Lighting Stage, with several substages :&lt;br /&gt;
:*&amp;lt;u&amp;gt;Sky pass&amp;lt;/u&amp;gt;: the sky is first drawn using classical method.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Ambient pass&amp;lt;/u&amp;gt;: the diffuse buffer is modulated with the ambient color of the scene and is drawn as a screen-aligned textured quad&lt;br /&gt;
:*&amp;lt;u&amp;gt;Sunlight pass&amp;lt;/u&amp;gt;: a second screen aligned quad is drawn and a shader computes the view position of every pixel to compute its diffuse and specular color, using the normal stored in the first stage. The resulting color is blended with the previous pass. Shadows are computed here by comparing the position of the pixel with the position of the light occluder stored in the shadow map.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Fog pass&amp;lt;/u&amp;gt;: a new screen aligned quad is draw and the position of the pixel is computed to evaluate the amount of fog the pixel has. The fog color is blended with the result of the previous stage.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Additional light pass&amp;lt;/u&amp;gt;: the scene graph will be traversed another time to display light volumes (cone or frusta for spot lights, sphere for omni-directional lights) and their shader will add the light contributed by the source only on pixels receiving light.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Transparent objects pass&amp;lt;/u&amp;gt;: transparent objects (and clouds) are finally rendered using classical method.&lt;br /&gt;
&lt;br /&gt;
:All lighting computations are accumulated in a single buffer that will be used for the last stage, in addition of the one computed by the Geometry stage.&lt;br /&gt;
&lt;br /&gt;
;In the end, the Display Stage, with optional Post-Processing effect :&lt;br /&gt;
:The results of the previous buffers are pushed to the main framebuffer to be displayed, optionally modified to show Glow, Motion blur, HDR, redout or blackout, screen-space ambient occlusion, anti-aliasing, etc...&lt;br /&gt;
&lt;br /&gt;
In FG, we end the rendering pipeline by displaying the [[Menubar|GUI]] and the [[HUD]].&lt;br /&gt;
&lt;br /&gt;
All these stages are more precisely described in this [http://bat710.univ-lyon1.fr/~jciehl/Public/educ/GAMA/2007/Deferred_Shading_Tutorial_SBGAMES2005.pdf tutorial] that is the basis of the current code, with some addition and modifications.&lt;br /&gt;
&lt;br /&gt;
C++ developers interested in learning more about how Rembrandt works, will want to look at these initial $FG_SRC commits (note that the viewer related sources are now to be found in $FG_SRC/Viewer):&lt;br /&gt;
* 94e3ae4c675463c358071e1d9da8de583cf56e15 &lt;br /&gt;
* 6b008126b5fd99c38778c6293c15f9721a4fa509&lt;br /&gt;
* 64e3e98069fb2310311687b9f099b338b8b375a5&lt;br /&gt;
* bb16463d631a8d87310a54a573966eb1cca813e6&lt;br /&gt;
&lt;br /&gt;
== Caveats ==&lt;br /&gt;
Deferred rendering is not able to display transparency. For the moment, clouds are renderer separately and should be lit and shaded by their own. Transparent surfaces are alpha-tested and not blended. They would have to be drawn in their own bin over the composited image.&lt;br /&gt;
&lt;br /&gt;
It also don't fit with depth partitioning because the depth buffer should be kept to retain the view space position, so for the moment, z-fighting is quite visible. Depth partitioning with non overlapping depth range might be the solution and should be experimented at one point.&lt;br /&gt;
&lt;br /&gt;
The glow pass can make certain MFD (that use emissive color) unreadable because blurred. Should be treated as transparent.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
=== Repositories ===&lt;br /&gt;
The code is in the main branch of the [[FlightGear and Git|official repository]]. Any other location is not maintained anymore.&lt;br /&gt;
&lt;br /&gt;
=== Rendering of transparent surfaces ===&lt;br /&gt;
[[Image:project_rembrandt_5.png|thumb|300px|Transparent surfaces drawn after opaque objects]]&lt;br /&gt;
Transparent surfaces are detected by OSG loader plugins and their state set receive the TRANSPARENT_BIN rendering hint. In the culling pass, the cull visitor orders transparent surfaces in transparent bin. In a cull callback attached to the Geometry camera, after the scenegraph traversal, the transparent bins are removed from the render stage and saved in a temporary collection. In a cull callback attached to the Lighting camera, after the scenegraph traversal, the transparent bins saved at the previous stage, are added to the render stage of the Lighting camera with a high order num. That way, the transparent surface are drawn on top of the scene lighted from the Gbuffer.&lt;br /&gt;
&lt;br /&gt;
=== Memory consumption ===&lt;br /&gt;
For each camera defined in the camera group, there is a separate shadow map, so the video memory usage is :&lt;br /&gt;
* G-buffer and Lighting buffer: 20 bytes per pixel. For an HD screen (1920x1080) memory requirement is 40 Mb&lt;br /&gt;
* Shadow map: 3 x shadow_map_size x shadow_map_size bytes (if size is 8192, whole map size is 192 Mb&lt;br /&gt;
Not counting textures, display list or vertex buffers for models and terrain&lt;br /&gt;
&lt;br /&gt;
3 HD screens require 120 Mb of memory for the buffers (shadow excluded), you're asking 3x8192x8192x3 = 576 Mb (megabytes) of memory for the shadows alone.&lt;br /&gt;
&lt;br /&gt;
If you are seeing error messages during startup or FlightGear doesn't start up properly, it's probably because you don't have enough free video memory. Reduce the size of the shadow map in preferences.xml by locating &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;map-size type=&amp;quot;int&amp;quot;&amp;gt;8192&amp;lt;/map-size&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And put 4096 or 2048 instead.&lt;br /&gt;
You can also use a startup parameter: --prop:/sim/rendering/shadows/map-size=2048&lt;br /&gt;
&lt;br /&gt;
=== Configurable pipeline ===&lt;br /&gt;
&lt;br /&gt;
The Rembrandt renderer uses an XML file to setup its pipeline for each viewport described in the camera group. This file describes the way the intermediary buffers are setup and how the different rendering stages are sequenced. The general outline of a pipeline file is as follow :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
	&amp;lt;!-- BUFFERS --&amp;gt;&lt;br /&gt;
	&amp;lt;buffer&amp;gt;&lt;br /&gt;
		&amp;lt;!-- First buffer definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/buffer&amp;gt;&lt;br /&gt;
	&amp;lt;buffer&amp;gt;&lt;br /&gt;
		&amp;lt;!-- nth buffer definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/buffer&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- STAGES --&amp;gt;&lt;br /&gt;
	&amp;lt;stage&amp;gt;&lt;br /&gt;
		&amp;lt;!-- First stage definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/stage&amp;gt;&lt;br /&gt;
	&amp;lt;stage&amp;gt;&lt;br /&gt;
		&amp;lt;!-- nth stage definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/stage&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Buffers ====&lt;br /&gt;
A buffer is a texture used as a storage area in the GPU. It's size is usually a multiple of the screen size, but fixed size is supported (typical for shadow map). The description of a buffer is described below :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;buffer&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;buffer-name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;internal-format&amp;gt;rgba8&amp;lt;/internal-format&amp;gt; &amp;lt;!-- rgb8, rgba8, rgb16, rgba16, rg16, depth-component24, depth-component32 or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;source-format&amp;gt;rgba&amp;lt;/source-format&amp;gt; &amp;lt;!-- rg, rgb, rgba, depth-component or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;source-type&amp;gt;unsigned-byte&amp;lt;/source-type&amp;gt; &amp;lt;!-- unsigned-byte, unsigned-short, unsigned-int, float or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;width&amp;gt;screen&amp;lt;/width&amp;gt; &amp;lt;!-- screen, value or &amp;lt;property&amp;gt;/a/width/property&amp;lt;/property&amp;gt; --&amp;gt;&lt;br /&gt;
		&amp;lt;height&amp;gt;screen&amp;lt;/height&amp;gt; &amp;lt;!-- screen, value or &amp;lt;property&amp;gt;/a/height/property&amp;lt;/property&amp;gt; --&amp;gt;&lt;br /&gt;
		&amp;lt;scale-factor&amp;gt;1.0&amp;lt;/scale-factor&amp;gt;&lt;br /&gt;
		&amp;lt;wrap-mode&amp;gt;clamp-to-border&amp;lt;/wrap-mode&amp;gt; &amp;lt;!-- clamp, clamp-to-border, clamp-to-edge, mirror, repeat or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional, for shadow map --&amp;gt;&lt;br /&gt;
		&amp;lt;shadow-comparison&amp;gt;true&amp;lt;/shadow-comparison&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
	&amp;lt;/buffer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stages ====&lt;br /&gt;
A stage is an unit of rendering to a group of buffer. Most stages are predefined and their type is not free. When a type is not specified, the name is used. Stage types are :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Stage type&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Purpose&lt;br /&gt;
|-&lt;br /&gt;
|geometry&lt;br /&gt;
|The geometry stage initialize most of the buffers and works on the real objects and geometry. Transparent objects are set aside and will be used untouched in the lighting stage. Other opaque geometry is rendered with the standard effects that do the hard work to put sensible data in the buffers.&lt;br /&gt;
|-&lt;br /&gt;
|shadow&lt;br /&gt;
|In this stage, the geometry is rendered in the normal map from the perspective of the sun.&lt;br /&gt;
|-&lt;br /&gt;
|lighting&lt;br /&gt;
|This stage uses the buffers filled by the previous stages to light every pixel of the scene. The result is rendered in another buffer to allow post effects.&lt;br /&gt;
|-&lt;br /&gt;
|fullscreen&lt;br /&gt;
|Stages of this type are used to alter the whole scene or transform data from a particular buffer.&lt;br /&gt;
|-&lt;br /&gt;
|display&lt;br /&gt;
|Final rendering of the scene to the screen or the texture defined in the camera group.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A stage description is outlined below :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;stage&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;stage-name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;type&amp;gt;stage-type&amp;lt;/type&amp;gt; &amp;lt;!-- optional if name is one of the predefined type except fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;order-num&amp;gt;-1&amp;lt;/order-num&amp;gt;&lt;br /&gt;
		&amp;lt;effect&amp;gt;Effects/fullscreen-effect&amp;lt;/effect&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;needs-du-dv&amp;gt;true&amp;lt;/needs-du-dv&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;scale-factor&amp;gt;0.25&amp;lt;/scale-factor&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;attachment&amp;gt;&lt;br /&gt;
			&amp;lt;!-- First attachment definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/attachment&amp;gt;&lt;br /&gt;
		&amp;lt;attachment&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Nth attachment definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/attachment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;!-- Passes only for the lighting stage --&amp;gt;&lt;br /&gt;
		&amp;lt;pass&amp;gt;&lt;br /&gt;
			&amp;lt;!-- First pass definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/pass&amp;gt;&lt;br /&gt;
		&amp;lt;pass&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Nth pass definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/pass&amp;gt;&lt;br /&gt;
	&amp;lt;/stage&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Stages render in buffers (except for the display stage). Attachments describe which buffers are affected by each stage.&lt;br /&gt;
&lt;br /&gt;
===== Attachments =====&lt;br /&gt;
Attachment describe bindings between buffer and attachment point :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;attachment&amp;gt;&lt;br /&gt;
		&amp;lt;component&amp;gt;color0&amp;lt;/component&amp;gt; &amp;lt;!-- depth, stencil, packed-depth-stencil, color0, color1, color2 or color3 --&amp;gt;&lt;br /&gt;
		&amp;lt;buffer&amp;gt;buffer-name&amp;lt;/buffer&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
	&amp;lt;/attachment&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Passes =====&lt;br /&gt;
Passes are only available in the &amp;lt;tt&amp;gt;lighting&amp;lt;/tt&amp;gt; stage. Three kind of stage are allowed :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Pass type&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Purpose&lt;br /&gt;
|-&lt;br /&gt;
|sky-clouds&lt;br /&gt;
|Renders the skydome, sun, moon, planet, stars and clouds&lt;br /&gt;
|-&lt;br /&gt;
|lights&lt;br /&gt;
|Renders additional spot and point lights&lt;br /&gt;
|-&lt;br /&gt;
|fullscreen&lt;br /&gt;
|Fullscreen pass analog to a fullscreen stage except that it renders in the buffers attached to the lighting stage&lt;br /&gt;
|}&lt;br /&gt;
A pass is defined like below :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;pass&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;pass-name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;type&amp;gt;pass-type&amp;lt;/type&amp;gt; &amp;lt;!-- optional if name is one of the predefined type except fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;order-num&amp;gt;-1&amp;lt;/order-num&amp;gt;&lt;br /&gt;
		&amp;lt;effect&amp;gt;Effects/fullscreen-effect&amp;lt;/effect&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
	&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A typical lighting stage is a succession of 5 passes :&lt;br /&gt;
# &amp;lt;tt&amp;gt;sky-clouds&amp;lt;/tt&amp;gt; pass&lt;br /&gt;
# &amp;lt;tt&amp;gt;fullscreen&amp;lt;/tt&amp;gt; pass for ambient light&lt;br /&gt;
# &amp;lt;tt&amp;gt;fullscreen&amp;lt;/tt&amp;gt; pass for sun light (and shadows)&lt;br /&gt;
# &amp;lt;tt&amp;gt;lights&amp;lt;/tt&amp;gt; pass&lt;br /&gt;
# &amp;lt;tt&amp;gt;fullscreen&amp;lt;/tt&amp;gt; pass for fog&lt;br /&gt;
&lt;br /&gt;
Each effect attached to the fullscreen passes define the way blending is done between the pass and the previous accumulation of render.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== C++ implementation ===&lt;br /&gt;
&lt;br /&gt;
On the C++ side, Rembrandt is set up in those steps:&lt;br /&gt;
&lt;br /&gt;
* ''buildRenderingPipeline()'' is the last common function between forward rendering and deferred rendering. That's the point of start for specific deferred stuff. In this function we call  ''buildDeferredPipeline()''&lt;br /&gt;
** ''buildDeferredPipeline()'' is just a wrapper for ''buildCameraFromRenderingPipeline()''&lt;br /&gt;
*** ''buildCameraFromRenderingPipeline()'' is where we initialize all buffers and create all the stages found in ''Effects/default-pipeline.xml'' with the call to ''buildBuffers()'' and ''buildStage()''&lt;br /&gt;
**** ''buildBuffers()'' is where we ask to build each buffer with the call to ''buildDeferredBuffer()''&lt;br /&gt;
***** ''buildDeferredBuffer()'' create a 2D texture&lt;br /&gt;
**** ''buildStage()'' is where we ask to build each camera depending on the type of the stage (geometry, lighting, shadow, fullscreen, display) with the call to ''buildDeferred*Camera()'' (where * is the stage type)&lt;br /&gt;
***** ''buildDeferred*Camera()''is where we build the camera, for each camera we attach the required buffers with the call to ''buildAttachments()''.&lt;br /&gt;
****** ''buildDeferredGeometryCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredShadowCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredLightingCamera()'' Only for the lighting camera (''buildDeferredLightingCamera()'') we have to build passes who is called with ''buildPass()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredFullscreenCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredDisplayCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
&lt;br /&gt;
== Running Flightgear with Rembrandt ==&lt;br /&gt;
[[File:Rembrandt dialog.png|thumb|270px|Rembrandt dialog]]&lt;br /&gt;
The Rembrandt renderer is now integrated in the main repository but needs to be enabled to run. There are two ways to enable it (only one is needed!):&lt;br /&gt;
* &amp;lt;code&amp;gt;--enable-rembrandt&amp;lt;/code&amp;gt; (when using [[FGRun]], you may add this behind the &amp;lt;tt&amp;gt;FG_EXECUTABLE&amp;lt;/tt&amp;gt; on the first page). &lt;br /&gt;
* &amp;lt;code&amp;gt;--prop:/sim/rendering/rembrandt/enabled=true&amp;lt;/code&amp;gt; (with FGRun this can be added via &amp;lt;tt&amp;gt;Advanced &amp;gt; Properties&amp;lt;/tt&amp;gt; on the last page, but only the &amp;lt;code&amp;gt;/sim/rendering/rembrandt/enabled=true&amp;lt;/code&amp;gt; part).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;View &amp;gt; Rendering Options &amp;gt; Rembrandt Options&amp;lt;/tt&amp;gt; dialog allows you to toggle and adjust the various features that Rembrandt offers.&lt;br /&gt;
&lt;br /&gt;
Rembrandt is quite demanding in GPU resources and may fail to run with the default options. The more frequent symptom is an OSG message in the console :&lt;br /&gt;
&lt;br /&gt;
 RenderStage::runCameraSetUp(), FBO setup failed, FBO status= 0x8cd6&lt;br /&gt;
 Warning: RenderStage::runCameraSetUp(State&amp;amp;) Pbuffer does not support multiple color outputs.&lt;br /&gt;
&lt;br /&gt;
The ssao effect provided in v2.8.0 may generate these messages, more often on Mac :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FRAGMENT glCompileShader &amp;quot;/Users/xxxx/Desktop/FlightGear.app/Contents/Resources/../Resources/data/Shaders/ssao.frag&amp;quot; FAILED&lt;br /&gt;
FRAGMENT Shader &amp;quot;/Users/xxxx/Desktop/FlightGear.app/Contents/Resources/../Resources/data/Shaders/ssao.frag&amp;quot; infolog:&lt;br /&gt;
ERROR: 0:20: 'array of 2-component vector of float' : constructor not supported for type&lt;br /&gt;
ERROR: 0:20: 'array of 2-component vector of float' : no matching overloaded function found&lt;br /&gt;
ERROR: 0:20: 'const 2-component vector of float' : cannot declare arrays of this type&lt;br /&gt;
ERROR: 0:20: 'v' : redefinition&lt;br /&gt;
ERROR: 0:55: 'reflect' : no matching overloaded function found&lt;br /&gt;
ERROR: 0:55: '=' :  cannot convert from 'float' to '2-component vector of float'&lt;br /&gt;
&lt;br /&gt;
glLinkProgram &amp;quot;&amp;quot; FAILED&lt;br /&gt;
Program &amp;quot;&amp;quot; infolog:&lt;br /&gt;
ERROR: One or more attached shaders not successfully compiled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In that case, disable ambient occlusion with the command :&lt;br /&gt;
&amp;lt;tt&amp;gt;--prop:/sim/rendering/rembrandt/ambient-occlusion-buffers=false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a number of additional options that can help to avoid these problems :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/rembrandt/use-color-for-depth=true&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Some old NVidia cards, such as 7600GT, don't give enough resolution for depth and that result in &amp;quot;fog curtains&amp;quot; at few meters from the viewer. One trick is to encode depth in another texture and get the proper value afterward. This option enables that.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/enabled=false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Disable shadows altogether.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/num-cascades=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set &amp;lt;tt&amp;gt;/sim/rendering/shadows/cascade-far-m[0]&amp;lt;/tt&amp;gt; to change the shadow map range. The more the range, the less the resolution (default value is 5 meters)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/map-size=&amp;lt;power-of-two&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set the shadow map size. Useful values are 1024, 2048, 4096 or 8192. Few cards have the resources to support 16384.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/num-cascades&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set the shadow map cascade number. Less cascades means less time spent in shadow map generation, but also means lower shadow quality. Integer between 1 and 4.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/cascade-far-m[i]&amp;lt;/tt&amp;gt;&lt;br /&gt;
(1 &amp;lt;= i &amp;lt;= &amp;lt;tt&amp;gt;/sim/rendering/shadows/num-cascades&amp;lt;/tt&amp;gt; &amp;lt;= 4)&lt;br /&gt;
|Set the shadow map cascade range for each cascade. Default values are 5m, 50m, 500m and 5000m for 4 cascades.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/rembrandt/no-16bit-buffer=false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|By default, Rembrandt uses 8 bit buffers for normals (so the property is set to true by default). This may create banding artifacts on specular highlights. If it's unacceptable and the GPU supports it, set to false to have better precision for normals and effects relying on normal direction.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Guidelines for shader writers ==&lt;br /&gt;
=== Predefined uniforms ===&lt;br /&gt;
These glsl uniforms don't need to be declared in the effect file.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ViewMatrix&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In fullscreen pass only, view matrix used to transform the screen position to view direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ViewMatrixInverse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In fullscreen pass only, view matrix inverse used to transform the screen position to view direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ProjectionMatrixInverse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In fullscreen pass only, projection matrix inverse used to transform the screen position to view direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_CameraPositionCart&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Position of the camera in world space, expressed in cartesian coordinates&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_CameraPositionGeod&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Position of the camera in world space, expressed in geodesic coordinates (longitude in radians, latitude in radians, elevation in meters)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunAmbientColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunDiffuseColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunSpecularColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunDirection&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_FogColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_FogDensity&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;float&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ShadowNumber&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;int&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ShadowDistances&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_DepthInColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;bool&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Tells if the depth is stored in a depth texture or a color texture&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_Planes&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Used to convert the value of the depth buffer to a depth that can be used to compute the eye space position of the fragment&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_BufferSize&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec2&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Dimensions of the buffer, used to convert gl_FragCoord into the range [0..1][0..1]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;osg_ViewMatrix&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Defined by OSG, used only when working on actual geometry&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;osg_ViewMatrixInverse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Defined by OSG, used only when working on actual geometry&lt;br /&gt;
|}&lt;br /&gt;
They still have to be declared in the fragment or the vertex shader to be used.&lt;br /&gt;
&lt;br /&gt;
=== Utility functions ===&lt;br /&gt;
&lt;br /&gt;
To ease the maintenance of shaders, several utility functions are available for the fragment shader. These functions are put together in two files : &amp;lt;tt&amp;gt;gbuffer-functions.frag&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;gbuffer-encode.frag&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== gbuffer-encode.frag ====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;void encode_gbuffer(vec3 normal, vec3 color, int mId, float specular, float shininess, float emission, float depth)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Used to encode all the values of the G-Buffer in material shaders&lt;br /&gt;
&lt;br /&gt;
==== gbuffer-functions.frag ====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec2 normal_encode(vec3 n)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Used to compress normals into the G-Buffer in material shaders. Normally called from &amp;lt;tt&amp;gt;encode_gbuffer()&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 normal_decode(vec2 enc)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct normals from the G-Buffer. Used in fullscreen shaders and light shaders&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 float_to_color(in float f)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Encode float values in the range [0..1] in the 24 bits of a color. This function is used by &amp;lt;tt&amp;gt;encode_gbuffer()&amp;lt;/tt&amp;gt; if the &amp;lt;tt&amp;gt;/sim/rendering/use-color-for_depth&amp;lt;/tt&amp;gt; is true, for old cards that don't provide depth information with enough resolution inside fullscreen or light shaders.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;float color_to_float(vec3 color)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Decode float values in the range [0..1] from the 24 bits of a color. This function is used by &amp;lt;tt&amp;gt;position()&amp;lt;/tt&amp;gt; if the &amp;lt;tt&amp;gt;/sim/rendering/use-color-for_depth&amp;lt;/tt&amp;gt; is true, for old cards that don't provide depth information with enough resolution inside fullscreen or light shaders.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 position( vec3 viewDir, float depth )&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct eye space position from the view direction and the depth read from the depth buffer&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 position( vec3 viewDir, vec3 depthColor )&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct eye space position from the view direction and the depth encoded in a color read from the depth buffer&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 position( vec3 viewDir, vec2 coords, sampler2D depth_tex )&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct eye space position from the view direction and the depth buffer (real depth or color, according to the value of &amp;lt;tt&amp;gt;/sim/rendering/use-color-for_depth&amp;lt;/tt&amp;gt;) at a given fragment on screen, given by &amp;lt;tt&amp;gt;coords&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Usage ====&lt;br /&gt;
&lt;br /&gt;
For material shaders, it is necessary to provide both &amp;lt;tt&amp;gt;gbuffer-functions.frag&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;gbuffer-encode.frag&amp;lt;/tt&amp;gt; in the effect file, like this :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;program&amp;gt;&lt;br /&gt;
		&amp;lt;vertex-shader&amp;gt;Shaders/ubershader.vert&amp;lt;/vertex-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/ubershader-gbuffer.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/gbuffer-functions.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/gbuffer-encode.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
	&amp;lt;/program&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For fullscreen passes shaders, only &amp;lt;tt&amp;gt;gbuffer-functions.frag&amp;lt;/tt&amp;gt; should be provided, like this :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;program&amp;gt;&lt;br /&gt;
		&amp;lt;vertex-shader&amp;gt;Shaders/sunlight.vert&amp;lt;/vertex-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/sunlight.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/gbuffer-functions.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
	&amp;lt;/program&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the main function of the shader, the functions referenced need to be declared first. With no #include files, the whole function prototype needs to be typed :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;glsl&amp;quot;&amp;gt;&lt;br /&gt;
void encode_gbuffer(vec3 normal, vec3 color, int mId, float specular, float shininess, float emission, float depth);&lt;br /&gt;
&lt;br /&gt;
main() {&lt;br /&gt;
    vec3 normal;&lt;br /&gt;
    vec3 color;&lt;br /&gt;
    int mId;&lt;br /&gt;
    float specular;&lt;br /&gt;
    float shininess;&lt;br /&gt;
    float emission;&lt;br /&gt;
    float depth;&lt;br /&gt;
&lt;br /&gt;
    // Do shader computations&lt;br /&gt;
&lt;br /&gt;
    encode_gbuffer(normal, color, mId, specular, shininess, emission, depth);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Geometry Stage ===&lt;br /&gt;
The Geometry Stage is there to fill the G-buffer. '''Shading doesn't occur at this stage, so light or fog computation should not be part of the shader'''. The required operation in the Fragment Shader is to fill every individual buffer with sensible value :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|depth (gl_FragDepth)||GL_DEPTH_COMPONENT32||colspan=&amp;quot;4&amp;quot;|Fragment depth&lt;br /&gt;
|-&lt;br /&gt;
|gl_FragData[0]||GL_RG16||colspan=&amp;quot;2&amp;quot;|normal.x * 0.5 + 0.5||colspan=&amp;quot;2&amp;quot;|normal.y * 0.5 + 0.5&lt;br /&gt;
|-&lt;br /&gt;
|gl_FragData[1]||GL_RGBA8||diffuse.r||diffuse.g||diffuse.b||material id * 1/255.0&lt;br /&gt;
|-&lt;br /&gt;
|gl_FragData[2]||GL_RGBA8||specular.l||specular.s||emission.l||pixel valid if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the default layout expected by the sunlight shader. material Id can be used to detect a different layout&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
#Depth buffer, modified with gl_FragDepth, will record the distance between the fragment and the camera. Default behavior is to avoid to touch it, living the GPU rasterizer doing sensible things by interpolating vertex gl_Position from the Vertex or the Geometry Shader. If altering the computed depth is required, like in the Urban shader, the value of gl_FragDepth should be set.&lt;br /&gt;
#Normal buffer, modified with gl_FragData[0].xyz, will record the normal of the fragment in eye coordinates. gl_FragData[0].w is reserved for future use. The interpolated normal is usually simply stored but bump mapping or relief mapping affecting the normal can be computed here.&lt;br /&gt;
#Diffuse color buffer, modified with gl_FragData[1].rgb, will hold the unshaded color of the fragment, usually modulating the material diffuse+ambient color with the texture map. Diffuse color from environment mapping should also go here.&lt;br /&gt;
#Specular color, modified with gl_FragData[2].rgb, and specular shininess in gl_FragData[2].a, will retain the specular color of the fragment.&lt;br /&gt;
#Emission color, modified with gl_FragData[3].rgb&lt;br /&gt;
In anyway, don't use gl_FragColor as it is incompatible with MRT (Multi Render Target) and would affect the four last buffers with the same value. In that case, the model will glow (emission buffer initialized) and parts will disappear at certain view angles because normals are not initialized properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;font-size:1.5em;font-weight:bold&amp;quot;&amp;gt;This layout is going to change in the official repository when the merge will be done. The goal of this change is to fill more useful data into less texture memory and get rid of a stupid IP issue on float textures&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional light pass ===&lt;br /&gt;
There would be a single shader for each light type used. The plan is to create lights like animations in the model XML file. The light shader will retrieve scene geometry by combining screen space position converted in view space ray by the inverse of the projection matrix (an helper function should be provided), and the fragment depth at that screen position read from the depth buffer. With the help of the fragment normal, the diffuse and specular color and the properties of the light the shader implements, it will be possible to add to the lighting buffer the contribution of the light rendered.&lt;br /&gt;
&lt;br /&gt;
=== Fog Pass ===&lt;br /&gt;
Using the fragment depth, it will be possible to compute any fog distribution. For the moment, the simple fog equation is implemented.&lt;br /&gt;
&lt;br /&gt;
=== Bloom Pass ===&lt;br /&gt;
This is a two-pass effect that blurs the lighting buffer in a small texture. This texture is then added to the lighting buffer at the display stage.&lt;br /&gt;
&lt;br /&gt;
=== Required Effects ===&lt;br /&gt;
Several pass are implemented using the effect system. For this purpose, some effects are referenced in the core code using reserved names. these effects are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Kind&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/ssao&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Compute ambient occlusion from the normal buffer and the depth buffer&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/ambient&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Copies the diffuse color buffer multiplied by the ambient light to the lighting buffer. Ambient Occlusion can also affect ambient light.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/light-spot&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on real geometry of the light volume&lt;br /&gt;
|Computes the light contribution of a spot light defined in a &amp;lt;tt&amp;gt;light&amp;lt;/tt&amp;gt; animation having a &amp;lt;tt&amp;gt;light-type&amp;lt;/tt&amp;gt; of '''&amp;lt;tt&amp;gt;spot&amp;lt;/tt&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/fog&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Computes the fog from the G-buffer and the lighting parameters&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/display&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Renders the composite final image from the G-buffer and the lighting buffer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Guidelines for modelers ==&lt;br /&gt;
&lt;br /&gt;
=== Porting aircraft ===&lt;br /&gt;
* Rembrandt computes shadows =&amp;gt; no more fake shadows in the model&lt;br /&gt;
* Rembrandt computes ambient occlusion =&amp;gt; no ambient occlusion baked into textures&lt;br /&gt;
* Rembrandt has light =&amp;gt; static lightmap are not needed, emissive color to see models at night is not needed and would interfere&lt;br /&gt;
* Rembrandt has glow =&amp;gt; incorrectly used emissive colors may blur displays and make some text unreadable. Light size may have to be adjusted&lt;br /&gt;
* Rembrandt has strict needs with shaders =&amp;gt; shaders need to be adjusted to comply with the new framework otherwise the view will be plain wrong&lt;br /&gt;
* Rembrandt can't do transparent surfaces =&amp;gt; transparent surface need to be properly registered to render them with the classical path&lt;br /&gt;
&lt;br /&gt;
Once your aircraft has been ported, please modify its wiki page and add this symbol to it:&lt;br /&gt;
[[File:Rembrandtready.png]].&lt;br /&gt;
&lt;br /&gt;
For a list of converted aircraft, please see [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=17536#p166346].&lt;br /&gt;
&lt;br /&gt;
=== Registering all translucent surfaces ===&lt;br /&gt;
&lt;br /&gt;
Every model is, by default, rendered using the &amp;lt;tt&amp;gt;Effects/model-default&amp;lt;/tt&amp;gt; effect. This effect initialize the G-buffer, ignoring transparent surfaces, by doing alpha testing and rendering all the geometry in the default bin. It is not possible to redirect rendering to transparent bins when the associated texture has alpha channel because most models use a single texture atlas and even opaque parts are rendered with texture with alpha channel.&lt;br /&gt;
&lt;br /&gt;
If a model needs to have transparent or translucent surfaces, these surface objects need to be assigned a different effect that sets explicitly the render bin to &amp;quot;DepthSortedBin&amp;quot;, or sets the rendering hint to &amp;quot;transparent&amp;quot;. This tells the renderer to render this object using forward rendering, so lighting and fog need to be enabled, and if a shader program is used, they should be computed in the classical way. The &amp;lt;tt&amp;gt;Effects/model-transparent&amp;lt;/tt&amp;gt; can be used to register simple transparent/translucent surfaces. You assign this effect to an object (or multiple objects) like:&lt;br /&gt;
 &amp;lt;effect&amp;gt;&lt;br /&gt;
  &amp;lt;inherits-from&amp;gt;Effects/model-transparent&amp;lt;/inherits-from&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;TheObject&amp;lt;/object-name&amp;gt;&lt;br /&gt;
 &amp;lt;/effect&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Beware: &amp;lt;Effect&amp;gt; only works on real objects, not on groups of objects or animations.'''&lt;br /&gt;
&lt;br /&gt;
If opaque surface need to have special effect, for example to apply bump mapping, this effect should use the &amp;quot;RenderBin&amp;quot; bin, or the rendering hint set to &amp;quot;opaque&amp;quot;, and the G-buffer needs to be initialized correctly in the Geometry stage.&lt;br /&gt;
&lt;br /&gt;
=== Making sure that all geometry will cast shadow ===&lt;br /&gt;
&lt;br /&gt;
To limit the amount of geometry rendered in the shadow map, and also to reduce artifacts (shadow acne), only faces not facing the sun are casting shadows. The test is made using the normal orientation. That means that double-sided polygons, or mesh that are not closed, will be transparent to light at certain sun angles. To avoid that, modelers can either :&lt;br /&gt;
* ensure that the object is always in the shadow of another objects,&lt;br /&gt;
* close their mesh, or,&lt;br /&gt;
* double polygons with the normal set to the opposite.&lt;br /&gt;
&lt;br /&gt;
=== Adding lights to a model ===&lt;br /&gt;
&lt;br /&gt;
There are two things to consider: the appearance of the light source and the illuminated area. For the appearance of the light source (what you see when you look at the bulb), you need a model with an emissive material that will produce the glow effect and that is visible at night.&lt;br /&gt;
&lt;br /&gt;
For the effect of the source on its environment (the lit area), we must have in the 3D model (the .ac file) a volume that includes the effect (Light Volume). It can be a large cone for spotlights or a sphere for point light. It's important that the light volume is closed, convex and it's normals are oriented outward.&lt;br /&gt;
&lt;br /&gt;
The light volume must be part of the geometry of the model and be referenced in the animation file. No need to add a color or an effect to this volume. Light calculation is only done on the fragments covered by the light volume, but has no influence on the color or the attenuation of the light.&lt;br /&gt;
&lt;br /&gt;
All available animations are possible on the light volume, except '''material''' and '''texture'''. It is not possible to change color of lights for the moment, except switching to another animation. Axis and position are in object space and are transformed by the subsequent animations.&lt;br /&gt;
&lt;br /&gt;
==== Spotlights ====&lt;br /&gt;
{|cellpadding=10|&lt;br /&gt;
|valign=top|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;light&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;light-type&amp;gt;spot&amp;lt;/light-type&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;LightSrcRight&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightRight&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   &amp;lt;nopreview/&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;0.169&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0.570&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;z&amp;gt;0.713&amp;lt;/z&amp;gt;&lt;br /&gt;
   &amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;direction&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;-0.9988&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0.0349&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;z&amp;gt;-0.0349&amp;lt;/z&amp;gt;&lt;br /&gt;
   &amp;lt;/direction&amp;gt;&lt;br /&gt;
   &amp;lt;ambient&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.03&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.03&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.03&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/ambient&amp;gt;&lt;br /&gt;
   &amp;lt;diffuse&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.6&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/diffuse&amp;gt;&lt;br /&gt;
   &amp;lt;specular&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.7&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/specular&amp;gt;&lt;br /&gt;
   &amp;lt;dim-factor&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;dimming/property&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional begin --&amp;gt;&lt;br /&gt;
      &amp;lt;expression /&amp;gt;&lt;br /&gt;
      &amp;lt;interpolation /&amp;gt;&lt;br /&gt;
      &amp;lt;factor&amp;gt;1&amp;lt;/factor&amp;gt;&lt;br /&gt;
      &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;0&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional end --&amp;gt;&lt;br /&gt;
   &amp;lt;/dim-factor&amp;gt;&lt;br /&gt;
   &amp;lt;attenuation&amp;gt;&lt;br /&gt;
     &amp;lt;c&amp;gt;1.0&amp;lt;/c&amp;gt;&lt;br /&gt;
     &amp;lt;l&amp;gt;0.002&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;q&amp;gt;0.00005&amp;lt;/q&amp;gt;&lt;br /&gt;
   &amp;lt;/attenuation&amp;gt;&lt;br /&gt;
   &amp;lt;exponent&amp;gt;30.0&amp;lt;/exponent&amp;gt;&lt;br /&gt;
   &amp;lt;cutoff&amp;gt;39&amp;lt;/cutoff&amp;gt;&lt;br /&gt;
   &amp;lt;near-m&amp;gt;3.5&amp;lt;/near-m&amp;gt;&lt;br /&gt;
   &amp;lt;far-m&amp;gt;39&amp;lt;/far-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Install the &amp;lt;tt&amp;gt;'''light'''&amp;lt;/tt&amp;gt; animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;light-type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|This is a &amp;lt;tt&amp;gt;'''spot'''&amp;lt;/tt&amp;gt; light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name given to this animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;object-name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name of the light volume in the 3d model (typically a cone with an apex at &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;, along &amp;lt;tt&amp;gt;direction&amp;lt;/tt&amp;gt; axis if &amp;lt;tt&amp;gt;cutoff&amp;lt;/tt&amp;gt; is lesser than 90 degrees, or a sphere centered at &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt; if &amp;lt;tt&amp;gt;cutoff&amp;lt;/tt&amp;gt; is greater than 90 degrees )&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;nopreview&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Hide light volume in fgrun 3d preview&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In object space, position of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;direction&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In object space, direction to the center of the spot&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ambient&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Ambient color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;diffuse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Diffuse color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;specular&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Specular color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;dim-factor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Group of parameters to control a factor that is applied to ambient, diffuse and specular at the same time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;attenuation&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Three element vector. &amp;lt;c&amp;gt; element is the constant factor, &amp;lt;l&amp;gt; element is the linear factor and &amp;amp;lt;q&amp;amp;gt; element is the quadratic factor.&amp;lt;br /&amp;gt;&lt;br /&gt;
Attenuation of color at distance d is [[File:Spotlight_attenuation.png]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;exponent&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Attenuation is multiplied by &amp;lt;tt&amp;gt;pow( dot( lightDir, &amp;lt;direction&amp;gt; ), &amp;lt;exponent&amp;gt; )&amp;lt;/tt&amp;gt;, lightDir being vector from light position to point, in camera space.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;cutoff&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Point is lit by this source if &amp;lt;tt&amp;gt;dot( lightDir, &amp;lt;direction&amp;gt; ) &amp;gt; &amp;lt;cutoff&amp;gt;&amp;lt;/tt&amp;gt; , lightDir being vector from light position to point, in camera space.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;near-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Minimum distance of influence, from position, in meters&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;far-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Maximum distance of influence, from position, in meters&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Point lights ====&lt;br /&gt;
{|cellpadding=10|&lt;br /&gt;
|valign=top|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;light&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;light-type&amp;gt;point&amp;lt;/light-type&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;LightSrcRight&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightRight&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   &amp;lt;nopreview/&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;0.169&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0.570&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;z&amp;gt;0.713&amp;lt;/z&amp;gt;&lt;br /&gt;
   &amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;ambient&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.03&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.03&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.03&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/ambient&amp;gt;&lt;br /&gt;
   &amp;lt;diffuse&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.6&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/diffuse&amp;gt;&lt;br /&gt;
   &amp;lt;specular&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.7&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/specular&amp;gt;&lt;br /&gt;
   &amp;lt;dim-factor&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;dimming/property&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional begin --&amp;gt;&lt;br /&gt;
      &amp;lt;expression /&amp;gt;&lt;br /&gt;
      &amp;lt;interpolation /&amp;gt;&lt;br /&gt;
      &amp;lt;factor&amp;gt;1&amp;lt;/factor&amp;gt;&lt;br /&gt;
      &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;0&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional end --&amp;gt;&lt;br /&gt;
   &amp;lt;/dim-factor&amp;gt;&lt;br /&gt;
   &amp;lt;attenuation&amp;gt;&lt;br /&gt;
     &amp;lt;c&amp;gt;1.0&amp;lt;/c&amp;gt;&lt;br /&gt;
     &amp;lt;l&amp;gt;0.002&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;q&amp;gt;0.00005&amp;lt;/q&amp;gt;&lt;br /&gt;
   &amp;lt;/attenuation&amp;gt;&lt;br /&gt;
   &amp;lt;near-m&amp;gt;3.5&amp;lt;/near-m&amp;gt;&lt;br /&gt;
   &amp;lt;far-m&amp;gt;39&amp;lt;/far-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Install the &amp;lt;tt&amp;gt;'''light'''&amp;lt;/tt&amp;gt; animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;light-type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|This is a &amp;lt;tt&amp;gt;'''point'''&amp;lt;/tt&amp;gt; light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name given to this animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;object-name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name of the light volume in the 3d model (typically a sphere centered on &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;, with a radius of &amp;lt;tt&amp;gt;far-m&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;nopreview&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Hide light volume in fgrun 3d preview&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In object space, position of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ambient&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Ambient color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;diffuse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Diffuse color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;specular&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Specular color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;dim-factor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Group of parameters to control a factor that is applied to ambient, diffuse and specular at the same time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;attenuation&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Three element vector. &amp;lt;c&amp;gt; element is the constant factor, &amp;lt;l&amp;gt; element is the linear factor and &amp;lt;q&amp;gt; element is the quadratic factor.&amp;lt;br /&amp;gt;&lt;br /&gt;
Attenuation of color at distance d is [[File:Spotlight_attenuation.png]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;near-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Minimum distance of influence, from position, in meters&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;far-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Maximum distance of influence, from position, in meters&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Performance and compatibility considerations ====&lt;br /&gt;
Every light on screen is equivalent for the GPU of redrawing the light volume with a shader, without z buffer culling. So each light comes with a cost, that is small taken individually but noticeable when a lot of them are visible. That cost also increase with the size of the light volume.&lt;br /&gt;
&lt;br /&gt;
Beside that, it is wise to allow a model to work with the classical renderer that know nothing about lights and would render light volumes like other geometry. So a good practice is to complement each light animation with a select animation checking :&lt;br /&gt;
*if Rembrandt is enabled&lt;br /&gt;
*if the user selected quality match with the purpose of the light&lt;br /&gt;
*if the light should be on or off according to the other parameters of the simulation (position of the sun, position of switch, presence of power, ...)&lt;br /&gt;
&lt;br /&gt;
A quality property is created to reflect the user preferences about quality vs performance concerning lights, and a proper slider is added to the shader dialog.&lt;br /&gt;
[[File:Fgfs-shaders-with-light.jpg|thumb|Light quality slider]]&lt;br /&gt;
The propery to use is :&lt;br /&gt;
 /sim/rendering/shaders/lights&lt;br /&gt;
The quality slider sets its range from 0 (no lights) to 4 (all lights on). Simple airport lamp post appears at 1. Few bridge lamps at 2, all simple bridge lamp at 3 and more involved one at 4.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;light&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;light-type&amp;gt;spot&amp;lt;/light-type&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;LightSource&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightVolume&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/animation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;select&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Select the named animation --&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightSource&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;and&amp;gt;&lt;br /&gt;
         &amp;lt;!-- Rembrandt enabled ? --&amp;gt;&lt;br /&gt;
         &amp;lt;property&amp;gt;/sim/rendering/rembrandt/enabled&amp;lt;/property&amp;gt;&lt;br /&gt;
         &amp;lt;!-- Quality ok ? --&amp;gt;&lt;br /&gt;
         &amp;lt;greater-than&amp;gt;&lt;br /&gt;
            &amp;lt;property&amp;gt;/sim/rendering/shaders/lights&amp;lt;/property&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;3.0&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
         &amp;lt;!-- Simulation conditions ? --&amp;gt;&lt;br /&gt;
         &amp;lt;greater-than&amp;gt;&lt;br /&gt;
            &amp;lt;property&amp;gt;/sim/time/sun-angle-rad&amp;lt;/property&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;1.57&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;/and&amp;gt;&lt;br /&gt;
   &amp;lt;/condition&amp;gt;&lt;br /&gt;
&amp;lt;/animation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tutorials ===&lt;br /&gt;
[[User:F-JJTH|F-JJTH]] compiled his experience and the one acquired by the PAF team converting aircraft in {{fr}} [http://equipe-flightgear.forumactif.com/t1034-howto-adapter-un-appareil-pour-rembrandt this tutorial],&lt;br /&gt;
&lt;br /&gt;
== TODO List ==&lt;br /&gt;
&lt;br /&gt;
=== Mac Issues ===&lt;br /&gt;
More and more Apple/Mac users are reporting issues related to running Rembrandt [http://forum.flightgear.org/search.php?st=0&amp;amp;sk=t&amp;amp;sd=d&amp;amp;sr=posts&amp;amp;keywords=rembrandt+mac].&lt;br /&gt;
&lt;br /&gt;
Looking at the Mac GPU specs, it isn't clear if the Mac/ATI hardware/driver is generally insufficient, it should seem possible to run a customized Rembrandt setup with acceptable frame rates at 15-35 fps (assuming everything else being disabled for starters). &lt;br /&gt;
&lt;br /&gt;
GLSL compilers have varying quality and especially the Mac (ATI/AMD) GLSL compilers are known to have issues with more sophisticated/nested constructs, so that it may help to reduce complexity of GLSL statements by splitting them up, instead of using nested anonymous vectors or functions (fatal error C9999: Nested functions, aborting!) for example.&lt;br /&gt;
&lt;br /&gt;
So, the specific issue on Mac is some shaders being miscompiled, so the frame-rates are particularly bad, since the driver is hitting (slow) error paths. Certainly some Rembrandt-related shades fail to compile, though whether or not these are optional or required ones, isn't clear (Fred?). Some users reported that the errors and problems after upgrading their OS from OsX, 10.6.8 to  OSX 10.8.2 (Mountain Lion) [http://forum.flightgear.org/viewtopic.php?f=47&amp;amp;t=19070&amp;amp;p=177106&amp;amp;hilit=rembrandt+mac#p177106] or OS Snow Leopard (10.6. to Mountain Lion (10.8.2), downloaded XQuartz 2.7.4 [http://forum.flightgear.org/viewtopic.php?f=21&amp;amp;t=19000&amp;amp;p=177570&amp;amp;hilit=rembrandt+mac#p176972].&lt;br /&gt;
&lt;br /&gt;
The shader errors would suggest that certain GLSL constructs are not supported by the ATI/AMD glsl compiler - this seems to be a known issue: [https://groups.google.com/forum/?fromgroups=#!topic/comp.graphics.api.opengl/H_FLQCQE1i4] To address this, one would need to port the corresponding shaders - like just was done to get rid of the constructs that caused errors on old GeForce 7x generation hardware. It seems the hardware is not the problem, but the driver being way out of date. I find the fact that it's the Cg compiler and not a native glsl compiler that returns the errors very strange.&lt;br /&gt;
&lt;br /&gt;
Another FG 2.10 user on MacPro 3.2 GHz Quad-Core Xeon, 8GB RAM, MacOS X 10.6.8. ATI Radeon HD 5870 (gl-vendor:ATI Technologies Inc., gl-version:2.1 ATI-1.6.36 gl-renderer:ATI Radeon HD 5870 OpenGL Engine, gl-shading-language-version:1.20) report said &amp;quot;Rembrandt is still unusable on my Mac. One frame every 4-5 seconds and it looks weird.&amp;quot;[http://forum.flightgear.org/viewtopic.php?f=68&amp;amp;t=18839&amp;amp;p=175737&amp;amp;hilit=rembrandt+mac#p175684]&lt;br /&gt;
&lt;br /&gt;
It's also worth noting that a number of FG 2.8 users reported that Rembrandt would still work for them using the 2.8 binary, unlike the 2.10 binary on Mac OSX version 10.7.5 on an iMac (AMD Radeon HD Graphics with 512MB) [http://forum.flightgear.org/viewtopic.php?f=21&amp;amp;t=19000&amp;amp;hilit=rembrandt+mac#p176460]. So the issue seems to occur largely in combination with older Mac OS versions and newer FG versions (&amp;gt;=2.8+) [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=19396&amp;amp;hilit=rembrandt+mac#p179456].&lt;br /&gt;
&lt;br /&gt;
It appears it is the Rembrandt lighting causing issues while in non rembrandt mode with older Mac OS + FG 2.8 and better. On other OS setups, the rembrandt lighting gets ignored when rembrandt is turned off, but not in this case. Both lighting modes are present and creating the weird light cone effects [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=19396&amp;amp;hilit=rembrandt+mac&amp;amp;start=15#p179655].&lt;br /&gt;
&lt;br /&gt;
If there are any console messages (like warnings or errors) shown, that would be helpful to know. A number of rembrandt related changes got fixed by Fred like this. Obviously, it is difficult for shader developers to troubleshoot shader related issues that they cannot reproduce with their own hardware.&lt;br /&gt;
&lt;br /&gt;
Rembrandt is being largely developed by a single Windows/Nvidia-based developer, so it gets very little testing and debugging on different platforms, especially Mac/ATI (AMD) - so as a Mac user, your safest bet is probably providing lots of feedback via the forums (or preferably the issue tracker), FredB (the Rembrandt developer) is generally pretty responsive and appreciates all helpful feedback. Obviously, it helps being able to build from source, and being able to provide detailed troubleshooting reports.&lt;br /&gt;
&lt;br /&gt;
These things are hard to debug/troubleshoot without having access to a corresponding system that exhibits the problem, which is why I suggested earlier to provide lots of Mac/Rembrandt-related feedback via the issue tracker, i.e. GLSL errors/warnings and anything else that could be useful. &lt;br /&gt;
&lt;br /&gt;
If you have you ever tried to debug an issue that doesn't cause errors on your computer, you'll understand that it's damn difficult in the first place. Most developers don't own a Mac, and are not going to spend 1000$ or so just to have one more computer to test things on, and we don't know of anyone who buys computers for the whole purpose of testing FG on more platforms. &lt;br /&gt;
&lt;br /&gt;
So as a rule we can try to pin down and solve such issues if, and only if, we get a decent bug report with tons of relevant background info and the possibility to ask follow-up questions. Remember, fixing such issues involves essentially working blind - it is trying to figure out why code that runs pefectly fine on your own computer might have issues on other computers and any traditional bug-hunting technique essentially fails.&lt;br /&gt;
&lt;br /&gt;
Posting a screenshot of the issue is nice, but tells little more than that it exists. It's completely impossible to turn that into any action developer-side. The underlying shader code has probably a combined 1000 lines, any of which could be problematic. &lt;br /&gt;
&lt;br /&gt;
Overall, the Rembrandt situation is most likely to improve the more feedback is provided by end users with different hardware/software configurations, Fred has fixed quite a number of shader related issues in the past, so it's largely a matter of time, and obviously the quality of feedback, provided by end-users like yourself.&lt;br /&gt;
&lt;br /&gt;
And just in case: Note that GLSL shaders are not really compiled/built by developers (unlike the actual fgfs binary), but on an invididual basis by your GPU/graphics drivers, which happens transparently in the background, each time fgfs is started. Basically, a GLSL shader is a snippet of &amp;quot;source code&amp;quot; that is passed on to your GPU driver, which in turn compiles it down into hardware-specific instructions for your particular hardware.&lt;br /&gt;
&lt;br /&gt;
From a troubleshooting perspective, it would be REALLY helpful if Mac users with the corresponding hardware and knowledge could come up with extremely downstripped test cases, that either show the problem, or which no longer show the problem as significantly. Disabling other shader-based features will definitely go a long way here, because many other GLSL features have not yet been explicitly ported to support Rembrandt. &lt;br /&gt;
In other words, you should preferably disable random building, advanced light scattern, advanced weather etc - and only really use the most basic settings to have an easily reproducable test case.&lt;br /&gt;
&lt;br /&gt;
To get this started, you can customize the &amp;quot;zero eye candy&amp;quot; profile and enable Rembrandt using shader level 1: [[Howto:Debugging_FlightGear_Crashes#Minimal_Rembrandt_Startup_Profile]]&lt;br /&gt;
&lt;br /&gt;
Some Mac folks have recently reported some success, it may be a good idea to search the forum for details, see for example:&lt;br /&gt;
&lt;br /&gt;
* http://forum.flightgear.org/viewtopic.php?f=21&amp;amp;t=19000&amp;amp;p=177570&amp;amp;hilit=rembrandt+mac#p176972&lt;br /&gt;
&lt;br /&gt;
{{cquote|I'm seeing regular crashes here from ALS and Rembrandt, but that's nothing new.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40024.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] 2.10.1&amp;lt;/nowiki&amp;gt;|author=Vivian Meazza|date=Fri, 03 May 2013 10:16:13 -0700}}&amp;lt;/ref&amp;gt;|Vivian Meazza}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|With an AMD Radeon HD 5670 using free radeon driver I've never seen performance of more than 15fps with Rembrandt and if I turn shadow details up so they don't look crappy I get about 3-4fps.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40293.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] reminder: entering feature freeze now&amp;lt;/nowiki&amp;gt;|author=Stefan Seifert|date=Thu, 20 Jun 2013 10:10:56 -0700}}&amp;lt;/ref&amp;gt;|Stefan Seifert}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|with a i3770K and a GTX670, I get some hit from ALS (10-30%) but Rembrandt instantly drops me to 20fps, and &amp;lt; 10fps I use an aircraft I actually want to fly (777 or Citation) and go to any major airport (EGKK, EHAM, EDDM, EDDF, EGLC, VHHH)&lt;br /&gt;
&lt;br /&gt;
This is at 2560x1600, but on the 670 I would be highly surprised if I'm fill-rate limited, given that AA is off, and the general suboptimal size of our &lt;br /&gt;
primitive batches.&lt;br /&gt;
&lt;br /&gt;
Emilian has explained on IRC this might be due to the out-of-the-box / default config for Rembrandt being highly suboptimal, which I didn't yet evaluate, I would be delighted to have it more usable.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40298.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] reminder: entering feature freeze now&amp;lt;/nowiki&amp;gt;|author=James Turner|date=Thu, 20 Jun 2013 13:29:47 -0700}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|The Apple OpenGL renderer is a rather interesting beast - it's a clean-room front-end to the drivers, one of aspect of which means it is the only true 'Core Profile' 3.x renderer in wide use. (As opposed to the Ati and Nvidia Core profile drivers, which are simple the compat ones with some checks removed, I have been told). Of course FG is hence limited to 2.1 on Mac since we're a long way from Core profile support in the main code.&lt;br /&gt;
&lt;br /&gt;
This does however mean it produces different GLSL compile issues, and different bugs in general, from the same hardware on other platforms.&lt;br /&gt;
&lt;br /&gt;
(The renderer backend does of course come from the vendors, but OpenGL.framework always comes from Apple - it's not like Linux where your &lt;br /&gt;
libGL.so comes, at least potentially, from your hardware vendor)&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40083.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Shader compile failure&amp;lt;/nowiki&amp;gt;|author=James Turner|date=Sat, 11 May 2013 06:53:32 -0700}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|concerning the larger issue of different rendering pipelines / approaches, my opinion is, and remains, that the long-term solution is separate viewer codebases - while a plethora would be bad, we would already benefit from a 'fixed-function, no shaders' renderer codebase distinct from a Rembrandt renderer and modern, forward-rendering OpenGL 3.x pipeline. This needs the viewer to be cleanly split out from the simulation backend, via HLA, which is exactly what Mathias (and soon, myself) are working towards, but slowly.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg39922.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Atmospheric Light Scattering&amp;lt;/nowiki&amp;gt;|author=James Turner|date=Thu, 25 Apr 2013 08:09:08 -0700}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|Like you and Thorsten, I see a very significant drop (50%) in frame-rate with Rembrandt, even without most the nice features such as shadows which has put me off using it.  I had thought it was just because my box is now underpowered (the march of technology....) but it sounds like other are&lt;br /&gt;
seeing similar issues and it would be worth some further investigation.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40304.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] reminder: entering feature freeze now&amp;lt;/nowiki&amp;gt;|author=Stuart Buchanan|date=Fri, 21 Jun 2013 01:40:15 -0700}}&amp;lt;/ref&amp;gt;|Stuart Buchanan}}&lt;br /&gt;
&lt;br /&gt;
=== Completed tasks ===&lt;br /&gt;
*Fix shadow rendering when using multi threading in OSG&lt;br /&gt;
*Implement Cascaded Shadow Map (need to be optimized - frustum calculation and night)&lt;br /&gt;
*Honor 'noshadow' animation (done)&lt;br /&gt;
*See what happens with glow in fog : unknown landclass creates white patches in the emission buffer - scenery generation problem&lt;br /&gt;
*Test multi-screen (mostly done)&lt;br /&gt;
*Restore splashscreen&lt;br /&gt;
*Draw transparent objects with forward rendering (may need to capture the transparent bin from the geometry stage and move it in the display stage) (OK - needs model contribution)&lt;br /&gt;
*Add spotlights as animations (nearly finished)&lt;br /&gt;
*find a solution for ambient and emissive color of material (may need an additional buffer)&lt;br /&gt;
*Provide a shader for transparent objects that could render to the emissive buffer too (using MRT) not doable. Light pass can't use MRT &lt;br /&gt;
*Use stencil buffer to limit light range(no - done in light shader)&lt;br /&gt;
**needed for cockpit light to implement fake shadows and avoid lighting the runway from the cabin through the airframe&lt;br /&gt;
*Use effect system instead of hard-coded shaders&lt;br /&gt;
*Add new animation to link a light source to a model (need to provide point light animation duplicating spot light) (done)&lt;br /&gt;
*Tidy up the architecture (done)&lt;br /&gt;
*Global strength of glow or ambient occlusion via slider in rendering dialog&lt;br /&gt;
*Fix dim-factor in multiplayer mode (done)&lt;br /&gt;
*Design and implement a configurable pipeline (done)&lt;br /&gt;
*Document rendering pipeline configuration file format (done)&lt;br /&gt;
*Fix fog on clouds&lt;br /&gt;
&lt;br /&gt;
=== Near term tasks ===&lt;br /&gt;
*Convert existing shaders to deferred rendering&lt;br /&gt;
*Avoid to redraw opaque objects in the light pass. Involve OSG node mask not properly initialized.&lt;br /&gt;
*take care of particles and precipitation&lt;br /&gt;
*Fix shadow matrices in multi-screen&lt;br /&gt;
*Fix Lights in multi screen (seems same problem than shadows. Forgot a 1/w factor ?)&lt;br /&gt;
*Implement lightfield shader&lt;br /&gt;
*Add some kind of fog to lights&lt;br /&gt;
*Restore depth partitioning using depth ranges&lt;br /&gt;
*Move effect of cloud coverage from water shader to sunlight shader&lt;br /&gt;
*Allow light masks using textures&lt;br /&gt;
*Use stencil double-sided operations to limit the depth of light volumes. Use depth clamp to ensure front faces are always rendered even if the camera is enclosed in the light volume.&lt;br /&gt;
&lt;br /&gt;
=== Long term ideas (unsorted) ===&lt;br /&gt;
*Use a separate list of light volumes to avoid traversing the scenegraph again (with transparency problems). Find out how we can detect unloading of models.&lt;br /&gt;
*implement volumetric effects by extending lights to arbitrary shaders. Should enable to implement heat haze effect and real wake waves.&lt;br /&gt;
*implement strength of glow (in the emissive buffer alpha channel) - use a Poisson-disk distribution to implement variable size blur&lt;br /&gt;
**provide levels 0 to 5 - we are currently at level 5&lt;br /&gt;
**level 0 should be ok for MFDs that are currenly unreadable because blurred&lt;br /&gt;
*Modify shadows to allow multiple casters (limited list)&lt;br /&gt;
**Implement a priority list of light sources, based on priority and distance from the viewer&lt;br /&gt;
*Restore stereo and other options currently available in CameraGroup&lt;br /&gt;
*Implement quality vs performance user control&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
{{#ev:youtube|PXHhtQb5yzc}} {{#ev:youtube|peEzEapavkg}} {{#ev:youtube|RIetPh8iJXk}} {{#ev:youtube|oaNFrxgQY1c}} {{#ev:youtube|8xGzy12hlis}} {{#ev:youtube|ZyuHBlm3xXU}} {{#ev:youtube|RgH9GZRukOI}} {{#ev:youtube|UQvbHnBkpaM}} {{#ev:youtube|v02phoOqWHE}}{{#ev:youtube|dlSo4sBa7Nk}}&lt;br /&gt;
&lt;br /&gt;
== Appendix ==&lt;br /&gt;
{{Appendix|all|&lt;br /&gt;
* {{cite web |url=http://http.download.nvidia.com/developer/presentations/2004/6800_Leagues/6800_Leagues_Deferred_Shading.pdf |title=Deferred Shading |author=Shawn Hargreaves and Mark Harris }}&lt;br /&gt;
* {{cite web |url=http://bat710.univ-lyon1.fr/~jciehl/Public/educ/GAMA/2007/Deferred_Shading_Tutorial_SBGAMES2005.pdf |title=Deferred Shading Tutorial |author=Fabio Policarpo and Francisco Fonseca }}&lt;br /&gt;
* {{cite web |url=http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf |title=Deferred Rendering in Killzone 2 |author=Michal Valient |month=July |year=2007 }}&lt;br /&gt;
* {{cite web |url=http://www.anandtech.com/show/5011/nvidiaea-posts-battlefield-3-graphics-tech-talk |title=Battlefield 3 Graphics Tech Talk |author=Johan Andersson |month=October |year=2011 }}&lt;br /&gt;
* {{cite web |url=http://www.disney.co.uk/cms_res/blackrockstudio/pdf/Rendering_Techniques_in_SplitSecond.pdf |title=Rendering Techniques in Split/Second |author=Jeremy Moore and David Jefferies |year=2009 }}&lt;br /&gt;
* {{cite web |url=http://www.crytek.com/sites/default/files/A_bit_more_deferred_-_CryEngine3.ppt |title=&amp;quot;A bit more Deferred&amp;quot; - CryEngine 3 (PPT) |author=Martin Mittring }}&lt;br /&gt;
* {{cite web |url=http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter09.html |title=Deferred Shading in S.T.A.L.K.E.R. |author=Oles Shishkovtsov }}&lt;br /&gt;
* {{cite web |url=http://http.developer.nvidia.com/GPUGems3/gpugems3_ch19.html |title=Deferred Shading in Tabula Rasa |author=Rusty Koonce }}&lt;br /&gt;
* {{cite web |url=http://aras-p.info/texts/CompactNormalStorage.html |title=Compact Normal Storage for small g-buffers |author=Aras Pranckevičius |date=4 August 2009 |accessdate=12 April 2012 }}&lt;br /&gt;
* {{cite web |url=http://the-witness.net/news/2010/03/graphics-tech-shadow-maps-part-1/ |title=Graphics Tech: Shadow Maps (part 1) |author=Jonathan Blow |date=3 March 2010 |accessdate=13 April 2012 }}&lt;br /&gt;
* {{cite web |url=http://directtovideo.wordpress.com/2009/11/13/deferred-rendering-in-frameranger/ |title=deferred rendering in frameranger. |author=Matt Swoboda |date=13 November 2009 |accessdate=8 July 2012 }}&lt;br /&gt;
* {{cite web |url=http://publications.dice.se/publications.asp?show_category=yes&amp;amp;which_category=Rendering |author=DICE |title=Publications on rendering |accessdate=15 August 2012 }}&lt;br /&gt;
* {{cite web |url=http://advances.realtimerendering.com/s2012/Epic/The%20Technology%20Behind%20the%20Elemental%20Demo%2016x9.pptx |author=Martin Mittring |title=The Technology behind the Unreal Engine 4 Elemental Demo |accessdate=15 September 2012 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Shader development]]&lt;br /&gt;
[[Category:Core development projects]]&lt;br /&gt;
[[fr:Projet Rembrandt]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Project_Rembrandt&amp;diff=77228</id>
		<title>Project Rembrandt</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Project_Rembrandt&amp;diff=77228"/>
		<updated>2014-10-19T19:28:55Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Configurable pipeline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- {{WIP}} --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why this name ? ==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Rembrandt Rembrandt] was a dutch painter living in the 17th century, famous as one of the master of [http://en.wikipedia.org/wiki/Chiaroscuro chiaroscuro].&lt;br /&gt;
&lt;br /&gt;
This project is about changing the way [[FlightGear]] renders lights, [[shadows]] and shades, and aims at making Rembrandt painting style possible in FG.&lt;br /&gt;
&lt;br /&gt;
{{forum|47|Effects &amp;amp; Shaders}}&lt;br /&gt;
&lt;br /&gt;
== Status (07/2014) ==&lt;br /&gt;
For the time being, Rembrandt's main developer (FredB) is not actively involved in FlightGear, and Rembrandt must be considered &amp;quot;unmaintained&amp;quot; currently. However, there are 2-3 overlapping efforts, some of which were discussed on the developers mailing list. First of all, there's Zan's newcamera branch, which has never been merged with FlightGear, but which exposes FlightGear's rendering pipelines to XML/fgdata space via the effects framework - which basically means that large portions of Rembrandt could be moved out of the C++ code back into GLSL/effects space, which is something that was originally discussed by a few core developers. This has never materalized, because Zan's work took place pretty much at the same time when Rembrandt was being developed. Likewise, some technical challenges could be easily addressed by exposing each rendering stage to a [[Canvas]] texture, which would mainly require two new features: 1) [[Canvas_Development#Supporting_Cameras|supporting camera views as a new Canvas::Element]], and 2) [[Canvas_Development#Effects_.2F_Shaders|supporting effects/shaders]] per Canvas/Element. &lt;br /&gt;
From then on, most [[Howto:Use_a_Camera_View_in_an_Instrument|Rembrandt-like functionality, including mirror views, tail cameras or FLIR-like processing]], could be fully implemented and maintained by fgdata contributors familiar with the effects framework and shaders, without necessarily being specific to just deferred rendering:  &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Personally, I see the potential of deferred rendering, but if it ends up with 15 fps on a gaming rig, then that's what it's going to remain - potential waiting for the next or next-to-next hardware generation. For me personally, real secondary light sources and shadows aren't a big deal. They're important on the ground, at an airport, but I'm usually flying. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Self-shadowing of the terrain can be done in 90% of the cases accurately without Rembrandt because the terrain is rarely that steeply sloped, and the interesting other shadows in nature - clouds and trees - can't be done by Rembrandt in any case. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204372#p204372&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Mar 27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Rembrandt is just one  particular (and experimental) implementation of deferred rendering implemented via FlightGear - when running other simulators/games -with comparable scenes (not necessarily 400km of visibility!)- you'll see that performance isn't typically that much affected. So I guess there's nothing wrong about Rembrandt per se, but it just isn't very optimized at the moment, and it not being maintained doesn't really help. A few weeks ago when we exchanged screen shots and Rembrandt stats, there were apparently a few low-hanging fruits, and Rembrandt was obviously doing stuff that wasn't really necessary (e.g. computing shadows at night time without any light sources within 50km...)&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204374#p204374&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Mar 27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The situations I'm aware of were deferred rendering is used are frequently first person shooters. From the ground, where you have plenty of objects obscuring each other, deferred rendering would give you a pronounced boost in framerate as you spend minimal time with vertices you're not going to see.  That advantage never really materializes for a flightsim.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Imo, what makes our performance in comparison worse than other software where a large scene is rendered is the lack of a terrain LOD system. Our vertex count just explodes at high visibility. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I mean, FredB obviously spent quite some time with Rembrandt. If someone can make it run much faster, than that'd change the game, but so far we have mostly talk.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204375#p204375&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Mar 27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Given how FlightGear has evolved over time, not just regarding effects/shaders, but also complementary efforts like deferred rendering (via rembrandt), we'll probably see cameras (and maybe individual rendering stages) exposed as Canvases, so that there's a well-defined interface for hooking up custom effects/shaders to each stage in the pipeline - Zan's newcamera work demonstrates just how much flexibility can be accomplished this way, basically schemes like Rembrandt could then be entirely maintained in XML/effects and shader (fgdata) space.&amp;lt;br/&amp;gt;&lt;br /&gt;
And even the fgviewer code base could be significantly unified by just working in terms of canvases that deal with camera views, which also simplifies serialization for HLA. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=216741#p216741&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: create window&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Aug 16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |So we would need to extend CanvasElement then to support effects - according to some of your postings, you played with that already a while ago using code from SGMaterialAnimation apparently, as in 2 years ago ? Is that something that we should reuse ?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Specifically, I've been in touch with some of our effects/shader guys, and we're wondering if we could directly register a Canvas/Effects texture as a texture available to effects, which is something that Thorsten and Tim talked about a while ago, being a limitation in effects that they would like to get rid of&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=201852#p201852&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Tue Feb 25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |this all predates Canvas - but if we could not just support glsl/effects in Canvas, but also expose those canvas textures to the effects system, that would bring a lot of possibilities&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=201852#p201852&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Tue Feb 25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |regarding Rembrandt in particular, we are only missing 2-3 [[Canvas]] enhancements to allow effects/shader guys to pick up where FredB left off - which are primarily, &lt;br /&gt;
# camera support&lt;br /&gt;
# effects/shader support&lt;br /&gt;
&lt;br /&gt;
And people have this working in various stages already, sometimes unrelated to [[Canvas]] (Zan's newcameras branch), and sometimes not yet fully integrated (e.g. the shader stuff). But generally it is foreseeable that additional rendering schemes (deferred rendering) could then be implemented by people without having to touch any C++ code.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=204338#p204338&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: A long shot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Mar 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |So, it's not really Rembrandt that's the issue here, the bottleneck is the number of active expert C++ developers (you cannot really touch the 3D parts of the simulator with &amp;quot;just&amp;quot; C++ knowledge, you also need strong maths skills and OpenGL/OSG 3D rendering experience), especially once they're no longer around to help integrate their code and if there's little documentation to help newcomers maintain their code, because that's when base package development is often taking over eventually.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |For example, I think it's pretty safe to say that the Canvas system was never intended to &amp;quot;compete&amp;quot; with Rembrandt, and most people here will be wondering how it could possibly be competing at all ? But ultimately it really is an integration and accessiblity issue, too. Admitedly, you need to be familiar with the way the project works to foresee what could be happening here, but it's not really far-fetched at all:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I had a quick look, and according to the initial Rembrandt commits by FredB, they were all about decoupling rendering into multiple stages and doing offscreen rendering to textures. This is also supported by the wiki and the initial Rembrandt discussions on the devel list. So far, straightforward to understand - even without knowing any GLSL.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So basically it's about decoupling each rendering step and rendering each stage to a separate offscreen texture, and then it's mostly about exposing each rendering step/stage to the effects/GLSL framework for further processing there.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Rembrandt obviously predates the Canvas system, but these days that's exactly what the Canvas is good at: offscreen rendering to an osg::Image, without having to touch any C++ code, and without having to build FlightGear from source.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Tim Moore (developer of the effects framework) did mention several times how it would be great to extend the effects framework to allow  arbitrary textures to be used as inputs/outputs for the effects frame. For example, see: [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg37873.html http://www.mail-archive.com/flightgear- ... 37873.html]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So consider a Canvas texture as the potential input/output for an effect, and there you have it: Canvas + effects/shader {{=}}&amp;amp;gt; one important ingredient for a Canvas-based Rembrandt port. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |we also have dozens of feature requests from aircraft developers to allow scenery views to be rendered as cockpit textures, e.g. to render mirrors or tail camera images. A feature also commonly seen on FSX and XPlane. &amp;lt;br/&amp;gt;&lt;br /&gt;
Several years ago, Zan made lots of progress doing this sort of thing, long before the Canvas again - so it's also an integration issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
These days, this would require the view_mgr code to be adapted and turned into a Canvas::Element. For example, see:&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg36673.html http://www.mail-archive.com/flightgear- ... 36673.html]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto:Use_a_Camera_View_in_an_Instrument]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Other aircraft developers have asked for effects/GLSL being available to cockpit textures for other reasons, e.g. to implement night vision views/FLIR imagings. And supporting effects/shaders in Canvas has been discussed various times on the forum too.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So, these are just two new features: 1) making effects/GLSL usable to Canvas textures and 2) rendering scenery views - and suddenly you have two major ingredients for a deferred shading scheme in place, without requiring extensive C++ changes, and without necessarily having to even look at Rembrandt ...&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I don't think that anybody is working on replacing Rembrandt, but I also don't think that we have any active core developers who could easily help maintain Rembrandt (except for FredB obviosuly) - still it is foreseeable that the Canvas system will -eventually- provide all essential building blocks to allow deferred rendering to be built on top, it's really just a matter of time.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
At that point revisiting the Rembrandt code and moving its rendering stages into cascaded Canvas textures that make use of scenery views and effects/shaders with an osgViewer-based placement, would be straightforward for any GLSL developer, much more so than getting to grips with the underlying Rembrandt C++ code itself. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So, nobody  is working on revamping/replacing Rembrandt, but even if it  were to continue to be stalled, the idea could still evolve - C++ templates were also never intended to be turing-complete, it just happened by accident :lol:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
As we know, even for good ideas, it usually takes ~3-5 years for them to be implemented (remember: OSG port, Rembrandt, Canvas etc).&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So I still wouldn't hold my breath. But re-considering the way Rembrandt is done and integrating it with the Canvas system would help make it less obscure and more accessible to effects/GLSL developers, especially for times when there are no C++/3D experts around.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=194296#p194296&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: What frame rate (fps) do you have?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Nov 18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== What is it ? ==&lt;br /&gt;
The idea driving the project is to implement [http://en.wikipedia.org/wiki/Deferred_shading deferred rendering] inside FlightGear.&lt;br /&gt;
From the beginning FlightGear had a forward renderer that tries to render all properties of an object in one pass (shading, lighting, fog, ...), making it difficult to render more sophisticated shading &lt;br /&gt;
(see the [[FlightGear Newsletter December 2011#Shaders|'Uber-shader']]) because one has to take into account all aspects of the [http://www.wired.com/magazine/2010/07/st_equation_3danimation/ rendering equation].&lt;br /&gt;
&lt;br /&gt;
[[Image:project_rembrandt_1.png|thumb|300px|Main view with the content of buffers displayed at corners]]&lt;br /&gt;
On the contrary, deferred rendering is about separating operations in simplified stages and collecting the intermediary results in hidden buffers that can be used by the next stage.&lt;br /&gt;
&lt;br /&gt;
;First stage is the Geometry Stage :&lt;br /&gt;
: we render all the scene into 4 textures, using multi render targets, to do it in one pass: one for the depth buffer, one for the normals (lower left of the image), one for the diffuse colors (lower right) and one for the specular colors (upper right).&lt;br /&gt;
&lt;br /&gt;
;Next stage is the Shadow Stage :&lt;br /&gt;
: we render the scene again into a depth texture from the point of view of the lights. There will be one texture for every light casting shadows.&lt;br /&gt;
&lt;br /&gt;
;Then comes the Lighting Stage, with several substages :&lt;br /&gt;
:*&amp;lt;u&amp;gt;Sky pass&amp;lt;/u&amp;gt;: the sky is first drawn using classical method.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Ambient pass&amp;lt;/u&amp;gt;: the diffuse buffer is modulated with the ambient color of the scene and is drawn as a screen-aligned textured quad&lt;br /&gt;
:*&amp;lt;u&amp;gt;Sunlight pass&amp;lt;/u&amp;gt;: a second screen aligned quad is drawn and a shader computes the view position of every pixel to compute its diffuse and specular color, using the normal stored in the first stage. The resulting color is blended with the previous pass. Shadows are computed here by comparing the position of the pixel with the position of the light occluder stored in the shadow map.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Fog pass&amp;lt;/u&amp;gt;: a new screen aligned quad is draw and the position of the pixel is computed to evaluate the amount of fog the pixel has. The fog color is blended with the result of the previous stage.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Additional light pass&amp;lt;/u&amp;gt;: the scene graph will be traversed another time to display light volumes (cone or frusta for spot lights, sphere for omni-directional lights) and their shader will add the light contributed by the source only on pixels receiving light.&lt;br /&gt;
:*&amp;lt;u&amp;gt;Transparent objects pass&amp;lt;/u&amp;gt;: transparent objects (and clouds) are finally rendered using classical method.&lt;br /&gt;
&lt;br /&gt;
:All lighting computations are accumulated in a single buffer that will be used for the last stage, in addition of the one computed by the Geometry stage.&lt;br /&gt;
&lt;br /&gt;
;In the end, the Display Stage, with optional Post-Processing effect :&lt;br /&gt;
:The results of the previous buffers are pushed to the main framebuffer to be displayed, optionally modified to show Glow, Motion blur, HDR, redout or blackout, screen-space ambient occlusion, anti-aliasing, etc...&lt;br /&gt;
&lt;br /&gt;
In FG, we end the rendering pipeline by displaying the [[Menubar|GUI]] and the [[HUD]].&lt;br /&gt;
&lt;br /&gt;
All these stages are more precisely described in this [http://bat710.univ-lyon1.fr/~jciehl/Public/educ/GAMA/2007/Deferred_Shading_Tutorial_SBGAMES2005.pdf tutorial] that is the basis of the current code, with some addition and modifications.&lt;br /&gt;
&lt;br /&gt;
C++ developers interested in learning more about how Rembrandt works, will want to look at these initial $FG_SRC commits (note that the viewer related sources are now to be found in $FG_SRC/Viewer):&lt;br /&gt;
* 94e3ae4c675463c358071e1d9da8de583cf56e15 &lt;br /&gt;
* 6b008126b5fd99c38778c6293c15f9721a4fa509&lt;br /&gt;
* 64e3e98069fb2310311687b9f099b338b8b375a5&lt;br /&gt;
* bb16463d631a8d87310a54a573966eb1cca813e6&lt;br /&gt;
&lt;br /&gt;
== Caveats ==&lt;br /&gt;
Deferred rendering is not able to display transparency. For the moment, clouds are renderer separately and should be lit and shaded by their own. Transparent surfaces are alpha-tested and not blended. They would have to be drawn in their own bin over the composited image.&lt;br /&gt;
&lt;br /&gt;
It also don't fit with depth partitioning because the depth buffer should be kept to retain the view space position, so for the moment, z-fighting is quite visible. Depth partitioning with non overlapping depth range might be the solution and should be experimented at one point.&lt;br /&gt;
&lt;br /&gt;
The glow pass can make certain MFD (that use emissive color) unreadable because blurred. Should be treated as transparent.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
=== Repositories ===&lt;br /&gt;
The code is in the main branch of the [[FlightGear and Git|official repository]]. Any other location is not maintained anymore.&lt;br /&gt;
&lt;br /&gt;
=== Rendering of transparent surfaces ===&lt;br /&gt;
[[Image:project_rembrandt_5.png|thumb|300px|Transparent surfaces drawn after opaque objects]]&lt;br /&gt;
Transparent surfaces are detected by OSG loader plugins and their state set receive the TRANSPARENT_BIN rendering hint. In the culling pass, the cull visitor orders transparent surfaces in transparent bin. In a cull callback attached to the Geometry camera, after the scenegraph traversal, the transparent bins are removed from the render stage and saved in a temporary collection. In a cull callback attached to the Lighting camera, after the scenegraph traversal, the transparent bins saved at the previous stage, are added to the render stage of the Lighting camera with a high order num. That way, the transparent surface are drawn on top of the scene lighted from the Gbuffer.&lt;br /&gt;
&lt;br /&gt;
=== Memory consumption ===&lt;br /&gt;
For each camera defined in the camera group, there is a separate shadow map, so the video memory usage is :&lt;br /&gt;
* G-buffer and Lighting buffer: 20 bytes per pixel. For an HD screen (1920x1080) memory requirement is 40 Mb&lt;br /&gt;
* Shadow map: 3 x shadow_map_size x shadow_map_size bytes (if size is 8192, whole map size is 192 Mb&lt;br /&gt;
Not counting textures, display list or vertex buffers for models and terrain&lt;br /&gt;
&lt;br /&gt;
3 HD screens require 120 Mb of memory for the buffers (shadow excluded), you're asking 3x8192x8192x3 = 576 Mb (megabytes) of memory for the shadows alone.&lt;br /&gt;
&lt;br /&gt;
If you are seeing error messages during startup or FlightGear doesn't start up properly, it's probably because you don't have enough free video memory. Reduce the size of the shadow map in preferences.xml by locating &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;map-size type=&amp;quot;int&amp;quot;&amp;gt;8192&amp;lt;/map-size&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And put 4096 or 2048 instead.&lt;br /&gt;
You can also use a startup parameter: --prop:/sim/rendering/shadows/map-size=2048&lt;br /&gt;
&lt;br /&gt;
=== Configurable pipeline ===&lt;br /&gt;
&lt;br /&gt;
The Rembrandt renderer uses an XML file to setup its pipeline for each viewport described in the camera group. This file describes the way the intermediary buffers are setup and how the different rendering stages are sequenced. The general outline of a pipeline file is as follow :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
	&amp;lt;!-- BUFFERS --&amp;gt;&lt;br /&gt;
	&amp;lt;buffer&amp;gt;&lt;br /&gt;
		&amp;lt;!-- First buffer definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/buffer&amp;gt;&lt;br /&gt;
	&amp;lt;buffer&amp;gt;&lt;br /&gt;
		&amp;lt;!-- nth buffer definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/buffer&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- STAGES --&amp;gt;&lt;br /&gt;
	&amp;lt;stage&amp;gt;&lt;br /&gt;
		&amp;lt;!-- First stage definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/stage&amp;gt;&lt;br /&gt;
	&amp;lt;stage&amp;gt;&lt;br /&gt;
		&amp;lt;!-- nth stage definition --&amp;gt;&lt;br /&gt;
	&amp;lt;/stage&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Buffers ====&lt;br /&gt;
A buffer is a texture used as a storage area in the GPU. It's size is usually a multiple of the screen size, but fixed size is supported (typical for shadow map). The description of a buffer is described below :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;buffer&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;buffer-name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;internal-format&amp;gt;rgba8&amp;lt;/internal-format&amp;gt; &amp;lt;!-- rgb8, rgba8, rgb16, rgba16, rg16, depth-component24, depth-component32 or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;source-format&amp;gt;rgba&amp;lt;/source-format&amp;gt; &amp;lt;!-- rg, rgb, rgba, depth-component or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;source-type&amp;gt;unsigned-byte&amp;lt;/source-type&amp;gt; &amp;lt;!-- unsigned-byte, unsigned-short, unsigned-int, float or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;width&amp;gt;screen&amp;lt;/width&amp;gt; &amp;lt;!-- screen, value or &amp;lt;property&amp;gt;/a/width/property&amp;lt;/property&amp;gt; --&amp;gt;&lt;br /&gt;
		&amp;lt;height&amp;gt;screen&amp;lt;/height&amp;gt; &amp;lt;!-- screen, value or &amp;lt;property&amp;gt;/a/height/property&amp;lt;/property&amp;gt; --&amp;gt;&lt;br /&gt;
		&amp;lt;scale-factor&amp;gt;1.0&amp;lt;/scale-factor&amp;gt;&lt;br /&gt;
		&amp;lt;wrap-mode&amp;gt;clamp-to-border&amp;lt;/wrap-mode&amp;gt; &amp;lt;!-- clamp, clamp-to-border, clamp-to-edge, mirror, repeat or OpenGL hex value --&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional, for shadow map --&amp;gt;&lt;br /&gt;
		&amp;lt;shadow-comparison&amp;gt;true&amp;lt;/shadow-comparison&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
	&amp;lt;/buffer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stages ====&lt;br /&gt;
A stage is an unit of rendering to a group of buffer. Most stages are predefined and their type is not free. When a type is not specified, the name is used. Stage types are :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Stage type&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Purpose&lt;br /&gt;
|-&lt;br /&gt;
|geometry&lt;br /&gt;
|The geometry stage initialize most of the buffers and works on the real objects and geometry. Transparent objects are set aside and will be used untouched in the lighting stage. Other opaque geometry is rendered with the standard effects that do the hard work to put sensible data in the buffers.&lt;br /&gt;
|-&lt;br /&gt;
|shadow&lt;br /&gt;
|In this stage, the geometry is rendered in the normal map from the perspective of the sun.&lt;br /&gt;
|-&lt;br /&gt;
|lighting&lt;br /&gt;
|This stage uses the buffers filled by the previous stages to light every pixel of the scene. The result is rendered in another buffer to allow post effects.&lt;br /&gt;
|-&lt;br /&gt;
|fullscreen&lt;br /&gt;
|Stages of this type are used to alter the whole scene or transform data from a particular buffer.&lt;br /&gt;
|-&lt;br /&gt;
|display&lt;br /&gt;
|Final rendering of the scene to the screen or the texture defined in the camera group.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A stage description is outlined below :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;stage&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;stage-name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;type&amp;gt;stage-type&amp;lt;/type&amp;gt; &amp;lt;!-- optional if name is one of the predefined type except fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;order-num&amp;gt;-1&amp;lt;/order-num&amp;gt;&lt;br /&gt;
		&amp;lt;effect&amp;gt;Effects/fullscreen-effect&amp;lt;/effect&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;needs-du-dv&amp;gt;true&amp;lt;/needs-du-dv&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;scale-factor&amp;gt;0.25&amp;lt;/scale-factor&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;attachment&amp;gt;&lt;br /&gt;
			&amp;lt;!-- First attachment definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/attachment&amp;gt;&lt;br /&gt;
		&amp;lt;attachment&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Nth attachment definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/attachment&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;!-- Passes only for the lighting stage --&amp;gt;&lt;br /&gt;
		&amp;lt;pass&amp;gt;&lt;br /&gt;
			&amp;lt;!-- First pass definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/pass&amp;gt;&lt;br /&gt;
		&amp;lt;pass&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Nth pass definition --&amp;gt;&lt;br /&gt;
		&amp;lt;/pass&amp;gt;&lt;br /&gt;
	&amp;lt;/stage&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Stages render in buffers (except for the display stage). Attachments describe which buffers are affected by each stage.&lt;br /&gt;
&lt;br /&gt;
===== Attachments =====&lt;br /&gt;
Attachment describe bindings between buffer and attachment point :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;attachment&amp;gt;&lt;br /&gt;
		&amp;lt;component&amp;gt;color0&amp;lt;/component&amp;gt; &amp;lt;!-- depth, stencil, packed-depth-stencil, color0, color1, color2 or color3 --&amp;gt;&lt;br /&gt;
		&amp;lt;buffer&amp;gt;buffer-name&amp;lt;/buffer&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
	&amp;lt;/attachment&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Passes =====&lt;br /&gt;
Passes are only available in the &amp;lt;tt&amp;gt;lighting&amp;lt;/tt&amp;gt; stage. Three kind of stage are allowed :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Pass type&lt;br /&gt;
!align=&amp;quot;left&amp;quot;| Purpose&lt;br /&gt;
|-&lt;br /&gt;
|sky-clouds&lt;br /&gt;
|Renders the skydome, sun, moon, planet, stars and clouds&lt;br /&gt;
|-&lt;br /&gt;
|lights&lt;br /&gt;
|Renders additional spot and point lights&lt;br /&gt;
|-&lt;br /&gt;
|fullscreen&lt;br /&gt;
|Fullscreen pass analog to a fullscreen stage except that it renders in the buffers attached to the lighting stage&lt;br /&gt;
|}&lt;br /&gt;
A pass is defined like below :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;pass&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;pass-name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;type&amp;gt;pass-type&amp;lt;/type&amp;gt; &amp;lt;!-- optional if name is one of the predefined type except fullscreen --&amp;gt;&lt;br /&gt;
		&amp;lt;order-num&amp;gt;-1&amp;lt;/order-num&amp;gt;&lt;br /&gt;
		&amp;lt;effect&amp;gt;Effects/fullscreen-effect&amp;lt;/effect&amp;gt; &amp;lt;!-- only if type == fullscreen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;!-- optional condition --&amp;gt;&lt;br /&gt;
		&amp;lt;condition&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Valid boolean expression --&amp;gt;&lt;br /&gt;
		&amp;lt;/condition&amp;gt;&lt;br /&gt;
	&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A typical lighting stage is a succession of 5 passes :&lt;br /&gt;
# &amp;lt;tt&amp;gt;sky-clouds&amp;lt;/tt&amp;gt; pass&lt;br /&gt;
# &amp;lt;tt&amp;gt;fullscreen&amp;lt;/tt&amp;gt; pass for ambient light&lt;br /&gt;
# &amp;lt;tt&amp;gt;fullscreen&amp;lt;/tt&amp;gt; pass for sun light (and shadows)&lt;br /&gt;
# &amp;lt;tt&amp;gt;lights&amp;lt;/tt&amp;gt; pass&lt;br /&gt;
# &amp;lt;tt&amp;gt;fullscreen&amp;lt;/tt&amp;gt; pass for fog&lt;br /&gt;
&lt;br /&gt;
Each effect attached to the fullscreen passes define the way blending is done between the pass and the previous accumulation of render.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== C++ implementation =====&lt;br /&gt;
&lt;br /&gt;
On the C++ side, Rembrandt is set up in those steps:&lt;br /&gt;
&lt;br /&gt;
* ''buildRenderingPipeline()'' is the last common function between forward rendering and deferred rendering. That's the point of start for specific deferred stuff. In this function we call  ''buildDeferredPipeline()''&lt;br /&gt;
** ''buildDeferredPipeline()'' is just a wrapper for ''buildCameraFromRenderingPipeline()''&lt;br /&gt;
*** ''buildCameraFromRenderingPipeline()'' is where we initialize all buffers and create all the stages found in ''Effects/default-pipeline.xml'' with the call to ''buildBuffers()'' and ''buildStage()''&lt;br /&gt;
**** ''buildBuffers()'' is where we ask to build each buffer with the call to ''buildDeferredBuffer()''&lt;br /&gt;
***** ''buildDeferredBuffer()'' create a 2D texture&lt;br /&gt;
**** ''buildStage()'' is where we ask to build each camera depending on the type of the stage (geometry, lighting, shadow, fullscreen, display) with the call to ''buildDeferred*Camera()'' (where * is the stage type)&lt;br /&gt;
***** ''buildDeferred*Camera()''is where we build the camera, for each camera we attach the required buffers with the call to ''buildAttachments()''.&lt;br /&gt;
****** ''buildDeferredGeometryCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredShadowCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredLightingCamera()'' Only for the lighting camera (''buildDeferredLightingCamera()'') we have to build passes who is called with ''buildPass()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredFullscreenCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
****** ''buildDeferredDisplayCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?]&lt;br /&gt;
&lt;br /&gt;
== Running Flightgear with Rembrandt ==&lt;br /&gt;
[[File:Rembrandt dialog.png|thumb|270px|Rembrandt dialog]]&lt;br /&gt;
The Rembrandt renderer is now integrated in the main repository but needs to be enabled to run. There are two ways to enable it (only one is needed!):&lt;br /&gt;
* &amp;lt;code&amp;gt;--enable-rembrandt&amp;lt;/code&amp;gt; (when using [[FGRun]], you may add this behind the &amp;lt;tt&amp;gt;FG_EXECUTABLE&amp;lt;/tt&amp;gt; on the first page). &lt;br /&gt;
* &amp;lt;code&amp;gt;--prop:/sim/rendering/rembrandt/enabled=true&amp;lt;/code&amp;gt; (with FGRun this can be added via &amp;lt;tt&amp;gt;Advanced &amp;gt; Properties&amp;lt;/tt&amp;gt; on the last page, but only the &amp;lt;code&amp;gt;/sim/rendering/rembrandt/enabled=true&amp;lt;/code&amp;gt; part).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;View &amp;gt; Rendering Options &amp;gt; Rembrandt Options&amp;lt;/tt&amp;gt; dialog allows you to toggle and adjust the various features that Rembrandt offers.&lt;br /&gt;
&lt;br /&gt;
Rembrandt is quite demanding in GPU resources and may fail to run with the default options. The more frequent symptom is an OSG message in the console :&lt;br /&gt;
&lt;br /&gt;
 RenderStage::runCameraSetUp(), FBO setup failed, FBO status= 0x8cd6&lt;br /&gt;
 Warning: RenderStage::runCameraSetUp(State&amp;amp;) Pbuffer does not support multiple color outputs.&lt;br /&gt;
&lt;br /&gt;
The ssao effect provided in v2.8.0 may generate these messages, more often on Mac :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FRAGMENT glCompileShader &amp;quot;/Users/xxxx/Desktop/FlightGear.app/Contents/Resources/../Resources/data/Shaders/ssao.frag&amp;quot; FAILED&lt;br /&gt;
FRAGMENT Shader &amp;quot;/Users/xxxx/Desktop/FlightGear.app/Contents/Resources/../Resources/data/Shaders/ssao.frag&amp;quot; infolog:&lt;br /&gt;
ERROR: 0:20: 'array of 2-component vector of float' : constructor not supported for type&lt;br /&gt;
ERROR: 0:20: 'array of 2-component vector of float' : no matching overloaded function found&lt;br /&gt;
ERROR: 0:20: 'const 2-component vector of float' : cannot declare arrays of this type&lt;br /&gt;
ERROR: 0:20: 'v' : redefinition&lt;br /&gt;
ERROR: 0:55: 'reflect' : no matching overloaded function found&lt;br /&gt;
ERROR: 0:55: '=' :  cannot convert from 'float' to '2-component vector of float'&lt;br /&gt;
&lt;br /&gt;
glLinkProgram &amp;quot;&amp;quot; FAILED&lt;br /&gt;
Program &amp;quot;&amp;quot; infolog:&lt;br /&gt;
ERROR: One or more attached shaders not successfully compiled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In that case, disable ambient occlusion with the command :&lt;br /&gt;
&amp;lt;tt&amp;gt;--prop:/sim/rendering/rembrandt/ambient-occlusion-buffers=false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a number of additional options that can help to avoid these problems :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/rembrandt/use-color-for-depth=true&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Some old NVidia cards, such as 7600GT, don't give enough resolution for depth and that result in &amp;quot;fog curtains&amp;quot; at few meters from the viewer. One trick is to encode depth in another texture and get the proper value afterward. This option enables that.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/enabled=false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Disable shadows altogether.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/num-cascades=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set &amp;lt;tt&amp;gt;/sim/rendering/shadows/cascade-far-m[0]&amp;lt;/tt&amp;gt; to change the shadow map range. The more the range, the less the resolution (default value is 5 meters)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/map-size=&amp;lt;power-of-two&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set the shadow map size. Useful values are 1024, 2048, 4096 or 8192. Few cards have the resources to support 16384.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/num-cascades&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set the shadow map cascade number. Less cascades means less time spent in shadow map generation, but also means lower shadow quality. Integer between 1 and 4.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/shadows/cascade-far-m[i]&amp;lt;/tt&amp;gt;&lt;br /&gt;
(1 &amp;lt;= i &amp;lt;= &amp;lt;tt&amp;gt;/sim/rendering/shadows/num-cascades&amp;lt;/tt&amp;gt; &amp;lt;= 4)&lt;br /&gt;
|Set the shadow map cascade range for each cascade. Default values are 5m, 50m, 500m and 5000m for 4 cascades.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;--prop:/sim/rendering/rembrandt/no-16bit-buffer=false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|By default, Rembrandt uses 8 bit buffers for normals (so the property is set to true by default). This may create banding artifacts on specular highlights. If it's unacceptable and the GPU supports it, set to false to have better precision for normals and effects relying on normal direction.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Guidelines for shader writers ==&lt;br /&gt;
=== Predefined uniforms ===&lt;br /&gt;
These glsl uniforms don't need to be declared in the effect file.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ViewMatrix&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In fullscreen pass only, view matrix used to transform the screen position to view direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ViewMatrixInverse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In fullscreen pass only, view matrix inverse used to transform the screen position to view direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ProjectionMatrixInverse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In fullscreen pass only, projection matrix inverse used to transform the screen position to view direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_CameraPositionCart&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Position of the camera in world space, expressed in cartesian coordinates&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_CameraPositionGeod&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Position of the camera in world space, expressed in geodesic coordinates (longitude in radians, latitude in radians, elevation in meters)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunAmbientColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunDiffuseColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunSpecularColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_SunDirection&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_FogColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_FogDensity&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;float&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ShadowNumber&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;int&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_ShadowDistances&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_DepthInColor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;bool&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Tells if the depth is stored in a depth texture or a color texture&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_Planes&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec3&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Used to convert the value of the depth buffer to a depth that can be used to compute the eye space position of the fragment&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;fg_BufferSize&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;vec2&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Dimensions of the buffer, used to convert gl_FragCoord into the range [0..1][0..1]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;osg_ViewMatrix&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Defined by OSG, used only when working on actual geometry&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;osg_ViewMatrixInverse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;mat4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Defined by OSG, used only when working on actual geometry&lt;br /&gt;
|}&lt;br /&gt;
They still have to be declared in the fragment or the vertex shader to be used.&lt;br /&gt;
&lt;br /&gt;
=== Utility functions ===&lt;br /&gt;
&lt;br /&gt;
To ease the maintenance of shaders, several utility functions are available for the fragment shader. These functions are put together in two files : &amp;lt;tt&amp;gt;gbuffer-functions.frag&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;gbuffer-encode.frag&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== gbuffer-encode.frag ====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;void encode_gbuffer(vec3 normal, vec3 color, int mId, float specular, float shininess, float emission, float depth)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Used to encode all the values of the G-Buffer in material shaders&lt;br /&gt;
&lt;br /&gt;
==== gbuffer-functions.frag ====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec2 normal_encode(vec3 n)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Used to compress normals into the G-Buffer in material shaders. Normally called from &amp;lt;tt&amp;gt;encode_gbuffer()&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 normal_decode(vec2 enc)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct normals from the G-Buffer. Used in fullscreen shaders and light shaders&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 float_to_color(in float f)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Encode float values in the range [0..1] in the 24 bits of a color. This function is used by &amp;lt;tt&amp;gt;encode_gbuffer()&amp;lt;/tt&amp;gt; if the &amp;lt;tt&amp;gt;/sim/rendering/use-color-for_depth&amp;lt;/tt&amp;gt; is true, for old cards that don't provide depth information with enough resolution inside fullscreen or light shaders.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;float color_to_float(vec3 color)&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Decode float values in the range [0..1] from the 24 bits of a color. This function is used by &amp;lt;tt&amp;gt;position()&amp;lt;/tt&amp;gt; if the &amp;lt;tt&amp;gt;/sim/rendering/use-color-for_depth&amp;lt;/tt&amp;gt; is true, for old cards that don't provide depth information with enough resolution inside fullscreen or light shaders.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 position( vec3 viewDir, float depth )&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct eye space position from the view direction and the depth read from the depth buffer&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 position( vec3 viewDir, vec3 depthColor )&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct eye space position from the view direction and the depth encoded in a color read from the depth buffer&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;vec3 position( vec3 viewDir, vec2 coords, sampler2D depth_tex )&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Reconstruct eye space position from the view direction and the depth buffer (real depth or color, according to the value of &amp;lt;tt&amp;gt;/sim/rendering/use-color-for_depth&amp;lt;/tt&amp;gt;) at a given fragment on screen, given by &amp;lt;tt&amp;gt;coords&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Usage ====&lt;br /&gt;
&lt;br /&gt;
For material shaders, it is necessary to provide both &amp;lt;tt&amp;gt;gbuffer-functions.frag&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;gbuffer-encode.frag&amp;lt;/tt&amp;gt; in the effect file, like this :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;program&amp;gt;&lt;br /&gt;
		&amp;lt;vertex-shader&amp;gt;Shaders/ubershader.vert&amp;lt;/vertex-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/ubershader-gbuffer.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/gbuffer-functions.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/gbuffer-encode.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
	&amp;lt;/program&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For fullscreen passes shaders, only &amp;lt;tt&amp;gt;gbuffer-functions.frag&amp;lt;/tt&amp;gt; should be provided, like this :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;program&amp;gt;&lt;br /&gt;
		&amp;lt;vertex-shader&amp;gt;Shaders/sunlight.vert&amp;lt;/vertex-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/sunlight.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
		&amp;lt;fragment-shader&amp;gt;Shaders/gbuffer-functions.frag&amp;lt;/fragment-shader&amp;gt;&lt;br /&gt;
	&amp;lt;/program&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the main function of the shader, the functions referenced need to be declared first. With no #include files, the whole function prototype needs to be typed :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;glsl&amp;quot;&amp;gt;&lt;br /&gt;
void encode_gbuffer(vec3 normal, vec3 color, int mId, float specular, float shininess, float emission, float depth);&lt;br /&gt;
&lt;br /&gt;
main() {&lt;br /&gt;
    vec3 normal;&lt;br /&gt;
    vec3 color;&lt;br /&gt;
    int mId;&lt;br /&gt;
    float specular;&lt;br /&gt;
    float shininess;&lt;br /&gt;
    float emission;&lt;br /&gt;
    float depth;&lt;br /&gt;
&lt;br /&gt;
    // Do shader computations&lt;br /&gt;
&lt;br /&gt;
    encode_gbuffer(normal, color, mId, specular, shininess, emission, depth);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Geometry Stage ===&lt;br /&gt;
The Geometry Stage is there to fill the G-buffer. '''Shading doesn't occur at this stage, so light or fog computation should not be part of the shader'''. The required operation in the Fragment Shader is to fill every individual buffer with sensible value :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|depth (gl_FragDepth)||GL_DEPTH_COMPONENT32||colspan=&amp;quot;4&amp;quot;|Fragment depth&lt;br /&gt;
|-&lt;br /&gt;
|gl_FragData[0]||GL_RG16||colspan=&amp;quot;2&amp;quot;|normal.x * 0.5 + 0.5||colspan=&amp;quot;2&amp;quot;|normal.y * 0.5 + 0.5&lt;br /&gt;
|-&lt;br /&gt;
|gl_FragData[1]||GL_RGBA8||diffuse.r||diffuse.g||diffuse.b||material id * 1/255.0&lt;br /&gt;
|-&lt;br /&gt;
|gl_FragData[2]||GL_RGBA8||specular.l||specular.s||emission.l||pixel valid if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the default layout expected by the sunlight shader. material Id can be used to detect a different layout&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
#Depth buffer, modified with gl_FragDepth, will record the distance between the fragment and the camera. Default behavior is to avoid to touch it, living the GPU rasterizer doing sensible things by interpolating vertex gl_Position from the Vertex or the Geometry Shader. If altering the computed depth is required, like in the Urban shader, the value of gl_FragDepth should be set.&lt;br /&gt;
#Normal buffer, modified with gl_FragData[0].xyz, will record the normal of the fragment in eye coordinates. gl_FragData[0].w is reserved for future use. The interpolated normal is usually simply stored but bump mapping or relief mapping affecting the normal can be computed here.&lt;br /&gt;
#Diffuse color buffer, modified with gl_FragData[1].rgb, will hold the unshaded color of the fragment, usually modulating the material diffuse+ambient color with the texture map. Diffuse color from environment mapping should also go here.&lt;br /&gt;
#Specular color, modified with gl_FragData[2].rgb, and specular shininess in gl_FragData[2].a, will retain the specular color of the fragment.&lt;br /&gt;
#Emission color, modified with gl_FragData[3].rgb&lt;br /&gt;
In anyway, don't use gl_FragColor as it is incompatible with MRT (Multi Render Target) and would affect the four last buffers with the same value. In that case, the model will glow (emission buffer initialized) and parts will disappear at certain view angles because normals are not initialized properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;font-size:1.5em;font-weight:bold&amp;quot;&amp;gt;This layout is going to change in the official repository when the merge will be done. The goal of this change is to fill more useful data into less texture memory and get rid of a stupid IP issue on float textures&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional light pass ===&lt;br /&gt;
There would be a single shader for each light type used. The plan is to create lights like animations in the model XML file. The light shader will retrieve scene geometry by combining screen space position converted in view space ray by the inverse of the projection matrix (an helper function should be provided), and the fragment depth at that screen position read from the depth buffer. With the help of the fragment normal, the diffuse and specular color and the properties of the light the shader implements, it will be possible to add to the lighting buffer the contribution of the light rendered.&lt;br /&gt;
&lt;br /&gt;
=== Fog Pass ===&lt;br /&gt;
Using the fragment depth, it will be possible to compute any fog distribution. For the moment, the simple fog equation is implemented.&lt;br /&gt;
&lt;br /&gt;
=== Bloom Pass ===&lt;br /&gt;
This is a two-pass effect that blurs the lighting buffer in a small texture. This texture is then added to the lighting buffer at the display stage.&lt;br /&gt;
&lt;br /&gt;
=== Required Effects ===&lt;br /&gt;
Several pass are implemented using the effect system. For this purpose, some effects are referenced in the core code using reserved names. these effects are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Kind&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/ssao&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Compute ambient occlusion from the normal buffer and the depth buffer&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/ambient&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Copies the diffuse color buffer multiplied by the ambient light to the lighting buffer. Ambient Occlusion can also affect ambient light.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/light-spot&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on real geometry of the light volume&lt;br /&gt;
|Computes the light contribution of a spot light defined in a &amp;lt;tt&amp;gt;light&amp;lt;/tt&amp;gt; animation having a &amp;lt;tt&amp;gt;light-type&amp;lt;/tt&amp;gt; of '''&amp;lt;tt&amp;gt;spot&amp;lt;/tt&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/fog&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Computes the fog from the G-buffer and the lighting parameters&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;Effects/display&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Works on a full screen quad&lt;br /&gt;
|Renders the composite final image from the G-buffer and the lighting buffer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Guidelines for modelers ==&lt;br /&gt;
&lt;br /&gt;
=== Porting aircraft ===&lt;br /&gt;
* Rembrandt computes shadows =&amp;gt; no more fake shadows in the model&lt;br /&gt;
* Rembrandt computes ambient occlusion =&amp;gt; no ambient occlusion baked into textures&lt;br /&gt;
* Rembrandt has light =&amp;gt; static lightmap are not needed, emissive color to see models at night is not needed and would interfere&lt;br /&gt;
* Rembrandt has glow =&amp;gt; incorrectly used emissive colors may blur displays and make some text unreadable. Light size may have to be adjusted&lt;br /&gt;
* Rembrandt has strict needs with shaders =&amp;gt; shaders need to be adjusted to comply with the new framework otherwise the view will be plain wrong&lt;br /&gt;
* Rembrandt can't do transparent surfaces =&amp;gt; transparent surface need to be properly registered to render them with the classical path&lt;br /&gt;
&lt;br /&gt;
Once your aircraft has been ported, please modify its wiki page and add this symbol to it:&lt;br /&gt;
[[File:Rembrandtready.png]].&lt;br /&gt;
&lt;br /&gt;
For a list of converted aircraft, please see [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=17536#p166346].&lt;br /&gt;
&lt;br /&gt;
=== Registering all translucent surfaces ===&lt;br /&gt;
&lt;br /&gt;
Every model is, by default, rendered using the &amp;lt;tt&amp;gt;Effects/model-default&amp;lt;/tt&amp;gt; effect. This effect initialize the G-buffer, ignoring transparent surfaces, by doing alpha testing and rendering all the geometry in the default bin. It is not possible to redirect rendering to transparent bins when the associated texture has alpha channel because most models use a single texture atlas and even opaque parts are rendered with texture with alpha channel.&lt;br /&gt;
&lt;br /&gt;
If a model needs to have transparent or translucent surfaces, these surface objects need to be assigned a different effect that sets explicitly the render bin to &amp;quot;DepthSortedBin&amp;quot;, or sets the rendering hint to &amp;quot;transparent&amp;quot;. This tells the renderer to render this object using forward rendering, so lighting and fog need to be enabled, and if a shader program is used, they should be computed in the classical way. The &amp;lt;tt&amp;gt;Effects/model-transparent&amp;lt;/tt&amp;gt; can be used to register simple transparent/translucent surfaces. You assign this effect to an object (or multiple objects) like:&lt;br /&gt;
 &amp;lt;effect&amp;gt;&lt;br /&gt;
  &amp;lt;inherits-from&amp;gt;Effects/model-transparent&amp;lt;/inherits-from&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;TheObject&amp;lt;/object-name&amp;gt;&lt;br /&gt;
 &amp;lt;/effect&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Beware: &amp;lt;Effect&amp;gt; only works on real objects, not on groups of objects or animations.'''&lt;br /&gt;
&lt;br /&gt;
If opaque surface need to have special effect, for example to apply bump mapping, this effect should use the &amp;quot;RenderBin&amp;quot; bin, or the rendering hint set to &amp;quot;opaque&amp;quot;, and the G-buffer needs to be initialized correctly in the Geometry stage.&lt;br /&gt;
&lt;br /&gt;
=== Making sure that all geometry will cast shadow ===&lt;br /&gt;
&lt;br /&gt;
To limit the amount of geometry rendered in the shadow map, and also to reduce artifacts (shadow acne), only faces not facing the sun are casting shadows. The test is made using the normal orientation. That means that double-sided polygons, or mesh that are not closed, will be transparent to light at certain sun angles. To avoid that, modelers can either :&lt;br /&gt;
* ensure that the object is always in the shadow of another objects,&lt;br /&gt;
* close their mesh, or,&lt;br /&gt;
* double polygons with the normal set to the opposite.&lt;br /&gt;
&lt;br /&gt;
=== Adding lights to a model ===&lt;br /&gt;
&lt;br /&gt;
There are two things to consider: the appearance of the light source and the illuminated area. For the appearance of the light source (what you see when you look at the bulb), you need a model with an emissive material that will produce the glow effect and that is visible at night.&lt;br /&gt;
&lt;br /&gt;
For the effect of the source on its environment (the lit area), we must have in the 3D model (the .ac file) a volume that includes the effect (Light Volume). It can be a large cone for spotlights or a sphere for point light. It's important that the light volume is closed, convex and it's normals are oriented outward.&lt;br /&gt;
&lt;br /&gt;
The light volume must be part of the geometry of the model and be referenced in the animation file. No need to add a color or an effect to this volume. Light calculation is only done on the fragments covered by the light volume, but has no influence on the color or the attenuation of the light.&lt;br /&gt;
&lt;br /&gt;
All available animations are possible on the light volume, except '''material''' and '''texture'''. It is not possible to change color of lights for the moment, except switching to another animation. Axis and position are in object space and are transformed by the subsequent animations.&lt;br /&gt;
&lt;br /&gt;
==== Spotlights ====&lt;br /&gt;
{|cellpadding=10|&lt;br /&gt;
|valign=top|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;light&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;light-type&amp;gt;spot&amp;lt;/light-type&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;LightSrcRight&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightRight&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   &amp;lt;nopreview/&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;0.169&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0.570&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;z&amp;gt;0.713&amp;lt;/z&amp;gt;&lt;br /&gt;
   &amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;direction&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;-0.9988&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0.0349&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;z&amp;gt;-0.0349&amp;lt;/z&amp;gt;&lt;br /&gt;
   &amp;lt;/direction&amp;gt;&lt;br /&gt;
   &amp;lt;ambient&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.03&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.03&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.03&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/ambient&amp;gt;&lt;br /&gt;
   &amp;lt;diffuse&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.6&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/diffuse&amp;gt;&lt;br /&gt;
   &amp;lt;specular&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.7&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/specular&amp;gt;&lt;br /&gt;
   &amp;lt;dim-factor&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;dimming/property&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional begin --&amp;gt;&lt;br /&gt;
      &amp;lt;expression /&amp;gt;&lt;br /&gt;
      &amp;lt;interpolation /&amp;gt;&lt;br /&gt;
      &amp;lt;factor&amp;gt;1&amp;lt;/factor&amp;gt;&lt;br /&gt;
      &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;0&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional end --&amp;gt;&lt;br /&gt;
   &amp;lt;/dim-factor&amp;gt;&lt;br /&gt;
   &amp;lt;attenuation&amp;gt;&lt;br /&gt;
     &amp;lt;c&amp;gt;1.0&amp;lt;/c&amp;gt;&lt;br /&gt;
     &amp;lt;l&amp;gt;0.002&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;q&amp;gt;0.00005&amp;lt;/q&amp;gt;&lt;br /&gt;
   &amp;lt;/attenuation&amp;gt;&lt;br /&gt;
   &amp;lt;exponent&amp;gt;30.0&amp;lt;/exponent&amp;gt;&lt;br /&gt;
   &amp;lt;cutoff&amp;gt;39&amp;lt;/cutoff&amp;gt;&lt;br /&gt;
   &amp;lt;near-m&amp;gt;3.5&amp;lt;/near-m&amp;gt;&lt;br /&gt;
   &amp;lt;far-m&amp;gt;39&amp;lt;/far-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Install the &amp;lt;tt&amp;gt;'''light'''&amp;lt;/tt&amp;gt; animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;light-type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|This is a &amp;lt;tt&amp;gt;'''spot'''&amp;lt;/tt&amp;gt; light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name given to this animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;object-name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name of the light volume in the 3d model (typically a cone with an apex at &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;, along &amp;lt;tt&amp;gt;direction&amp;lt;/tt&amp;gt; axis if &amp;lt;tt&amp;gt;cutoff&amp;lt;/tt&amp;gt; is lesser than 90 degrees, or a sphere centered at &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt; if &amp;lt;tt&amp;gt;cutoff&amp;lt;/tt&amp;gt; is greater than 90 degrees )&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;nopreview&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Hide light volume in fgrun 3d preview&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In object space, position of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;direction&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In object space, direction to the center of the spot&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ambient&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Ambient color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;diffuse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Diffuse color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;specular&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Specular color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;dim-factor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Group of parameters to control a factor that is applied to ambient, diffuse and specular at the same time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;attenuation&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Three element vector. &amp;lt;c&amp;gt; element is the constant factor, &amp;lt;l&amp;gt; element is the linear factor and &amp;amp;lt;q&amp;amp;gt; element is the quadratic factor.&amp;lt;br /&amp;gt;&lt;br /&gt;
Attenuation of color at distance d is [[File:Spotlight_attenuation.png]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;exponent&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Attenuation is multiplied by &amp;lt;tt&amp;gt;pow( dot( lightDir, &amp;lt;direction&amp;gt; ), &amp;lt;exponent&amp;gt; )&amp;lt;/tt&amp;gt;, lightDir being vector from light position to point, in camera space.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;cutoff&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Point is lit by this source if &amp;lt;tt&amp;gt;dot( lightDir, &amp;lt;direction&amp;gt; ) &amp;gt; &amp;lt;cutoff&amp;gt;&amp;lt;/tt&amp;gt; , lightDir being vector from light position to point, in camera space.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;near-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Minimum distance of influence, from position, in meters&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;far-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Maximum distance of influence, from position, in meters&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Point lights ====&lt;br /&gt;
{|cellpadding=10|&lt;br /&gt;
|valign=top|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;light&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;light-type&amp;gt;point&amp;lt;/light-type&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;LightSrcRight&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightRight&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   &amp;lt;nopreview/&amp;gt;&lt;br /&gt;
   &amp;lt;position&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;0.169&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0.570&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;z&amp;gt;0.713&amp;lt;/z&amp;gt;&lt;br /&gt;
   &amp;lt;/position&amp;gt;&lt;br /&gt;
   &amp;lt;ambient&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.03&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.03&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.03&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/ambient&amp;gt;&lt;br /&gt;
   &amp;lt;diffuse&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.6&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/diffuse&amp;gt;&lt;br /&gt;
   &amp;lt;specular&amp;gt;&lt;br /&gt;
     &amp;lt;r&amp;gt;0.7&amp;lt;/r&amp;gt;&lt;br /&gt;
     &amp;lt;g&amp;gt;0.7&amp;lt;/g&amp;gt;&lt;br /&gt;
     &amp;lt;b&amp;gt;0.7&amp;lt;/b&amp;gt;&lt;br /&gt;
     &amp;lt;a&amp;gt;1.0&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/specular&amp;gt;&lt;br /&gt;
   &amp;lt;dim-factor&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;dimming/property&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional begin --&amp;gt;&lt;br /&gt;
      &amp;lt;expression /&amp;gt;&lt;br /&gt;
      &amp;lt;interpolation /&amp;gt;&lt;br /&gt;
      &amp;lt;factor&amp;gt;1&amp;lt;/factor&amp;gt;&lt;br /&gt;
      &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;0&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;!-- optional end --&amp;gt;&lt;br /&gt;
   &amp;lt;/dim-factor&amp;gt;&lt;br /&gt;
   &amp;lt;attenuation&amp;gt;&lt;br /&gt;
     &amp;lt;c&amp;gt;1.0&amp;lt;/c&amp;gt;&lt;br /&gt;
     &amp;lt;l&amp;gt;0.002&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;q&amp;gt;0.00005&amp;lt;/q&amp;gt;&lt;br /&gt;
   &amp;lt;/attenuation&amp;gt;&lt;br /&gt;
   &amp;lt;near-m&amp;gt;3.5&amp;lt;/near-m&amp;gt;&lt;br /&gt;
   &amp;lt;far-m&amp;gt;39&amp;lt;/far-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|valign=top|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Install the &amp;lt;tt&amp;gt;'''light'''&amp;lt;/tt&amp;gt; animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;light-type&amp;lt;/tt&amp;gt;&lt;br /&gt;
|This is a &amp;lt;tt&amp;gt;'''point'''&amp;lt;/tt&amp;gt; light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name given to this animation&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;object-name&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Name of the light volume in the 3d model (typically a sphere centered on &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;, with a radius of &amp;lt;tt&amp;gt;far-m&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;nopreview&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Hide light volume in fgrun 3d preview&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt;&lt;br /&gt;
|In object space, position of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ambient&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Ambient color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;diffuse&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Diffuse color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;specular&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Specular color of the light&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;dim-factor&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Group of parameters to control a factor that is applied to ambient, diffuse and specular at the same time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;attenuation&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Three element vector. &amp;lt;c&amp;gt; element is the constant factor, &amp;lt;l&amp;gt; element is the linear factor and &amp;lt;q&amp;gt; element is the quadratic factor.&amp;lt;br /&amp;gt;&lt;br /&gt;
Attenuation of color at distance d is [[File:Spotlight_attenuation.png]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;near-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Minimum distance of influence, from position, in meters&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;far-m&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Maximum distance of influence, from position, in meters&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Performance and compatibility considerations ====&lt;br /&gt;
Every light on screen is equivalent for the GPU of redrawing the light volume with a shader, without z buffer culling. So each light comes with a cost, that is small taken individually but noticeable when a lot of them are visible. That cost also increase with the size of the light volume.&lt;br /&gt;
&lt;br /&gt;
Beside that, it is wise to allow a model to work with the classical renderer that know nothing about lights and would render light volumes like other geometry. So a good practice is to complement each light animation with a select animation checking :&lt;br /&gt;
*if Rembrandt is enabled&lt;br /&gt;
*if the user selected quality match with the purpose of the light&lt;br /&gt;
*if the light should be on or off according to the other parameters of the simulation (position of the sun, position of switch, presence of power, ...)&lt;br /&gt;
&lt;br /&gt;
A quality property is created to reflect the user preferences about quality vs performance concerning lights, and a proper slider is added to the shader dialog.&lt;br /&gt;
[[File:Fgfs-shaders-with-light.jpg|thumb|Light quality slider]]&lt;br /&gt;
The propery to use is :&lt;br /&gt;
 /sim/rendering/shaders/lights&lt;br /&gt;
The quality slider sets its range from 0 (no lights) to 4 (all lights on). Simple airport lamp post appears at 1. Few bridge lamps at 2, all simple bridge lamp at 3 and more involved one at 4.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;light&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;light-type&amp;gt;spot&amp;lt;/light-type&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;LightSource&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightVolume&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/animation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;select&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Select the named animation --&amp;gt;&lt;br /&gt;
   &amp;lt;object-name&amp;gt;LightSource&amp;lt;/object-name&amp;gt;&lt;br /&gt;
   &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;and&amp;gt;&lt;br /&gt;
         &amp;lt;!-- Rembrandt enabled ? --&amp;gt;&lt;br /&gt;
         &amp;lt;property&amp;gt;/sim/rendering/rembrandt/enabled&amp;lt;/property&amp;gt;&lt;br /&gt;
         &amp;lt;!-- Quality ok ? --&amp;gt;&lt;br /&gt;
         &amp;lt;greater-than&amp;gt;&lt;br /&gt;
            &amp;lt;property&amp;gt;/sim/rendering/shaders/lights&amp;lt;/property&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;3.0&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
         &amp;lt;!-- Simulation conditions ? --&amp;gt;&lt;br /&gt;
         &amp;lt;greater-than&amp;gt;&lt;br /&gt;
            &amp;lt;property&amp;gt;/sim/time/sun-angle-rad&amp;lt;/property&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;1.57&amp;lt;/value&amp;gt;&lt;br /&gt;
         &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;/and&amp;gt;&lt;br /&gt;
   &amp;lt;/condition&amp;gt;&lt;br /&gt;
&amp;lt;/animation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tutorials ===&lt;br /&gt;
[[User:F-JJTH|F-JJTH]] compiled his experience and the one acquired by the PAF team converting aircraft in {{fr}} [http://equipe-flightgear.forumactif.com/t1034-howto-adapter-un-appareil-pour-rembrandt this tutorial],&lt;br /&gt;
&lt;br /&gt;
== TODO List ==&lt;br /&gt;
&lt;br /&gt;
=== Mac Issues ===&lt;br /&gt;
More and more Apple/Mac users are reporting issues related to running Rembrandt [http://forum.flightgear.org/search.php?st=0&amp;amp;sk=t&amp;amp;sd=d&amp;amp;sr=posts&amp;amp;keywords=rembrandt+mac].&lt;br /&gt;
&lt;br /&gt;
Looking at the Mac GPU specs, it isn't clear if the Mac/ATI hardware/driver is generally insufficient, it should seem possible to run a customized Rembrandt setup with acceptable frame rates at 15-35 fps (assuming everything else being disabled for starters). &lt;br /&gt;
&lt;br /&gt;
GLSL compilers have varying quality and especially the Mac (ATI/AMD) GLSL compilers are known to have issues with more sophisticated/nested constructs, so that it may help to reduce complexity of GLSL statements by splitting them up, instead of using nested anonymous vectors or functions (fatal error C9999: Nested functions, aborting!) for example.&lt;br /&gt;
&lt;br /&gt;
So, the specific issue on Mac is some shaders being miscompiled, so the frame-rates are particularly bad, since the driver is hitting (slow) error paths. Certainly some Rembrandt-related shades fail to compile, though whether or not these are optional or required ones, isn't clear (Fred?). Some users reported that the errors and problems after upgrading their OS from OsX, 10.6.8 to  OSX 10.8.2 (Mountain Lion) [http://forum.flightgear.org/viewtopic.php?f=47&amp;amp;t=19070&amp;amp;p=177106&amp;amp;hilit=rembrandt+mac#p177106] or OS Snow Leopard (10.6. to Mountain Lion (10.8.2), downloaded XQuartz 2.7.4 [http://forum.flightgear.org/viewtopic.php?f=21&amp;amp;t=19000&amp;amp;p=177570&amp;amp;hilit=rembrandt+mac#p176972].&lt;br /&gt;
&lt;br /&gt;
The shader errors would suggest that certain GLSL constructs are not supported by the ATI/AMD glsl compiler - this seems to be a known issue: [https://groups.google.com/forum/?fromgroups=#!topic/comp.graphics.api.opengl/H_FLQCQE1i4] To address this, one would need to port the corresponding shaders - like just was done to get rid of the constructs that caused errors on old GeForce 7x generation hardware. It seems the hardware is not the problem, but the driver being way out of date. I find the fact that it's the Cg compiler and not a native glsl compiler that returns the errors very strange.&lt;br /&gt;
&lt;br /&gt;
Another FG 2.10 user on MacPro 3.2 GHz Quad-Core Xeon, 8GB RAM, MacOS X 10.6.8. ATI Radeon HD 5870 (gl-vendor:ATI Technologies Inc., gl-version:2.1 ATI-1.6.36 gl-renderer:ATI Radeon HD 5870 OpenGL Engine, gl-shading-language-version:1.20) report said &amp;quot;Rembrandt is still unusable on my Mac. One frame every 4-5 seconds and it looks weird.&amp;quot;[http://forum.flightgear.org/viewtopic.php?f=68&amp;amp;t=18839&amp;amp;p=175737&amp;amp;hilit=rembrandt+mac#p175684]&lt;br /&gt;
&lt;br /&gt;
It's also worth noting that a number of FG 2.8 users reported that Rembrandt would still work for them using the 2.8 binary, unlike the 2.10 binary on Mac OSX version 10.7.5 on an iMac (AMD Radeon HD Graphics with 512MB) [http://forum.flightgear.org/viewtopic.php?f=21&amp;amp;t=19000&amp;amp;hilit=rembrandt+mac#p176460]. So the issue seems to occur largely in combination with older Mac OS versions and newer FG versions (&amp;gt;=2.8+) [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=19396&amp;amp;hilit=rembrandt+mac#p179456].&lt;br /&gt;
&lt;br /&gt;
It appears it is the Rembrandt lighting causing issues while in non rembrandt mode with older Mac OS + FG 2.8 and better. On other OS setups, the rembrandt lighting gets ignored when rembrandt is turned off, but not in this case. Both lighting modes are present and creating the weird light cone effects [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=19396&amp;amp;hilit=rembrandt+mac&amp;amp;start=15#p179655].&lt;br /&gt;
&lt;br /&gt;
If there are any console messages (like warnings or errors) shown, that would be helpful to know. A number of rembrandt related changes got fixed by Fred like this. Obviously, it is difficult for shader developers to troubleshoot shader related issues that they cannot reproduce with their own hardware.&lt;br /&gt;
&lt;br /&gt;
Rembrandt is being largely developed by a single Windows/Nvidia-based developer, so it gets very little testing and debugging on different platforms, especially Mac/ATI (AMD) - so as a Mac user, your safest bet is probably providing lots of feedback via the forums (or preferably the issue tracker), FredB (the Rembrandt developer) is generally pretty responsive and appreciates all helpful feedback. Obviously, it helps being able to build from source, and being able to provide detailed troubleshooting reports.&lt;br /&gt;
&lt;br /&gt;
These things are hard to debug/troubleshoot without having access to a corresponding system that exhibits the problem, which is why I suggested earlier to provide lots of Mac/Rembrandt-related feedback via the issue tracker, i.e. GLSL errors/warnings and anything else that could be useful. &lt;br /&gt;
&lt;br /&gt;
If you have you ever tried to debug an issue that doesn't cause errors on your computer, you'll understand that it's damn difficult in the first place. Most developers don't own a Mac, and are not going to spend 1000$ or so just to have one more computer to test things on, and we don't know of anyone who buys computers for the whole purpose of testing FG on more platforms. &lt;br /&gt;
&lt;br /&gt;
So as a rule we can try to pin down and solve such issues if, and only if, we get a decent bug report with tons of relevant background info and the possibility to ask follow-up questions. Remember, fixing such issues involves essentially working blind - it is trying to figure out why code that runs pefectly fine on your own computer might have issues on other computers and any traditional bug-hunting technique essentially fails.&lt;br /&gt;
&lt;br /&gt;
Posting a screenshot of the issue is nice, but tells little more than that it exists. It's completely impossible to turn that into any action developer-side. The underlying shader code has probably a combined 1000 lines, any of which could be problematic. &lt;br /&gt;
&lt;br /&gt;
Overall, the Rembrandt situation is most likely to improve the more feedback is provided by end users with different hardware/software configurations, Fred has fixed quite a number of shader related issues in the past, so it's largely a matter of time, and obviously the quality of feedback, provided by end-users like yourself.&lt;br /&gt;
&lt;br /&gt;
And just in case: Note that GLSL shaders are not really compiled/built by developers (unlike the actual fgfs binary), but on an invididual basis by your GPU/graphics drivers, which happens transparently in the background, each time fgfs is started. Basically, a GLSL shader is a snippet of &amp;quot;source code&amp;quot; that is passed on to your GPU driver, which in turn compiles it down into hardware-specific instructions for your particular hardware.&lt;br /&gt;
&lt;br /&gt;
From a troubleshooting perspective, it would be REALLY helpful if Mac users with the corresponding hardware and knowledge could come up with extremely downstripped test cases, that either show the problem, or which no longer show the problem as significantly. Disabling other shader-based features will definitely go a long way here, because many other GLSL features have not yet been explicitly ported to support Rembrandt. &lt;br /&gt;
In other words, you should preferably disable random building, advanced light scattern, advanced weather etc - and only really use the most basic settings to have an easily reproducable test case.&lt;br /&gt;
&lt;br /&gt;
To get this started, you can customize the &amp;quot;zero eye candy&amp;quot; profile and enable Rembrandt using shader level 1: [[Howto:Debugging_FlightGear_Crashes#Minimal_Rembrandt_Startup_Profile]]&lt;br /&gt;
&lt;br /&gt;
Some Mac folks have recently reported some success, it may be a good idea to search the forum for details, see for example:&lt;br /&gt;
&lt;br /&gt;
* http://forum.flightgear.org/viewtopic.php?f=21&amp;amp;t=19000&amp;amp;p=177570&amp;amp;hilit=rembrandt+mac#p176972&lt;br /&gt;
&lt;br /&gt;
{{cquote|I'm seeing regular crashes here from ALS and Rembrandt, but that's nothing new.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40024.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] 2.10.1&amp;lt;/nowiki&amp;gt;|author=Vivian Meazza|date=Fri, 03 May 2013 10:16:13 -0700}}&amp;lt;/ref&amp;gt;|Vivian Meazza}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|With an AMD Radeon HD 5670 using free radeon driver I've never seen performance of more than 15fps with Rembrandt and if I turn shadow details up so they don't look crappy I get about 3-4fps.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40293.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] reminder: entering feature freeze now&amp;lt;/nowiki&amp;gt;|author=Stefan Seifert|date=Thu, 20 Jun 2013 10:10:56 -0700}}&amp;lt;/ref&amp;gt;|Stefan Seifert}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|with a i3770K and a GTX670, I get some hit from ALS (10-30%) but Rembrandt instantly drops me to 20fps, and &amp;lt; 10fps I use an aircraft I actually want to fly (777 or Citation) and go to any major airport (EGKK, EHAM, EDDM, EDDF, EGLC, VHHH)&lt;br /&gt;
&lt;br /&gt;
This is at 2560x1600, but on the 670 I would be highly surprised if I'm fill-rate limited, given that AA is off, and the general suboptimal size of our &lt;br /&gt;
primitive batches.&lt;br /&gt;
&lt;br /&gt;
Emilian has explained on IRC this might be due to the out-of-the-box / default config for Rembrandt being highly suboptimal, which I didn't yet evaluate, I would be delighted to have it more usable.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40298.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] reminder: entering feature freeze now&amp;lt;/nowiki&amp;gt;|author=James Turner|date=Thu, 20 Jun 2013 13:29:47 -0700}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|The Apple OpenGL renderer is a rather interesting beast - it's a clean-room front-end to the drivers, one of aspect of which means it is the only true 'Core Profile' 3.x renderer in wide use. (As opposed to the Ati and Nvidia Core profile drivers, which are simple the compat ones with some checks removed, I have been told). Of course FG is hence limited to 2.1 on Mac since we're a long way from Core profile support in the main code.&lt;br /&gt;
&lt;br /&gt;
This does however mean it produces different GLSL compile issues, and different bugs in general, from the same hardware on other platforms.&lt;br /&gt;
&lt;br /&gt;
(The renderer backend does of course come from the vendors, but OpenGL.framework always comes from Apple - it's not like Linux where your &lt;br /&gt;
libGL.so comes, at least potentially, from your hardware vendor)&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40083.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Shader compile failure&amp;lt;/nowiki&amp;gt;|author=James Turner|date=Sat, 11 May 2013 06:53:32 -0700}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|concerning the larger issue of different rendering pipelines / approaches, my opinion is, and remains, that the long-term solution is separate viewer codebases - while a plethora would be bad, we would already benefit from a 'fixed-function, no shaders' renderer codebase distinct from a Rembrandt renderer and modern, forward-rendering OpenGL 3.x pipeline. This needs the viewer to be cleanly split out from the simulation backend, via HLA, which is exactly what Mathias (and soon, myself) are working towards, but slowly.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg39922.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Atmospheric Light Scattering&amp;lt;/nowiki&amp;gt;|author=James Turner|date=Thu, 25 Apr 2013 08:09:08 -0700}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|Like you and Thorsten, I see a very significant drop (50%) in frame-rate with Rembrandt, even without most the nice features such as shadows which has put me off using it.  I had thought it was just because my box is now underpowered (the march of technology....) but it sounds like other are&lt;br /&gt;
seeing similar issues and it would be worth some further investigation.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40304.html|title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] reminder: entering feature freeze now&amp;lt;/nowiki&amp;gt;|author=Stuart Buchanan|date=Fri, 21 Jun 2013 01:40:15 -0700}}&amp;lt;/ref&amp;gt;|Stuart Buchanan}}&lt;br /&gt;
&lt;br /&gt;
=== Completed tasks ===&lt;br /&gt;
*Fix shadow rendering when using multi threading in OSG&lt;br /&gt;
*Implement Cascaded Shadow Map (need to be optimized - frustum calculation and night)&lt;br /&gt;
*Honor 'noshadow' animation (done)&lt;br /&gt;
*See what happens with glow in fog : unknown landclass creates white patches in the emission buffer - scenery generation problem&lt;br /&gt;
*Test multi-screen (mostly done)&lt;br /&gt;
*Restore splashscreen&lt;br /&gt;
*Draw transparent objects with forward rendering (may need to capture the transparent bin from the geometry stage and move it in the display stage) (OK - needs model contribution)&lt;br /&gt;
*Add spotlights as animations (nearly finished)&lt;br /&gt;
*find a solution for ambient and emissive color of material (may need an additional buffer)&lt;br /&gt;
*Provide a shader for transparent objects that could render to the emissive buffer too (using MRT) not doable. Light pass can't use MRT &lt;br /&gt;
*Use stencil buffer to limit light range(no - done in light shader)&lt;br /&gt;
**needed for cockpit light to implement fake shadows and avoid lighting the runway from the cabin through the airframe&lt;br /&gt;
*Use effect system instead of hard-coded shaders&lt;br /&gt;
*Add new animation to link a light source to a model (need to provide point light animation duplicating spot light) (done)&lt;br /&gt;
*Tidy up the architecture (done)&lt;br /&gt;
*Global strength of glow or ambient occlusion via slider in rendering dialog&lt;br /&gt;
*Fix dim-factor in multiplayer mode (done)&lt;br /&gt;
*Design and implement a configurable pipeline (done)&lt;br /&gt;
*Document rendering pipeline configuration file format (done)&lt;br /&gt;
*Fix fog on clouds&lt;br /&gt;
&lt;br /&gt;
=== Near term tasks ===&lt;br /&gt;
*Convert existing shaders to deferred rendering&lt;br /&gt;
*Avoid to redraw opaque objects in the light pass. Involve OSG node mask not properly initialized.&lt;br /&gt;
*take care of particles and precipitation&lt;br /&gt;
*Fix shadow matrices in multi-screen&lt;br /&gt;
*Fix Lights in multi screen (seems same problem than shadows. Forgot a 1/w factor ?)&lt;br /&gt;
*Implement lightfield shader&lt;br /&gt;
*Add some kind of fog to lights&lt;br /&gt;
*Restore depth partitioning using depth ranges&lt;br /&gt;
*Move effect of cloud coverage from water shader to sunlight shader&lt;br /&gt;
*Allow light masks using textures&lt;br /&gt;
*Use stencil double-sided operations to limit the depth of light volumes. Use depth clamp to ensure front faces are always rendered even if the camera is enclosed in the light volume.&lt;br /&gt;
&lt;br /&gt;
=== Long term ideas (unsorted) ===&lt;br /&gt;
*Use a separate list of light volumes to avoid traversing the scenegraph again (with transparency problems). Find out how we can detect unloading of models.&lt;br /&gt;
*implement volumetric effects by extending lights to arbitrary shaders. Should enable to implement heat haze effect and real wake waves.&lt;br /&gt;
*implement strength of glow (in the emissive buffer alpha channel) - use a Poisson-disk distribution to implement variable size blur&lt;br /&gt;
**provide levels 0 to 5 - we are currently at level 5&lt;br /&gt;
**level 0 should be ok for MFDs that are currenly unreadable because blurred&lt;br /&gt;
*Modify shadows to allow multiple casters (limited list)&lt;br /&gt;
**Implement a priority list of light sources, based on priority and distance from the viewer&lt;br /&gt;
*Restore stereo and other options currently available in CameraGroup&lt;br /&gt;
*Implement quality vs performance user control&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
{{#ev:youtube|PXHhtQb5yzc}} {{#ev:youtube|peEzEapavkg}} {{#ev:youtube|RIetPh8iJXk}} {{#ev:youtube|oaNFrxgQY1c}} {{#ev:youtube|8xGzy12hlis}} {{#ev:youtube|ZyuHBlm3xXU}} {{#ev:youtube|RgH9GZRukOI}} {{#ev:youtube|UQvbHnBkpaM}} {{#ev:youtube|v02phoOqWHE}}{{#ev:youtube|dlSo4sBa7Nk}}&lt;br /&gt;
&lt;br /&gt;
== Appendix ==&lt;br /&gt;
{{Appendix|all|&lt;br /&gt;
* {{cite web |url=http://http.download.nvidia.com/developer/presentations/2004/6800_Leagues/6800_Leagues_Deferred_Shading.pdf |title=Deferred Shading |author=Shawn Hargreaves and Mark Harris }}&lt;br /&gt;
* {{cite web |url=http://bat710.univ-lyon1.fr/~jciehl/Public/educ/GAMA/2007/Deferred_Shading_Tutorial_SBGAMES2005.pdf |title=Deferred Shading Tutorial |author=Fabio Policarpo and Francisco Fonseca }}&lt;br /&gt;
* {{cite web |url=http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf |title=Deferred Rendering in Killzone 2 |author=Michal Valient |month=July |year=2007 }}&lt;br /&gt;
* {{cite web |url=http://www.anandtech.com/show/5011/nvidiaea-posts-battlefield-3-graphics-tech-talk |title=Battlefield 3 Graphics Tech Talk |author=Johan Andersson |month=October |year=2011 }}&lt;br /&gt;
* {{cite web |url=http://www.disney.co.uk/cms_res/blackrockstudio/pdf/Rendering_Techniques_in_SplitSecond.pdf |title=Rendering Techniques in Split/Second |author=Jeremy Moore and David Jefferies |year=2009 }}&lt;br /&gt;
* {{cite web |url=http://www.crytek.com/sites/default/files/A_bit_more_deferred_-_CryEngine3.ppt |title=&amp;quot;A bit more Deferred&amp;quot; - CryEngine 3 (PPT) |author=Martin Mittring }}&lt;br /&gt;
* {{cite web |url=http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter09.html |title=Deferred Shading in S.T.A.L.K.E.R. |author=Oles Shishkovtsov }}&lt;br /&gt;
* {{cite web |url=http://http.developer.nvidia.com/GPUGems3/gpugems3_ch19.html |title=Deferred Shading in Tabula Rasa |author=Rusty Koonce }}&lt;br /&gt;
* {{cite web |url=http://aras-p.info/texts/CompactNormalStorage.html |title=Compact Normal Storage for small g-buffers |author=Aras Pranckevičius |date=4 August 2009 |accessdate=12 April 2012 }}&lt;br /&gt;
* {{cite web |url=http://the-witness.net/news/2010/03/graphics-tech-shadow-maps-part-1/ |title=Graphics Tech: Shadow Maps (part 1) |author=Jonathan Blow |date=3 March 2010 |accessdate=13 April 2012 }}&lt;br /&gt;
* {{cite web |url=http://directtovideo.wordpress.com/2009/11/13/deferred-rendering-in-frameranger/ |title=deferred rendering in frameranger. |author=Matt Swoboda |date=13 November 2009 |accessdate=8 July 2012 }}&lt;br /&gt;
* {{cite web |url=http://publications.dice.se/publications.asp?show_category=yes&amp;amp;which_category=Rendering |author=DICE |title=Publications on rendering |accessdate=15 August 2012 }}&lt;br /&gt;
* {{cite web |url=http://advances.realtimerendering.com/s2012/Epic/The%20Technology%20Behind%20the%20Elemental%20Demo%2016x9.pptx |author=Martin Mittring |title=The Technology behind the Unreal Engine 4 Elemental Demo |accessdate=15 September 2012 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Shader development]]&lt;br /&gt;
[[Category:Core development projects]]&lt;br /&gt;
[[fr:Projet Rembrandt]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_3.2&amp;diff=77092</id>
		<title>Changelog 3.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_3.2&amp;diff=77092"/>
		<updated>2014-10-12T17:06:21Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: remove terrain simplifier stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear 3.2 release. To see what is being worked on, check out [[Changelog 3.2]].&lt;br /&gt;
Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.&amp;lt;br/&amp;gt;It's a good idea to check [[:Category:Changes_after_3.00|the newsletters since the last release]], and the git commit history.&lt;br /&gt;
To view the changelog for the most recent release, please see [[Changelog 3.0]]. &lt;br /&gt;
We also encourage people to help by translating the changelog and appreciate all contributions, however please keep in mind that this changelog is not yet final!&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Upcoming FlightGear Changelog==&lt;br /&gt;
The FlightGear development team is delighted to announce the v3.2 release of FlightGear, the free, open-source flight simulator.  This new version contains many exciting new features, enhancements and bugfixes.  Highlights in this release include ...  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create &lt;br /&gt;
the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world &lt;br /&gt;
by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multi-player environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v3.2 for free from [http://www.flightgear.org FlightGear.org].&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
&lt;br /&gt;
=== Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
&lt;br /&gt;
'''Surface Light Effects &amp;amp; OpenSceneGraph 3.2'''&lt;br /&gt;
&lt;br /&gt;
Stuart committed a change that brings surface lights, including VASI/PAPI/taxi/runway etc. into the xml-defined Effects  framework.  Kudos to Tim Moore for his original Effects work - it made it very straightforward to enhance with support for point sprites and a custom texture generator required.&lt;br /&gt;
&lt;br /&gt;
The relevant effect is data/Effects/surface-lights.eff.  It should allow development of ALS and Rembrandt variants.&lt;br /&gt;
&lt;br /&gt;
Stuart also replaced some OSG color/normal binding calls that were removed  in OSG3.2.0, apparently because they were slow.  So, if your&lt;br /&gt;
build fails, please check you've got a recent OSG build installed.&lt;br /&gt;
&lt;br /&gt;
'''Core'''&lt;br /&gt;
* [[Reset &amp;amp; re-init]] is merged and now enabled&lt;br /&gt;
* A segfault related to scripted Nasal fgcommands (like used in joystick and other bindings) has been fixed {{Issue|1397}}&lt;br /&gt;
* YASim versioning support for maintenance fixes (TorstenD)&lt;br /&gt;
* FLITE TTS support&lt;br /&gt;
* Windows dependencies have been updated&lt;br /&gt;
* The integrated [[Map]] dialog now uses an azimuthal equidistant projection, for better representation in polar regions and across the International Date Line.&lt;br /&gt;
&lt;br /&gt;
'''Aircraft Modeling'''&lt;br /&gt;
* [[A Failure Management Framework for FlightGear]] has been added&lt;br /&gt;
* Additional aircraft have started adopting the [[NavDisplay|Canvas navigation display]] that was introduced with FlightGear 3.0.&lt;br /&gt;
&lt;br /&gt;
'''JSBSim'''&lt;br /&gt;
* The JSBSim flight dynamics model now has support for ground effects like bumpiness, solid-ground detection and adjusting of friction factors. Additionally, bogey type contact points sink in non-solid surfaces, making it no longer possible to ride on water.&lt;br /&gt;
&lt;br /&gt;
'''Atmospheric Light Scattering'''&lt;br /&gt;
&lt;br /&gt;
Atmospheric Light Scattering (ALS) is one of FlightGear's three rendering frameworks, with the aim of providing an integrated simulation of the interaction between weather, light and the environment.&lt;br /&gt;
&lt;br /&gt;
Additions to ALS in version 3.2 include:&lt;br /&gt;
&lt;br /&gt;
* an experimental framework to render cloud shadows on the ground (requires Advanced Weather)&lt;br /&gt;
* a substantial extension of cloud layer visibility using impostor techniques to 150 km&lt;br /&gt;
* a new agriculture effect allowing to render fields without tiling artifacts&lt;br /&gt;
* a new forest effect to simulate managed forest, varying tree size by patch&lt;br /&gt;
* sparkle and fog effect on runway lights&lt;br /&gt;
* much improved visual appearance of rock faces&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Environment Rendering'''&lt;br /&gt;
&lt;br /&gt;
* EarthView, a simple orbital rendering engine based on projecting a textured sphere into the scene. By default, EarthView uses low resolution textures, however using hires textures e.g. from the NASA [http://visibleearth.nasa.gov/ Visible Earth] project very realistic results from altitudes above 100 km can be achieved.&lt;br /&gt;
* New deciduous and needle tree textures with much improved visuals&lt;br /&gt;
* New regional texture definitions for Ireland, Alaska/Northwest territories and US Southwest &lt;br /&gt;
&lt;br /&gt;
'''Performance'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Misc/Uncategorized'''&lt;br /&gt;
* AIModels use PagedLOD&lt;br /&gt;
* Optimise NavCache airport query&lt;br /&gt;
* osg::Switch for masking scenery rendering&lt;br /&gt;
* Torsten's metar work, newradio, mongoose httpd&lt;br /&gt;
* HTTP: improve handling of connection errors&lt;br /&gt;
* Windows installer has been reworked&lt;br /&gt;
* Windows installer creates 3 news directories pre-configured in FGRun:&lt;br /&gt;
** {user}\Documents\FlightGear\Aircraft&lt;br /&gt;
** {user}\Documents\FlightGear\TerraSync&lt;br /&gt;
** {user}\Documents\FlightGear\Custom Scenery&lt;br /&gt;
&lt;br /&gt;
''' Usability '''&lt;br /&gt;
* Windows users are now able to use the scroll wheel in dialog lists&lt;br /&gt;
&lt;br /&gt;
''' Scenery '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvas System'''&lt;br /&gt;
&lt;br /&gt;
FlightGear's fully scriptable 2D rendering system now includes improved APIs for creating maps and navigation displays amongst many other improvements. People no longer need to have programming experience to add a working ND to their aircraft, it can  now  be all done by copying and pasting 30 lines of text and customizing a few properties. The so called MapStructure back-end handles efficient updating of all ND layers transparently. Also, maps can now be mostly customized, including custom styling (colors, fonts, symbols etc).&lt;br /&gt;
&lt;br /&gt;
* Tom has pushed an update to git (simgear) which removes a lot of unneeded OpenGL state changes for Canvas paths. Depending on the GPU/driver this can lead to quite a noticeable performance improvement. For example, he was able to get from ~120ms down to ~45ms [http://forum.flightgear.org/viewtopic.php?f=71&amp;amp;t=16984&amp;amp;p=204730#p204730].&lt;br /&gt;
&amp;lt;!-- code freeze ...&lt;br /&gt;
* Hooray is working on adding shader support to Canvas {{Progressbar|30}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* The [[MapStructure]] back-end used by the [[NavDisplay]] now supports symbol instancing, so that performance is improved&lt;br /&gt;
* MapStructure-based layers can now be customized and styled&lt;br /&gt;
* Tom added support for button/modifiers (mouse handling) [http://wiki.flightgear.org/index.php?title=Canvas_Event_Handling&amp;amp;curid=10777&amp;amp;diff=68569&amp;amp;oldid=68422]&lt;br /&gt;
* CanvasImage now supports the ''http://'' protocol for dynamically retrieving raster images. See the renamed [[Canvas_Image#src|src attribute]] (''file'' is now deprecated).&lt;br /&gt;
* As part of the ongoing effort on [[Unifying the 2D rendering backend via canvas]], we have started re-implementing the integrated [[Map]] dialog using Nasal &amp;amp; Canvas instead of C++ {{Progressbar|80}}&lt;br /&gt;
* Custom event handlers can now be registered.&lt;br /&gt;
* Canvas Layout Engine&lt;br /&gt;
* Canvas-based dialog for downloading aircraft [[Aircraft Center]]&lt;br /&gt;
&lt;br /&gt;
'''Nasal Scripting'''&lt;br /&gt;
&lt;br /&gt;
* getprop()/setprop() arguments (those that form a path) can now be numeric to specify a index, so:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
getprop(&amp;quot;canvas/by-index&amp;quot;, &amp;quot;texture&amp;quot;, 1, &amp;quot;name&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: is now the same as:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
getprop(&amp;quot;canvas/by-index/texture[1]/name&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: (see [https://gitorious.org/fg/flightgear/commit/5eee5e42ae4f5cf56283b3bf5a3be46efc2b51c4 merge request 54] and [https://gitorious.org/fg/flightgear/commit/34ed79e5f88ffdfc5e651a1fe3e639cb8f4d3353 actual commit])&lt;br /&gt;
* A new fully-interactive Nasal GUI console based on [[Canvas]] has been added: [[Interactive Nasal Console]]&lt;br /&gt;
* the hard-coded '''flight path history''' subsystem which samples aircraft position, which was previously only accessible to C++ code, has now been exposed to scripting space by Tom so that people can easily access the system and reuse the data for their own purpoes (e.g. for creating an instructor console). The first use-case will involve the new [[Canvas]] based [[Map]] dialog which will be 100% scripted by then.  &lt;br /&gt;
: Usage:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var hist = aircraft.history(); debug.dump(hist.pathForHistory(50));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* cppbind: Nasal ghosts can now support arbitrary setters/getters for when members are not mapped to a C++ member/method.&lt;br /&gt;
* Language enhancements&lt;br /&gt;
** Bitwise operators (|, &amp;amp;, ^, ~, |=, &amp;amp;=, ^=)&lt;br /&gt;
** Support for octal, decimal and hexadecimal numbers in literals as well as in strings&lt;br /&gt;
 &lt;br /&gt;
'''Documentation'''&lt;br /&gt;
&lt;br /&gt;
'''Highlighted new and improved aircraft'''&lt;br /&gt;
* [[Boeing 757-200]]: Improved autopilot and additional systems, like hydraulics and pneumatic. The aircraft comes with two engine options.&lt;br /&gt;
* [[Cessna 337G Skymaster]]: Tuned autopilot and improved instrument stack.&lt;br /&gt;
* [[Mainair Flash 2 Alpha]]: Simulated weightshift-control and new wing model.&lt;br /&gt;
* [[North American P-51 Mustang|North American P-51D]]: All new highly accurate external model based on factory blueprints.&lt;br /&gt;
* [[Tupolev Tu-154B|Tupolev Tu-154B2]]: version 3.1&lt;br /&gt;
&lt;br /&gt;
'''Other'''&lt;br /&gt;
&lt;br /&gt;
'''Bug fixes'''&lt;br /&gt;
* See [http://code.google.com/p/flightgear-bugs/issues/list?can=1&amp;amp;q=Milestone%3D3.2 our bugtracker] for an extensive, yet incomplete, list of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Release_plan&amp;diff=77044</id>
		<title>Release plan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Release_plan&amp;diff=77044"/>
		<updated>2014-10-05T18:36:17Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Detailed time schedule and checklist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{GitStatus}}&lt;br /&gt;
&lt;br /&gt;
This page contains details about how to release a new version of [[FlightGear]] into the wild. It is a continous work in progress to be improved with every new release. &lt;br /&gt;
&lt;br /&gt;
[[File:ReleasePlan.jpg|thumb|250px|The original plan]]&lt;br /&gt;
This '''release plan''' was originally developed by Mathias Fröhlich, Martin Spott, Thorsten Brehm and Torsten Dreyer during LinuxTag 2011.&lt;br /&gt;
&lt;br /&gt;
If you think you have something to contribute to the release process, feel free to &amp;lt;span class=plainlinks&amp;gt;[{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} edit this page]&amp;lt;/span&amp;gt;. In particular, improvements should be based on [[Release plan/Lessons learned]] from past releases. Please discuss this concept at the mailing-list.&lt;br /&gt;
&lt;br /&gt;
== General release concept ==&lt;br /&gt;
New FlightGear releases are scheduled twice a year. The magic number to remember is 17 (we tried 42, but that didn't turn out so well. 17 is perfect: 1 is not a prime, 7 is a prime and so is 17). On the 17th of January (1) and July (7) a new release branch is created for [[SimGear]], FlightGear and FGDATA. &lt;br /&gt;
&lt;br /&gt;
{{cquote|As a clarification: We do not enter a code freeze but a feature freeze. Code changes are welcome after December 17th as long as it is guaranteed (not just &amp;quot;unlikely&amp;quot;) that they do not introduce any side effects and become a release blocker. It is the sole responsibility of the commiter to decide if that is the case or not. Every new feature that didn't make it into the respository by the deadline may probably easily wait for another four weeks to get commited. Remember: most aircraft are not affected by the feature freeze and aircraft developers quickly adopt and use new features as they become available&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38749.html|title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] Next FlightGear release (Feb. 17 2013)&amp;lt;/nowiki&amp;gt;|author=Torsten Dreyer|date=16 November 2012}}&amp;lt;/ref&amp;gt;|Torsten Dreyer}}&lt;br /&gt;
&lt;br /&gt;
After branching, there is one month for bug fixing in the release branch, so building and packing of the binaries and FGDATA takes place around February, 18th and August, 18th. Allowing a few days for distribution of the files, new versions should be publically available around the 20th of February and August.&lt;br /&gt;
&lt;br /&gt;
The development stream of SimGear, FlightGear, FGRun and FGDATA is set into a frozen state one month before the branch-day (17th), to let the dust of development settle and to allow fixing the most annoying bugs in the code. During this period, developers should not add any new features, subsystems, and the like. Immediately after the stream has branched for the release, development in the main stream (next/master) is open for major changes until one month before the next branch-day. This results in a duty cycle of 5 month developing and 1 month thinking.&lt;br /&gt;
&lt;br /&gt;
== Version numbers ==&lt;br /&gt;
FlightGear version numbers consist of three digits, seperated by dots:&lt;br /&gt;
* '''Major''' (&amp;lt;u&amp;gt;2&amp;lt;/u&amp;gt;.4.1): is only increased after significant changes to the functionality of the software, i.e. 1.X.X =&amp;gt; 2.0.0 (due to switch to OSG).&lt;br /&gt;
* '''Minor''' (2.&amp;lt;u&amp;gt;4&amp;lt;/u&amp;gt;.1): has two applications:&lt;br /&gt;
** '''Stable releases''' always have ''even numbers'', i.e. 2.6.0, 2.8.0, 3.0.0.&lt;br /&gt;
** The '''development stream''' (''latest Git version'') uses an ''odd number'', increasing the minor number of the latest stable release's version by one. I.e., when the latest release was 2.8.0, the current development stream is 2.9.0.&lt;br /&gt;
* '''Revision''' (2.4.&amp;lt;u&amp;gt;1&amp;lt;/u&amp;gt;): is increased by bugfix releases, i.e. 2.8.1, 2.8.2, 2.8.3.&lt;br /&gt;
&lt;br /&gt;
When referring to a major release in general, only the first two digits should be used, i.e. 2.6 refers to 2.6.0, 2.6.1 etc.&lt;br /&gt;
&lt;br /&gt;
== Detailed time schedule and checklist ==&lt;br /&gt;
# '''Dec/Jun 17th:''' Development stream is declared &amp;quot;frozen&amp;quot; or &amp;quot;yellow&amp;quot;&lt;br /&gt;
##Send a mail to the flightgear-devel mailing-list to announce the state, add a call for screenshots&lt;br /&gt;
##Create a &amp;quot;release preperations&amp;quot; topic at the forum and make it a &amp;quot;Global Announcement&amp;quot;, add a call for screenshots&lt;br /&gt;
##Change the content of wiki template at [[Template:GitStatus]] to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{GitStatus:frozen}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##Bump up the version-number of simgear/next, flightgear/next, fgrun/next and fgdata/master to an even number (2.9.0 -&amp;gt; 3.0.0)&lt;br /&gt;
##Compile and test drive FlightGear with the new version-number&lt;br /&gt;
##Commit the new version number to next (flightgear+simgear+fgrun) and master(fgdata)&lt;br /&gt;
##Tag (annotated) flightgear, simgear, fgrun and fgdata with &amp;lt;tt&amp;gt;version/3.0.0&amp;lt;/tt&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git tag -a version/3.0.0&amp;lt;/code&amp;gt; (Enter a wise comment)&lt;br /&gt;
##Push the branches next/master '''and''' the tags upstream&lt;br /&gt;
##:for flightgear, fgrun and simgear: &amp;lt;code&amp;gt;git push origin next&amp;lt;/code&amp;gt;&lt;br /&gt;
##:for fgdata: &amp;lt;code&amp;gt;git push origin master&amp;lt;/code&amp;gt;&lt;br /&gt;
##:for the tags (all repos): &amp;lt;code&amp;gt;git push origin version/3.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Jan/Jul 17th:''' Create new release branch, assign new version number to dev-stream, re-open streams&lt;br /&gt;
&amp;lt;!-- We don't really need this step...&lt;br /&gt;
##Declare the streams &amp;quot;closed&amp;quot; or &amp;quot;red&amp;quot;&lt;br /&gt;
##:Send a mail to the flightgear-devel mail-list, asking not to commit/push anything&lt;br /&gt;
##:Post an update to the forum topic&lt;br /&gt;
##:Change the content of wiki template at [[Template:GitStatus]] to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{GitStatus:closed}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
##Pull current Git, create the release branches (for sg/fg/fgrun/fgdata):&lt;br /&gt;
##:&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git branch release/3.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
##On the next/master branches, bump up the version-number of simgear, flightgear, fgrun and fgdata to an odd number (3.0.0 -&amp;gt; 3.1.0)&lt;br /&gt;
##Compile and test drive FlightGear with the new development version number&lt;br /&gt;
##Commit the changes of version-number to next/master&lt;br /&gt;
##Tag (annotated) flightgear, simgear, fgrun and fgdata with &amp;quot;version/2.9.0&amp;quot;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git tag -a version/2.9.0&amp;lt;/code&amp;gt; (Enter a wise comment)&lt;br /&gt;
##Push the branches next/master '''and''' release/3.0.0 '''and''' the tags upstream&lt;br /&gt;
##:for flightgear, simgear, fgrun and fgdata: &amp;lt;code&amp;gt;git push origin release/3.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
##:for flightgear, fgrun and simgear: &amp;lt;code&amp;gt;git push origin next&amp;lt;/code&amp;gt;&lt;br /&gt;
##:for fgdata: &amp;lt;code&amp;gt;git push origin master&amp;lt;/code&amp;gt;&lt;br /&gt;
##:for the tags (all repos): &amp;lt;code&amp;gt;git push origin version/3.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
##Declare dev-streams &amp;quot;open&amp;quot; or &amp;quot;green&amp;quot;&lt;br /&gt;
##: Ask a [http://wiki.flightgear.org/index.php?title=Special:ListUsers&amp;amp;group=sysop wiki admin] to change the content of wiki template at [[Template:GitStatus]] to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{GitStatus:open}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##:Send a mail to the flightgear-devel mailing-list to announce the state.&lt;br /&gt;
## Trigger James or Clément for the Jenkins-builds and Curt for a snapshot release and ThorstenB for the OpenSuse build&lt;br /&gt;
##:in fgmeta:&lt;br /&gt;
##:&amp;lt;code&amp;gt;git checkout release/3.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git submodule foreach git checkout release/3.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git submodule foreach git pull -r&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git add .&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git commit -m &amp;quot;Bump revision&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git push origin release/3.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Feb/Aug 1st:''' Start preparing the release notes and a press announcement&lt;br /&gt;
# '''Feb/Aug 17th:''' Create binaries/installers, pack fgdata, publish files, announce new version, close the release-branch.&lt;br /&gt;
## Generate latest '''getstart.pdf''', push the PDF to fgdata/master - and cherry-pick to the '''release branch'''. Generate latest '''getstart''' HTML, push PDF and HTML to the MapServer site.&lt;br /&gt;
##Tag the release/3.0.0 branches of simgear, flightgear, fgrun and fgdata and push the tags.&lt;br /&gt;
##:for flighgear, simgear, fgrun and fgdata: &amp;lt;code&amp;gt;git tag version/3.0.0-final&amp;lt;/code&amp;gt;&lt;br /&gt;
##:for flighgear, simgear, fgrun and fgdata: &amp;lt;code&amp;gt;git push origin version/3.0.0-final&amp;lt;/code&amp;gt;&lt;br /&gt;
##Merge the branch release/3.0.0 into '''master''' (&amp;lt;u&amp;gt;'''NOT'''&amp;lt;/u&amp;gt; next) for flightgear and simgear and push the branch&lt;br /&gt;
##:We don't have a next branch for fgdata, no merging of the release branch here.&lt;br /&gt;
##:for flighgear, fgrun and simgear: &lt;br /&gt;
##:&amp;lt;code&amp;gt;git checkout -b master origin/master&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt; if you already have the local branch&lt;br /&gt;
##:&amp;lt;code&amp;gt;git merge version/3.0.0-final&amp;lt;/code&amp;gt;&lt;br /&gt;
##:&amp;lt;code&amp;gt;git push origin master&amp;lt;/code&amp;gt;&lt;br /&gt;
##[[:Category:FlightGear Core developers|Core developers]] and other contributors should be invited to add their release related experiences (i.e. suggestions for improvements) to the wiki to help update and improve the release plan (i.e. this page) accordingly.&lt;br /&gt;
&lt;br /&gt;
== To bump up the version number ==&lt;br /&gt;
* [https://gitorious.org/fg/fgdata FGData]&lt;br /&gt;
** edit the ''version'' file&lt;br /&gt;
* [https://gitorious.org/fg/simgear SimGear]&lt;br /&gt;
** edit the ''version'' file&lt;br /&gt;
* [https://gitorious.org/fg/flightgear FlightGear]&lt;br /&gt;
** edit the ''version'' file&lt;br /&gt;
* [https://gitorious.org/fg/fgrun FGRun]&lt;br /&gt;
** edit the ''version'' file&lt;br /&gt;
&lt;br /&gt;
== Definition of repository states ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! State&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
! [[File:Traffic light green.png|20px]]&lt;br /&gt;
! Open/Green&lt;br /&gt;
| Normal development of the code base and fgdata. Unrestricted (well, sort of) access to the streams. This state lasts for five months after the release branches were created.&lt;br /&gt;
|-&lt;br /&gt;
! [[File:Traffic light yellow.png|20px]]&lt;br /&gt;
! Frozen/Yellow&lt;br /&gt;
| No new features or major changes shall be pushed onto the development streams (neither source nor data). This period is for preparing the code for the release and make sure there are no major issues. It lasts for four weeks until creation of the release branches.&lt;br /&gt;
&lt;br /&gt;
It's a good idea for aircraft developers to adhere to this rule. However, aircraft in fgdata may be handled as an exception from the frozen state. Any change to aircraft may be pushed to the repository if it is guaranteed that this change does not affect any other aircraft or system and if no file outside the root directory of that specific aircraft is changed. Also, aircraft defined as part of the base package (e.g. the c172p) enter the frozen state and shall not undergo major changes in that period.&lt;br /&gt;
|-&lt;br /&gt;
! [[File:Traffic light red.png|20px]]&lt;br /&gt;
! Closed/Red&lt;br /&gt;
| Nothing shall be pushed to the development streams (simgear, flightgear, fgrun and fgdata). This state is for creating the release branches. It lasts for just a few hours on Jan 17th and Jul 17th around 12:00 UTC.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bug fix committing policy ==&lt;br /&gt;
Fixes for bugs during the shakedown test of the release branch may be applied to the branches next or release/2.8.0.&lt;br /&gt;
A fix goes into release/2.8.0 if the development of next has moved forward and this fix does not apply there. It also goes into the release branch if there will be a better fix for next. &lt;br /&gt;
A fix goes into next if it is also solves an issue for the next version. Cherry-pick this commit into the release/2.8.0 branch.&lt;br /&gt;
&lt;br /&gt;
'''DO NOT''' merge next into release/2.8.0 or vice versa. Most likely, there will be commits that are not welcome in or even break the other branch.&lt;br /&gt;
&lt;br /&gt;
== Bug tracking ==&lt;br /&gt;
The [http://flightgear-bugs.googlecode.com bugtracker] will be our primary source for the bug fixing period. Bugs reported on the mailing list or forum will not be tracked! Reporters shall be requested to file a bug report at the bugtracker. Bugs shall be assigned a priority and a keyword to make the assignment to a developer easier. Bug reports that can't be confirmed or need more input from the reporter to get fixed will be assigned a new state &amp;quot;stalled&amp;quot; and only processed after more information has been provided. Bugs assigned a high priority will be downgraded, if no progress has been made over a certain amount of time. This is to prevent the release from being blocked by a bug that no developer is able (or willing) to fix. The only exception is &amp;quot;does not compile for one of the major platforms&amp;quot;, which certainly is a release-blocker.&lt;br /&gt;
&lt;br /&gt;
Bugs that were present in the latest stable release, and now considered &amp;quot;fixed&amp;quot;, should be assigned a milestone label, corresponding with the upcoming stable release number. By doing so, they'll end up in [http://code.google.com/p/flightgear-bugs/issues/list?can=1&amp;amp;q=label%3AMilestone-2.12.0 the list of fixed bugs].&lt;br /&gt;
&lt;br /&gt;
=== Tasks and owners ===&lt;br /&gt;
&lt;br /&gt;
The following table should be updated and augmented after each release, according to the [[Release plan#Lessons learned|Lessons learned]] section below.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! width=&amp;quot;500px&amp;quot; | Task&lt;br /&gt;
! Owner(s)&lt;br /&gt;
! Status for [[Changelog 2.12|2.12]]&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | &lt;br /&gt;
| Announce the state-change of the dev-streams, '''cross-post to JSBSim list''' (see lessons learned!)&lt;br /&gt;
| TorstenD&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Create/maintain the git branches&lt;br /&gt;
| TorstenD&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Track the bugs on the tracker, trigger developers, adjust bug-priorities&lt;br /&gt;
| ThorstenB, Gijs, James, ...&lt;br /&gt;
|-&lt;br /&gt;
| Sync the language files so they can be translated&lt;br /&gt;
| ThorstenB, James&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Beta testing &lt;br /&gt;
| '''EVERYBODY'''&lt;br /&gt;
|-&lt;br /&gt;
| Update documentation: [[FAQ]], [https://www.gitorious.org/fg/getstart/ The Manual], wiki&lt;br /&gt;
| Stuart, Gijs and anyone else&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Pack RC and final version of FGDATA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | Create the RC and final version&lt;br /&gt;
| Source-tarball&lt;br /&gt;
| Curt&lt;br /&gt;
|-&lt;br /&gt;
| Linux&lt;br /&gt;
| ThorstenB (for openSUSE)&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| Curt&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| MacOS&lt;br /&gt;
| Tat/James&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Distribute files to download servers&lt;br /&gt;
| Curt&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Make adjustments on the web-site&lt;br /&gt;
| Collect/make screenshots for the gallery &lt;br /&gt;
| Curt&lt;br /&gt;
|-&lt;br /&gt;
| Generate aircraft page&lt;br /&gt;
| Curt, Gijs&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| Tag the [http://wiki.flightgear.org/index.php?title=Talk:Next_newsletter&amp;amp;action=edit&amp;amp;section=45 newsletter template] according to the released version&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Changes after 2.12]]&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| Hooray, Gijs, Stuart (other wiki admins)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Announce the new version to the public&lt;br /&gt;
| Write a changelog: [[Next Changelog]]&lt;br /&gt;
| All developers/contributors&lt;br /&gt;
|-&lt;br /&gt;
| Contact flightsim websites and send them/link them to the &amp;quot;press announcement&amp;quot;. See [[release promotion]] for a list of already-contacted and yet-to-contact websites/magazins.&lt;br /&gt;
| '''EVERYBODY'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Open items, questions ==&lt;br /&gt;
* Automate and/or document the creation of RC's: &amp;quot;We need to get this automated some day. Or at least documented...(another one from &amp;quot;famous last words&amp;quot;: if you have to do it more than once, automate it. If you can't automate it, document it.&amp;quot;&amp;lt;ref&amp;gt;{{Cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg39205.html |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Release candidates&amp;lt;/nowiki&amp;gt; |author=Torsten Dreyer |date=29 January 2013}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Automate the creation of Windows and Mac installers&amp;lt;/del&amp;gt;  {{Done}} &amp;lt;ref&amp;gt;http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40650.html&amp;lt;/ref&amp;gt; (see [[FlightGear Build Server]])&lt;br /&gt;
* Automate the creation of FGDATA distribution&lt;br /&gt;
* Possibly try to find a way to automate testing of updated jsbsim code, so that the chance for breakage is reduced by running scripted tests &amp;lt;ref&amp;gt;{{Cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg39109.html |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] [Jsbsim-devel] JSBSim Synch with FlightGear&amp;lt;/nowiki&amp;gt; |author=Torsten Dreyer |date=13 January 2013}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40201.html |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] JSBSim Synch with FlightGear&amp;lt;/nowiki&amp;gt; |author=Anders Gidenstam |date=11 June 2013}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite web |url=http://sourceforge.net/p/flightgear/mailman/message/31762085/&lt;br /&gt;
|title=&amp;lt;nowiki&amp;gt;Release preparations - feature freeze starts today&amp;lt;/nowiki&amp;gt; |author=Anders Gidenstam |date=2013-12-17 19:46:48}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lessons learned ==&lt;br /&gt;
See [[Release plan/Lessons learned]] for a list of things that turned out well and should be kept for the next release as well as thing that didn't turn out so well and should be changed for future releases. Ideally, the release plan should be updated and augmented so that the lessons learned are incorporated accordingly. &lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core developer documentation]]&lt;br /&gt;
[[Category:FlightGear]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Modelling_guidelines&amp;diff=76696</id>
		<title>Modelling guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Modelling_guidelines&amp;diff=76696"/>
		<updated>2014-09-23T21:24:17Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Merge|Modeling - Getting Started#Improving models for best FlightGear performance}}&lt;br /&gt;
&lt;br /&gt;
When modelling an aircraft, building or any other 3D model, you are encouraged to follow the '''modelling guidelines''' outlined in this article.&lt;br /&gt;
&lt;br /&gt;
Feel free to add/modify. (''please leave a comment in the [[Talk:Modelling guidelines|talk page]] for radical modifications'').&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
*Model = the file.&lt;br /&gt;
*Object/Mesh = part of the Model file. The Model can contain several Objects.&lt;br /&gt;
*Texture = image file (.rgb, .png).&lt;br /&gt;
&lt;br /&gt;
== Modelling guidelines ==&lt;br /&gt;
*Vertices are free up to a point - use as many as you need.&lt;br /&gt;
*Many small (in vertex numbers) Objects/Meshes have a far worse negative impact on performance than a single Object/Mesh with very high vertex numbers.&lt;br /&gt;
*Combine all different parts of the Model into one single Object/Mesh, with the exception of parts that need to be animated, or of transparent parts.&lt;br /&gt;
** '''Blender''': Select some objects and press {{Key press|Ctrl|J}} to join them into one Object. The new object origin/transform/orientation/name will be based on the ones of the last object selected.&lt;br /&gt;
*Use different unique names for each of the Objects in a Model file. Even more so when the different parts need to be animated.&lt;br /&gt;
*Make all faces of the objects single sided.&lt;br /&gt;
*If you need a part of the model to be visible from both sides, duplicate it in place and flip the normals. The extra geometry overhead is negligible compared to the extra work generated by double-sided faces.&lt;br /&gt;
*Split transparent parts into their own objects.&amp;lt;!-- and place at the end of the object list --&amp;gt;&amp;lt;!-- I'm not sure this is not some kind of placebo--&amp;gt;&lt;br /&gt;
** '''Blender''': Go into Edit Mode, select the part of the object that you would like to split and press {{Key press|P}}.&lt;br /&gt;
*Assign to all transparent Objects at least the ''model-transparent'' effect:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;effect&amp;gt;&lt;br /&gt;
		&amp;lt;inherits-from&amp;gt;Effects/model-transparent&amp;lt;/inherits-from&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object3&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;other-Transparent-object&amp;lt;/object-name&amp;gt;&lt;br /&gt;
	&amp;lt;/effect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*The interior should be a separate Model. Having it separate enables delayed loading of such models in multiplayer/AI contexts. &lt;br /&gt;
Only one instance of the tag is allowed for the whole aircraft. Such a model is specified as follows in the .xml file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;model&amp;gt;&lt;br /&gt;
			&amp;lt;usage&amp;gt;interior&amp;lt;/usage&amp;gt; &amp;lt;!--make sure to have this tag--&amp;gt;&lt;br /&gt;
			&amp;lt;path&amp;gt;Models/your-interior-model.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
		&amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your &amp;lt;model&amp;gt; require an &amp;lt;offsets&amp;gt; you must move the &amp;lt;offsets&amp;gt; section in the children XML like:&lt;br /&gt;
&lt;br /&gt;
your/aircraft/Models/aircraft.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;path/to/model.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;your/aircraft/Models/Interior/model.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;usage&amp;gt;interior&amp;lt;/usage&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
your/aircraft/Models/Interior/model.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;path&amp;gt;path/to/another/model.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;offsets&amp;gt;&lt;br /&gt;
    &amp;lt;x-m&amp;gt; -1.91552 &amp;lt;/x-m&amp;gt;&lt;br /&gt;
    &amp;lt;y-m&amp;gt;  0.00000 &amp;lt;/y-m&amp;gt;&lt;br /&gt;
    &amp;lt;z-m&amp;gt;  0.23706 &amp;lt;/z-m&amp;gt;&lt;br /&gt;
    &amp;lt;roll-deg&amp;gt;    40.0 &amp;lt;/roll-deg&amp;gt;&lt;br /&gt;
    &amp;lt;pitch-deg&amp;gt;   35.0 &amp;lt;/pitch-deg&amp;gt;&lt;br /&gt;
    &amp;lt;heading-deg&amp;gt; 60.0 &amp;lt;/heading-deg&amp;gt;&lt;br /&gt;
  &amp;lt;/offsets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;path/to/another/model.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
  ...  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Texturing guidelines ==&lt;br /&gt;
*Combine as many parts of a single Model to a single texture as you can - the maximum texture size is 4096 x 4096 pixels.&lt;br /&gt;
*Do not assign multiple textures to the same Object/Mesh. The Object will be split so as to have a single texture/Mesh.&lt;br /&gt;
*Do not use different parts of a single texture for different models. Split the texture into smaller parts then.&lt;br /&gt;
*If using the same texture on multiple models, use a single file, do not make different copies.&lt;br /&gt;
*Prefer texture replacing animations to textranslate for models that spend large amounts of their time in one state (day/night animations).&lt;br /&gt;
*Avoid transparency like the plague, it kills frame rate like nothing else: remove the alpha channel from textures if they are non-transparent.&lt;br /&gt;
** '''GIMP''': Go to &amp;lt;tt&amp;gt;Layers &amp;gt; Transparency &amp;gt; Remove alpha layer&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** '''Inkscape''': Go to &amp;lt;tt&amp;gt;File &amp;gt; Document Properties&amp;lt;/tt&amp;gt; and set the &amp;quot;Background&amp;quot; to a non transparent colour (preferably black).&lt;br /&gt;
*Hive off transparent parts of textures into their own textures.&lt;br /&gt;
*Use power of two dimensions for textures (2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;, e.g. 256x256, 512x1024). Do not worry if your image would get stretched in the texture, you can fix that with the mapping on the model.&lt;br /&gt;
*Do not have textures with the image in one corner and the rest unused.&lt;br /&gt;
*Recommended texture format is: '''.png'''. In general any texture format supported by OSG could be used, but be aware of varying cross-platform support for such formats, or of lossy compression.&lt;br /&gt;
&amp;lt;!--== Animation guidelines ==&lt;br /&gt;
*Keep the number of range animations to a minimum. Load the instruments in a submodel XML file, to avoid having one for each instrument. Testing one range animation is cheaper than 47.--&amp;gt; &amp;lt;!--commented out for now--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Modeling]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Modelling_guidelines&amp;diff=76693</id>
		<title>Modelling guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Modelling_guidelines&amp;diff=76693"/>
		<updated>2014-09-23T11:16:13Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Modelling guidelines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Merge|Modeling - Getting Started#Improving models for best FlightGear performance}}&lt;br /&gt;
&lt;br /&gt;
When modelling an aircraft, building or any other 3D model, you are encouraged to follow the '''modelling guidelines''' outlined in this article.&lt;br /&gt;
&lt;br /&gt;
Feel free to add/modify. (''please leave a comment in the [[Talk:Modelling guidelines|talk page]] for radical modifications'').&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
*Model = the file.&lt;br /&gt;
*Object/Mesh = part of the Model file. The Model can contain several Objects.&lt;br /&gt;
*Texture = image file (.rgb, .png).&lt;br /&gt;
&lt;br /&gt;
== Modelling guidelines ==&lt;br /&gt;
*Vertices are free up to a point - use as many as you need.&lt;br /&gt;
*Many small (in vertex numbers) Objects/Meshes have a far worse negative impact on performance than a single Object/Mesh with very high vertex numbers.&lt;br /&gt;
*Combine all different parts of the Model into one single Object/Mesh, with the exception of parts that need to be animated, or of transparent parts.&lt;br /&gt;
** '''Blender''': Select some objects and press {{Key press|Ctrl|J}} to join them into one Object. The new object origin/transform/orientation/name will be based on the ones of the last object selected.&lt;br /&gt;
*Use different unique names for each of the Objects in a Model file. Even more so when the different parts need to be animated.&lt;br /&gt;
*Make all faces of the objects single sided.&lt;br /&gt;
*If you need a part of the model to be visible from both sides, duplicate it in place and flip the normals. The extra geometry overhead is negligible compared to the extra work generated by double-sided faces.&lt;br /&gt;
*Split transparent parts into their own objects.&amp;lt;!-- and place at the end of the object list --&amp;gt;&amp;lt;!-- I'm not sure this is not some kind of placebo--&amp;gt;&lt;br /&gt;
** '''Blender''': Go into Edit Mode, select the part of the object that you would like to split and press {{Key press|P}}.&lt;br /&gt;
*Assign to all transparent Objects at least the ''model-transparent'' effect:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;effect&amp;gt;&lt;br /&gt;
		&amp;lt;inherits-from&amp;gt;Effects/model-transparent&amp;lt;/inherits-from&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object3&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;other-Transparent-object&amp;lt;/object-name&amp;gt;&lt;br /&gt;
	&amp;lt;/effect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*The interior should be a separate Model. Having it separate enables delayed loading of such models in multiplayer/AI contexts. &lt;br /&gt;
Only one instance of the tag is allowed for the whole aircraft. Such a model is specified as follows in the .xml file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;model&amp;gt;&lt;br /&gt;
			&amp;lt;usage&amp;gt;interior&amp;lt;/usage&amp;gt; &amp;lt;!--make sure to have this tag--&amp;gt;&lt;br /&gt;
			&amp;lt;path&amp;gt;Models/your-interior-model.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
		&amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your &amp;lt;model&amp;gt; require an &amp;lt;offsets&amp;gt; you must create a proxy XML like:&lt;br /&gt;
&lt;br /&gt;
your/aircraft/Models/aircraft.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;your/aircraft/Models/Interior/model-proxy.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;usage&amp;gt;interior&amp;lt;/usage&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
your/aircraft/Models/Interior/model-proxy.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;your/aircraft/Models/Interior/model.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;offsets&amp;gt;&lt;br /&gt;
      &amp;lt;x-m&amp;gt; -1.91552 &amp;lt;/x-m&amp;gt;&lt;br /&gt;
      &amp;lt;y-m&amp;gt;  0.00000 &amp;lt;/y-m&amp;gt;&lt;br /&gt;
      &amp;lt;z-m&amp;gt;  0.23706 &amp;lt;/z-m&amp;gt;&lt;br /&gt;
      &amp;lt;roll-deg&amp;gt;    40.0 &amp;lt;/roll-deg&amp;gt;&lt;br /&gt;
      &amp;lt;pitch-deg&amp;gt;   35.0 &amp;lt;/pitch-deg&amp;gt;&lt;br /&gt;
      &amp;lt;heading-deg&amp;gt; 60.0 &amp;lt;/heading-deg&amp;gt;&lt;br /&gt;
    &amp;lt;/offsets&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Texturing guidelines ==&lt;br /&gt;
*Combine as many parts of a single Model to a single texture as you can - the maximum texture size is 4096 x 4096 pixels.&lt;br /&gt;
*Do not assign multiple textures to the same Object/Mesh. The Object will be split so as to have a single texture/Mesh.&lt;br /&gt;
*Do not use different parts of a single texture for different models. Split the texture into smaller parts then.&lt;br /&gt;
*If using the same texture on multiple models, use a single file, do not make different copies.&lt;br /&gt;
*Prefer texture replacing animations to textranslate for models that spend large amounts of their time in one state (day/night animations).&lt;br /&gt;
*Avoid transparency like the plague, it kills frame rate like nothing else: remove the alpha channel from textures if they are non-transparent.&lt;br /&gt;
** '''GIMP''': Go to &amp;lt;tt&amp;gt;Layers &amp;gt; Transparency &amp;gt; Remove alpha layer&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** '''Inkscape''': Go to &amp;lt;tt&amp;gt;File &amp;gt; Document Properties&amp;lt;/tt&amp;gt; and set the &amp;quot;Background&amp;quot; to a non transparent colour (preferably black).&lt;br /&gt;
*Hive off transparent parts of textures into their own textures.&lt;br /&gt;
*Use power of two dimensions for textures (2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;, e.g. 256x256, 512x1024). Do not worry if your image would get stretched in the texture, you can fix that with the mapping on the model.&lt;br /&gt;
*Do not have textures with the image in one corner and the rest unused.&lt;br /&gt;
*Recommended texture format is: '''.png'''. In general any texture format supported by OSG could be used, but be aware of varying cross-platform support for such formats, or of lossy compression.&lt;br /&gt;
&amp;lt;!--== Animation guidelines ==&lt;br /&gt;
*Keep the number of range animations to a minimum. Load the instruments in a submodel XML file, to avoid having one for each instrument. Testing one range animation is cheaper than 47.--&amp;gt; &amp;lt;!--commented out for now--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Modeling]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76658</id>
		<title>FlightGear Newsletter September 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76658"/>
		<updated>2014-09-21T21:16:14Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Newsletter-header|September 2014}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|FlightGear 3.2 released (this time for real!)}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|DDS feedback needed}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|Aircraft moved to SVN}}&amp;lt;br/&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|Using Ada in FlightGear}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|Performance issues}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|The hidden Map}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|Interview with a contributor}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|Improve the multiplayer experience}}&amp;lt;br/&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DDS feedback needed ==&lt;br /&gt;
&lt;br /&gt;
We are looking for feedback about possibly adopting DDS textures in FlightGear. There are several advantages in doing so:&lt;br /&gt;
&lt;br /&gt;
* DDS is a more compact format than png, hence the download size of the FG base package may be decreased&lt;br /&gt;
* Compressed DDS can be directly used by many graphics cards, reducing also GPU memory consumption&lt;br /&gt;
* DDS stores all texture resolution levels, i.e. no lower resolution levels have to be generated when the texture is used, hence it loads much faster into memory&lt;br /&gt;
* The resolution levels ('mipmaps') can be customized, allowing for some interesting effects at no performance cost&lt;br /&gt;
&lt;br /&gt;
Practically all commercial simulations use DDS for these reasons. &lt;br /&gt;
&lt;br /&gt;
However, the DDS compression algorithm is patented, which means that it is not readily available for open source graphics drivers used by most Linux distributions. Dependent on the specific hardware, this may or may not be a problem (modern graphics cards typically do not need the driver to process DDS, for older graphics cards there are non-patented workarounds available which decompress the DDS on the software level). The development team is concerned about making the FlightGear experience pleasant for all users, hence we would like to gather feedback how many users would be affected by a change in practice.&lt;br /&gt;
&lt;br /&gt;
If there are no problems reported, FG will change defaults to textures in DDS format with the 3.4 release, and then phase out the use of png textures.&lt;br /&gt;
&lt;br /&gt;
Continue reading at [[Switching default texture format to DDS]]...&lt;br /&gt;
&lt;br /&gt;
== Aircraft moved to SVN ==&lt;br /&gt;
Some months ago we decided to host our aircraft on an SVN repository in order to relieve &amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt;.&lt;br /&gt;
The &amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt; repo would be a mirror of the base package.&lt;br /&gt;
&lt;br /&gt;
We finally moved all our aircraft to '''the new SVN repo''': http://sourceforge.net/p/flightgear/fgaddon/&lt;br /&gt;
&lt;br /&gt;
This repository is named &amp;quot;FGAddon&amp;quot; because its content is not required to run FlightGear but provides a new feature (aircraft in this case); this is usually called an &amp;quot;addon&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Advantages ===&lt;br /&gt;
On the user side, the most important feature is to be able to checkout only desired aircraft, as you no longer need to download the 400+ aircraft at once.&lt;br /&gt;
&lt;br /&gt;
On the developer side, the most important interest is to have a base package (&amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt;) which is lighter to sync for new contributors and easier to keep up to date.&lt;br /&gt;
&lt;br /&gt;
=== A mini HowTo ===&lt;br /&gt;
* For Windows:  Install TortoiseSVN (http://tortoisesvn.net/) &lt;br /&gt;
* For Linux/Mac:  Install SVN&lt;br /&gt;
&lt;br /&gt;
Then to fetch an aircraft (in this example we pick up the [[Robin DR400 Dauphin|DR400 Dauphin]]):&lt;br /&gt;
 svn co https://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/DR400-dauphin&lt;br /&gt;
&lt;br /&gt;
Then you can regularly fetch the latest updates with&lt;br /&gt;
 svn up&lt;br /&gt;
&lt;br /&gt;
If you are used to use Git, &amp;lt;code&amp;gt;svn co&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;svn up&amp;lt;/code&amp;gt; are similar to &amp;lt;code&amp;gt;git clone&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The aircraft will remain in the &amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt; Git repository for a few months, until everyone has transitioned to the SVN repositories.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
For our aircraft developers who don't regularly read the mailing list (even though any aircraft developers should already be subscribed), please read this topic: https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/DUB127-W168600DE27B42094E5263EC3C10%40phx.gbl/#msg3280971&lt;br /&gt;
&lt;br /&gt;
== Using Ada in FlightGear ==&lt;br /&gt;
[[File:FlightGear built using gnatmake.png|thumb|FlightGear built with optional support for Ada]]&lt;br /&gt;
&lt;br /&gt;
Recently, we've had an interesting discussion on the forum where some of FlightGear's threading issues were discussed, and a few contributors mentioned that Ada would have better tasking support than C++ because C++ support for tasking/multi-threading is generally considered fairly &amp;quot;low-level&amp;quot;. Other programming languages, like Ada, provide native support for multi-threading using built-in primitives like '''tasks''' and '''protected types'''.&lt;br /&gt;
&lt;br /&gt;
Meanwhile, a few contributors have teamed up to explore using Ada in FlightGear to make some experiments.&lt;br /&gt;
&lt;br /&gt;
We're hoping to document the steps required to extend our [[Developing using CMake|CMake build system]] to support optional modules implemented in Ada as discussed by onox, Flying toaster and Hooray on the forum, including support for mapping existing C++ classes to Ada (e.g. from OSG and/or OpenRTI).&lt;br /&gt;
&lt;br /&gt;
The main goal being here to leverage Ada's native tasking support for prototyping optional features that do not have to be running in the FlightGear main loop. &lt;br /&gt;
&lt;br /&gt;
We've already found some existing CMake modules that we can reuse: The [http://plplot.sourceforge.net/ PLPlot project] is implemented using C, C++ and Ada and provides a set of CMake modules that are scheduled to be merged into CMake soon.&lt;br /&gt;
&lt;br /&gt;
Hooray has copied those files into a branch of $FG_SRC and ended up with a working build environment that successfully links in Ada modules. For starters, we'll be playing with optionally allowing [[Howto:Add new fgcommands to FlightGear|fgcommands]] to be implemented in Ada, as well as new [[Howto:Create new subsystems|SGsubsystems]].&lt;br /&gt;
&lt;br /&gt;
Next, we'll be exploring how to add thin bindings using '''-fdump-ada-spec''' for existing SimGear/OpenRTI (HLA) headers and document the whole process on the wiki.&lt;br /&gt;
&lt;br /&gt;
Using -fdump-ada-specc to create bindings for SG/HLA classes to create standalone HLA federates in Ada would make FG pretty compelling for anybody doing this kind of thing professionally, because Ada simply happens to be widely used in the aviation industry, and it seems there are even bindings of complex stuff like OSG available.&lt;br /&gt;
&lt;br /&gt;
To learn more, please see [[Howto:Using Ada in FlightGear]]&lt;br /&gt;
&lt;br /&gt;
== Improve the multiplayer experience ==&lt;br /&gt;
The &amp;lt;usage&amp;gt;interior&amp;lt;/usage&amp;gt; tag has been extended to support MP/AI models.&lt;br /&gt;
&lt;br /&gt;
A new LOD key is added to the LOD dialog which affect the distance of loading the interior model of AI/MP models. Default value is 50.0&lt;br /&gt;
&lt;br /&gt;
In other words, the interior model of AI/MP is loaded '''only''' when you are at less than 50.0 meters of the AI/MP models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://wiki.flightgear.org/Modelling_guidelines#Modelling_guidelines&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performance Issues ==&lt;br /&gt;
Several FlightGear users have pointed out inexplicable &amp;quot;slowness&amp;quot; that originally seemed related to the property rules subsystem - which is a subsystem that Torsten originally wrote/ported, so he investigated a little and managed to track this down to a pretty serious bug in the effects subsystem that may end up registering thousands of identical listeners, despite effects/shaders not even being in use necessarily. &lt;br /&gt;
&lt;br /&gt;
So the property rules code wasn't even the culprit but obviously it deals with properties, so easy to mis-identify as the troublemaker. &lt;br /&gt;
&lt;br /&gt;
As some of you may know from working with Nasal code: listeners are not in and of themselves expensive, but running identical listeners over and over again each frame is getting unnecessarily expensive quickly. This doesn't just apply to scripting space, but also to C++ space - here, it's the sheer performance offered by native C++ code that makes it much harder to identify such problems, because code that would bring the simulator down to its knees in Nasal may very well still be &amp;quot;fast enough&amp;quot; for most people with fast computers, despite being still very much &amp;quot;broken&amp;quot;, and plain wrong.&lt;br /&gt;
&lt;br /&gt;
As can be seen on the devel list, Torsten has been spending the last weeks troubleshooting the effects system, which isn't exactly straightforward because its original developer is not currently involved in FlightGear, and the code is pretty sophisticated and even multi-threaded (which means that parts of the code may be running concurrently on different CPUs) - however, Torsten did report pretty significant performance improvements recently - he's just pushed his work to a new branch so that other developers (and people building from source!) can have a look and test his changes and report feedback/issues - this will probably mean that it may take a few weeks until all the feedback has come in and implemented - but performance should be improved significantly by then - which also addresses the whole &amp;quot;when will 3.2 be released&amp;quot; question. Meanwhile, Stuart has joined Torsten to help with fixing the bug:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Acutally, Stuart is working on this and has improved the UniformCache I started with. He has a much better insight in the Effect system than I do.&lt;br /&gt;
His work is much better than mine but still has some breakage for existing shaders, most prominent one is ALS.&lt;br /&gt;
We are still investigating whats going on there and I have to ask for just some more patience.&amp;lt;br/&amp;gt;&lt;br /&gt;
Torsten&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32846172/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] crash in SGPropertyNode::fireValueChanged&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Also, Hooray recently built fg on a dual-core netbook with Intel GMA graphics (1gb RAM) to see if/how well Canvas is supported there (some people reported white RTTs due to lack of FBO support) - it is true that doing this more regularly would probably help identify certain issues much earlier - it seems that a few contributors are still trying to spin up FG once in a while on their old computers - Thorsten repeatedly mentioned doing that for regression testing purposes when testing his own work. &lt;br /&gt;
&lt;br /&gt;
But FG would indeed be in a better shape if had some way to do this more often, possibly automatically on some kind of headless build/regression testing server - which kinda is what a few people have been working towards:&lt;br /&gt;
&lt;br /&gt;
* [[FlightGear Headless|Running FlightGear headless]] (i.e. without a window, used for subsystem performance testing)&lt;br /&gt;
&lt;br /&gt;
* [[Testing|Testing Performance]]&lt;br /&gt;
&lt;br /&gt;
Things like the recently discovered listener issue in the effects subsystem or massive memory leaks would stand less of a chance of going unnoticed if we had more people testing FG on old hardware - but it's a chicken/egg problem because you need to be pretty familiar with FG to make it work at all, so most people don't bother - and as a coder you tend to prefer writing code over testing obviously, so given the lack of feedback, FG is leaning more towards power users with the latest GPUs and 1+ gb of VRAM unfortunately - simply because that's where all the testing manpower typically is.&lt;br /&gt;
&lt;br /&gt;
People wanting to change that, need to roll up their sleeves and get involved, and PLEAE provide feedback.&lt;br /&gt;
&lt;br /&gt;
'''All''' testing on, and development for, such systems would benefit FG in the long term, because hardware support/compatibility would increase over time - which would also make it possible to target other architectures, i.e. gaming hardware, Rasberry Pi and so on: [[Howto:Optimizing FlightGear for mobile devices]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And here some initial observations based on running FlightGear on an underpowered Netbook with integrated Intel GMA graphics:&lt;br /&gt;
&lt;br /&gt;
* our existing GUI truly sucks: whenever a PUI dialog is opened, the frame rate is becoming single-digit&lt;br /&gt;
* once the dialog is closed, it will spike up to ~30 fps, with the Canvas/REPL window still shown (!)&lt;br /&gt;
* hiding the PUI menubar further helps increase frame rate and improve frame spacing&lt;br /&gt;
* hiding the menubar AND closing the REPL dialog, I am getting ~45-50 fps using the minimal startup profile, frame spacing is then roughly in the 60s&lt;br /&gt;
* the navcache is a huge resource hog for people on such systems - initializinig/rebuilding the cache is taking ages (10-20+ minutes here !)&lt;br /&gt;
* it would make sense to refactor the navcache and turn it into a library, so that we can prebuild the navcache - and either do so while packaging a release, or alternatively, during installation (plenty of time there!)&lt;br /&gt;
* in addition, threading would make sense probably, when the navcache was being rebuilt, the 2nd core was idling all the time while 1 core was at 100%&lt;br /&gt;
* Canvas/RTT (FBOs) actually work here (which is a good thing for FGPanel/FGCanvas usage)&lt;br /&gt;
* there are a bunch of default options that will &amp;quot;break&amp;quot; FG for users on such systems, including a number of options that will trigger OpenGL/OSG errors early on&lt;br /&gt;
&lt;br /&gt;
Hooray is hoping to do further testing, using the system monitor and the built-in profiler - keep in mind that this still is the code that contains some pretty severe performance bugs.&lt;br /&gt;
&lt;br /&gt;
If we had more people doing this kind of testing, we could definitely identify, and hopefully eliminate, quite a few performance issues that would not be noticeable on a typical developer's machine.&lt;br /&gt;
So this could be a worthwhile thing to do, and it would help FG in the long term - i.e. even benefit power users who have 2048 MB of VRAM and 8 cores/12 gb of RAM.&lt;br /&gt;
&lt;br /&gt;
The really interesting &amp;quot;benchmark&amp;quot; here is running osgviewer and fgviewer as comparison, because what FG is doing here isn't much different functionality-wise, and it's using the same technology stack (i.e. OSG), so should provide similar performance.&lt;br /&gt;
&lt;br /&gt;
Unofortunately, we generally don't have many people who do a lot of testing, troubleshooting - or even just provide feedback via the issue tracker - it is definitely true that the Canvas GUI is much faster here, despite containing a ton MORE Nasal code, and despite being MUCH more dynamic/flexible than our existing PUI dialogs.&lt;br /&gt;
&lt;br /&gt;
It would really be awesome to find a handful of people with access to old/slow hardware interested in testing and maybe troubleshooting things - while it would be great if those people knew how to build from source, and how to use git/gitorious, I don't think that's even necessary - we can definitely provide a lot of infrastructure and advice, but most of us don't typically have access to these kinds of computers. And while some of us admittedly aren't bothered by it, it is very true that FlightGear as a whole will benefit from teasing out certain bugs/issues, no matter if those are slowing things down due to CPU/GPU or RAM/VRAM utilization.&lt;br /&gt;
&lt;br /&gt;
But we really need more people willing to do this kind of testing and who can provide feedback regularly - and start yelling once something that previously worked, stops working or is becoming unnecessarily slow - there are a bunch of issues that should have never made it into the code, but which went unnoticed for months (or even years), because it's really only power users/contributors and developers who do this kind of testing, and as I am seeing right now, certain issues are pretty well &amp;quot;masked&amp;quot; on an 8-core, 10 gb, 2gb VRAM machine obviously ...&lt;br /&gt;
&lt;br /&gt;
We've been hoping to create some kind of &amp;quot;benchmark&amp;quot; for years - and this is one of those things that would truly help FlightGear in the long term, because we'd get quantifiable data over time, so that we can easily tell how a certain startup/run-time feature behaves in correlation with how it behaved previously, i.e. compared to updated dependencies (OpenAL, PLIB, OSG) - but also changes to the C++ code in SG/FG itself.&lt;br /&gt;
&lt;br /&gt;
People are generally quick to point at Nasal and its known GC issues, but are usually not experienced enough to look behind the scenes, and the amount of existing C++ code that is doing things in a slow fashion, code that's been lurking in the source tree for years more often than not. Creating some kind of simple benchmark would help all of us, no matter the kind of hardware we have: [[FlightGear_Benchmark]].&lt;br /&gt;
&lt;br /&gt;
If you're interested in getting involved with testing FlightGear and improving compatibility for older/slow systems, please get in touch with Hooray on the forum.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=packed widths=230px heights=230px&amp;gt;&lt;br /&gt;
Fgfs 3.2 on a dual-core netbook.png|FlightGear 3.2/Canvas working on a dual-core Netbook with Intel GMA graphics showing the [[Interactive Nasal Console]] dialog&lt;br /&gt;
Comparing Native Canvas GUI Performance over PUI.png|A native [[Canvas]] window showing the new [[Aircraft Center]] dialog (good performance)&lt;br /&gt;
System-monitor-on-netbook.png|Screen shot showing a number of performance issues in a handful of FG subsystems, especially the PUI GUI&lt;br /&gt;
Pui slowness.png|The old PLIB/PUI GUI is shown here rendering a Canvas Widget with a [[MapStructure]] layer, a few users have reported that PUI is significantly slowing down the simulator&lt;br /&gt;
MapStructure self test over embedded PUI widget.png|And for comparison a native Canvas window also using the [[MapStructure]] framework,without going through PUI (better performance)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The hidden Map ==&lt;br /&gt;
[[File:FlightGear-Map-on-Android.png|right|400px]]&lt;br /&gt;
Did you know that FlightGear has an internal web server? And did you ever ask yourself the question, what does a flight simulator needs a web server for? A nice and impressive use case is a map application that has just been brought to the main menu. Click on &amp;quot;Equipment&amp;quot; and select &amp;quot;Map (opens in browser)&amp;quot;. Your web browser will pop up and show a map based on current web standards. It can display OpenStreetMap maps as a base layer as well as satelite image or roads from MapQuest. Overlays for current (real) weather like precipitation and isobares exist. The map can display FlightGear internal navigation data like airports, navaids etc. And it can display AI traffic and multiplayer aircraft, too.&lt;br /&gt;
Of course, it runs on any decent browser, but not only the one on your FlightGear computer. It is web-app-capable so you can install it to your mobile device (IOS and Android) to have a full screen map App on your tablet or phone displaying your current FlightGear status. All this at almost zero cost for the FlightGear main loop. All the rendering computations are done within your browser. The FlightGear webserver only provides the HTML and JavaScript files and transmits the internal properties over a websocket.&lt;br /&gt;
To enable the internal browser-based map, you need to enable the internal web server by adding &amp;lt;code&amp;gt;--httpd=8080&amp;lt;/code&amp;gt; to your command line.&lt;br /&gt;
Consult your mobile devices operation manual about how to add a web page as a full screen App.&lt;br /&gt;
&lt;br /&gt;
== Learning Canvas using Copy &amp;amp; Paste ==&lt;br /&gt;
Given that we still have aircraft developers who consider [[Canvas]] programming too 'inaccessible', we've started a dedicate wiki article for gathering useful Canvas snippets - early Canvas adopters are obviously invited to help grow this library of snippets over time to turn this into a useful repository for all people wanting to do Canvas development in some shape or form. For starters, here's a simple snippet creating a GUI dialog: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Screenshot !! Code !! &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Snippets-canvas-dialog.png|left|thumb|This is what the [[Nasal]]/[[Canvas]] snippet will look like once you pasted it into the [[Nasal Console]] and click &amp;quot;Execute&amp;quot;.]] || {{Note|This example uses so called method chaining, if you're not familiar with the concept, please see: [[Object_Oriented_Programming_with_Nasal#More_on_methods:_Chaining|Method Chaining]].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
# create a new window, dimensions are 320 x 160, using the dialog decoration (i.e. titlebar)&lt;br /&gt;
var window = canvas.Window.new([320,160],&amp;quot;dialog&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
# adding a canvas to the new window and setting up background colors/transparency&lt;br /&gt;
var myCanvas = window.createCanvas().set(&amp;quot;background&amp;quot;, canvas.style.getColor(&amp;quot;bg_color&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
# Using specific css colors would also be possible:&lt;br /&gt;
# myCanvas.set(&amp;quot;background&amp;quot;, &amp;quot;#ffaac0&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
# creating the top-level/root group which will contain all other elements/group&lt;br /&gt;
var root = myCanvas.createGroup();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See: [[Canvas Snippets]]&lt;br /&gt;
== Dynamic Liveries via Canvas / Proof of Concept: Exhaust dirt==&lt;br /&gt;
''by [[User:Algernon|Algernon]] ([[User talk:Algernon|talk]]) 17:09, 17 September 2014 (UTC) ''&lt;br /&gt;
&lt;br /&gt;
To document the implementation on a FlightGear aircraft from the aircraft developer's point of view, I've chosen one of my pet projects, the Eurofighter EF2000 V2.0 which will be released in early 2015.&lt;br /&gt;
The intention is to use Canvas to allow multiple textures per livery, in this case those textures being the original livery paintwork and another, alpha-transparent texture consisting of dirt streaks specifically added to the livery paintwork to match with vents, seams and other sources of grimy build-ups. The intention is to allow dynamic management of the transparency of the dirt layer according to time and exposure to various elements, maintaining compatibility with the standard livery switching method and working similarly whether Rembrandt is enabled or not. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Two-layers.jpg|The two textures concerned, the ASG paintwork and the separate alpha transparency with dirt streaks&lt;br /&gt;
Dynamic-Textures-First-Try.jpg|A first (failed) attempt to put a canvas onto a model object in place of its texture.&lt;br /&gt;
Ef2000dyn1.jpg|The EF2000 showing a dynamically-changed texture on the fuselage - at the moment, the resolution appears to be wrong and the UV coordinates seem to be being ignored.&lt;br /&gt;
File:Ef2000dyn2.jpg|Changing the dialog window size to be the same size as the texture fixed the issue - note that the fuselage sections are free of dirt (except the APU exhaust smudge, which is a special case) where as the wings and tail have integral dirt in the texture.&lt;br /&gt;
File:Ef2000dyn3.jpg|A full-screen illustration using the updated Canvas code to make the canvas independent of the window, but with the window still displaying the canvas. Here, only the base &amp;quot;clean&amp;quot; paintwork texture is added to the fuselage element.&lt;br /&gt;
File:Ef2000dyn4.jpg|After creating a canvas with the base &amp;quot;clean&amp;quot; paintwork texture, another child is added containing the dirt layer transparency. The effect is seen both in the dialog window and on the airframe.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To learn more, see [[Howto:Dynamic Liveries via Canvas]]&lt;br /&gt;
&lt;br /&gt;
== Interview with a contributor ==&lt;br /&gt;
&lt;br /&gt;
This month, the interview comes back. Hey everyone, I'm ZLSA. I've used FlightGear for a while now, but I only got into the development side recently.&lt;br /&gt;
&lt;br /&gt;
Um, I'm supposed to ask ''myself'' questions? Wait, nobody said I'd have to ask ''myself'' questions.&lt;br /&gt;
&lt;br /&gt;
'''What is your forum nickname, ZLSA?''' ZLSA.&lt;br /&gt;
&lt;br /&gt;
'''How long have you been involved with FlightGear?''' The first version I used was 1.9.1, I think. So circa 2008?&lt;br /&gt;
&lt;br /&gt;
'''What are your major interests in FlightGear?''' Well, I like 3d modeling and I'm rather good at it. Do you think I'm good at 3d modeling?&lt;br /&gt;
&lt;br /&gt;
'''I think you're pretty good at it.''' So my primary interest in FlightGear is modeling things; I modeled the [[Piper Archer CX]] exterior and interior. I also enjoy writing Nasal.&lt;br /&gt;
&lt;br /&gt;
'''What projects are you working on right now?''' Well I worked a bit on the Piper last night (just minor tweaks). Did you know that unless you use textures, the ambient color shown in FlightGear is always gray regardless of the exported ambient color? Makes cockpits look awful. Anyway, right now I'm working on a tee hangar. FlightGear doesn't seem to have any tee hangars.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing in the future?''' Finish the Piper and add more scenery objects. Having shaders on full with Rembrandt on doesn't help if the only buildings are 80-meter wide cubes.&lt;br /&gt;
&lt;br /&gt;
'''Why is it that you are interested in flight simulation or aviation in general?''' FlightGear sparked my interest in aviation when I first &amp;lt;s&amp;gt;played&amp;lt;/s&amp;gt; used it. I was just wondering what this &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; program was.&lt;br /&gt;
&lt;br /&gt;
'''Are you happy with the way the FlightGear project is going?''' In general, yes. It's come very far in the past few years. The biggest issue in my opinion is the scenery; I realize that at this point it's infeasible to redesign the scenery model to support dynamic subdivision and landclass transitions, but nothing breaks immersion more than flying over the desert until it suddenly turns into grass.&lt;br /&gt;
&lt;br /&gt;
'''What do you enjoy most about contributing to FlightGear?''' Seeing my creations used by other people.&lt;br /&gt;
&lt;br /&gt;
'''Are there any &amp;quot;hidden features&amp;quot; you have worked on in FlightGear that new users may miss?''' Nope, sorry.&lt;br /&gt;
&lt;br /&gt;
'''What advice can you give to new contributors who want to get started on their first aircraft/new feature/Nasal script?''' Well I'll start this off with an example: when I first started making aircraft (it was an abysmally-modeled aircraft with horrible proportions that I stupidly released) I had no idea what I was doing. It took me several hours to figure out that the &amp;lt;nowiki&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/nowiki&amp;gt; XML file was actually just the property tree in XML. That made things much easier for me. The same thing happened with Nasal when I realized that the name of the &amp;lt;nowiki&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/nowiki&amp;gt; parent tag was just the Nasal &amp;quot;namespace&amp;quot;. So it might seem complicated, but once you play around with things for a bit, it will make sense.&lt;br /&gt;
&lt;br /&gt;
'''Have you previously used other flight simulators or simulation software in general?''' No.&lt;br /&gt;
&lt;br /&gt;
'''How does FlightGear compare in your opinion?''' If FSX and X-Plane were both free and open-source, I'd probably choose X-Plane because of the incredible graphics. But since they're both closed and paid products (and FSX is Windows-only while I use Linux), I would (and did) choose FlightGear over the other two major contenders.&lt;br /&gt;
&lt;br /&gt;
'''What was your first impression about FlightGear?''' How the heck do you pronounce ornithopter?&lt;br /&gt;
&lt;br /&gt;
'''Compared to other flight simulation software, what are FlightGear's major benefits in your opinion?''' It's free and open source. That attracts people, some of whom will contribute back. That is a huge benefit that's often overlooked.&lt;br /&gt;
&lt;br /&gt;
'''Do you think it is necessary to know how to program in order to contribute to FlightGear?''' Of course not. It would help, but it's definitely not needed. If every 3d artist reading this contributed a high-quality (but low-poly) model to the scenery database, it would make a huge difference. Similarly, placing objects with the UFO doesn't require any programming and makes a huge difference in the quality of a single FlightGear's airport.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever used FlightGear professionally or for educational purposes?''' No and yes. While I haven't ever sat in any GA aircraft, FlightGear has helped me understand flight much better than reading and watching videos ever would.&lt;br /&gt;
&lt;br /&gt;
'''What about FlightGear as a &amp;quot;game&amp;quot;, do you think it can be used as such?''' Of course. It can also be used as a filler for your hard drive. It's whatever you want to use it for.&lt;br /&gt;
&lt;br /&gt;
'''On average, how much time do you spend working with/contributing to FlightGear?''' Probably in the hundreds of hours at this point.&lt;br /&gt;
&lt;br /&gt;
'''Which of the more recent FlightGear developments do you consider most interesting/appealing?''' Procedural textures. Rembrandt. Atmospheric light scattering/cloud shadows.&lt;br /&gt;
&lt;br /&gt;
'''Is there some feature that you'd truly like to see in FlightGear one day?''' Procedural terrain like in Outerra (not to add craters but to allow client-side scenery improvements while using the same dataset.)&lt;br /&gt;
&lt;br /&gt;
'''What do you think could be done to attract even more new users and contributors to FlightGear?''' Higher quality in general. Many users want a flight simulator that just works and looks good; currently, FlightGear is not suited to them.&lt;br /&gt;
&lt;br /&gt;
'''What about interacting with the FlightGear community? Any tips/experiences you'd like to share?''' Back up your FlightGear data directory and play around with things.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever recommended FlightGear to other users, friends/family?''' No, whenever I mention it they suddenly disappear...&lt;br /&gt;
&lt;br /&gt;
'''Is there anything else you'd like to share with us?''' No.&lt;br /&gt;
&lt;br /&gt;
'''Good day then, and thanks for agreeing to this interview.''' No problem.&lt;br /&gt;
&lt;br /&gt;
==In the Hangar==&lt;br /&gt;
&lt;br /&gt;
'''[[Airbus A300-600]]'''&lt;br /&gt;
&lt;br /&gt;
This Airbus A300-600 has been developed by Airbus330 and Toryx (Developer of the A310), using many parts of the A310. The Flightdeck was taken from the A300-600ST, but has the addition of a Cockpit Controllable Autopilot. It has a reasonably detailed exterior model, with accurate flap, speed brake, and spoiler position animations, tail surface animations and tyre smoke.  The interior now consists only of the cockpit, but that is fairly detailed except for the overhead panel. The version currently available for download from the forum or wiki has only the A300-603, but a version with the A300-600F will soon be released, (as soon as i make enough liveries).&lt;br /&gt;
Currently, the engines are always on, but i am now working on an autostart system, which will also be in the next release. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=packed widths=230px heights=230px&amp;gt;&lt;br /&gt;
File:A300F.png|A300F-coming soon!&lt;br /&gt;
File:A300-600 Flightdeck.png|The &amp;quot;Office&amp;quot;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Modelling_guidelines&amp;diff=76655</id>
		<title>Modelling guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Modelling_guidelines&amp;diff=76655"/>
		<updated>2014-09-21T21:02:05Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Modelling guidelines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Merge|Modeling - Getting Started#Improving models for best FlightGear performance}}&lt;br /&gt;
&lt;br /&gt;
When modelling an aircraft, building or any other 3D model, you are encouraged to follow the '''modelling guidelines''' outlined in this article.&lt;br /&gt;
&lt;br /&gt;
Feel free to add/modify. (''please leave a comment in the [[Talk:Modelling guidelines|talk page]] for radical modifications'').&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
*Model = the file.&lt;br /&gt;
*Object/Mesh = part of the Model file. The Model can contain several Objects.&lt;br /&gt;
*Texture = image file (.rgb, .png).&lt;br /&gt;
&lt;br /&gt;
== Modelling guidelines ==&lt;br /&gt;
*Vertices are free up to a point - use as many as you need.&lt;br /&gt;
*Many small (in vertex numbers) Objects/Meshes have a far worse negative impact on performance than a single Object/Mesh with very high vertex numbers.&lt;br /&gt;
*Combine all different parts of the Model into one single Object/Mesh, with the exception of parts that need to be animated, or of transparent parts.&lt;br /&gt;
** '''Blender''': Select some objects and press {{Key press|Ctrl|J}} to join them into one Object. The new object origin/transform/orientation/name will be based on the ones of the last object selected.&lt;br /&gt;
*Use different unique names for each of the Objects in a Model file. Even more so when the different parts need to be animated.&lt;br /&gt;
*Make all faces of the objects single sided.&lt;br /&gt;
*If you need a part of the model to be visible from both sides, duplicate it in place and flip the normals. The extra geometry overhead is negligible compared to the extra work generated by double-sided faces.&lt;br /&gt;
*Split transparent parts into their own objects.&amp;lt;!-- and place at the end of the object list --&amp;gt;&amp;lt;!-- I'm not sure this is not some kind of placebo--&amp;gt;&lt;br /&gt;
** '''Blender''': Go into Edit Mode, select the part of the object that you would like to split and press {{Key press|P}}.&lt;br /&gt;
*Assign to all transparent Objects at least the ''model-transparent'' effect:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;effect&amp;gt;&lt;br /&gt;
		&amp;lt;inherits-from&amp;gt;Effects/model-transparent&amp;lt;/inherits-from&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;Transparent-object3&amp;lt;/object-name&amp;gt;&lt;br /&gt;
		&amp;lt;object-name&amp;gt;other-Transparent-object&amp;lt;/object-name&amp;gt;&lt;br /&gt;
	&amp;lt;/effect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*The interior should be a separate Model. Having it separate enables delayed loading of such models in multiplayer/AI contexts. Such a model is specified as follows in the .xml file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;model&amp;gt;&lt;br /&gt;
			&amp;lt;usage&amp;gt;interior&amp;lt;/usage&amp;gt; &amp;lt;!--make sure to have this tag--&amp;gt;&lt;br /&gt;
			&amp;lt;path&amp;gt;Models/your-interior-model.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
		&amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your &amp;lt;model&amp;gt; require an &amp;lt;offsets&amp;gt; you must create a proxy XML like:&lt;br /&gt;
&lt;br /&gt;
your/aircraft/Models/aircraft.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;your/aircraft/Models/Interior/model-proxy.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;usage&amp;gt;interior&amp;lt;/usage&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
your/aircraft/Models/Interior/model-proxy.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;your/aircraft/Models/Interior/model.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;offsets&amp;gt;&lt;br /&gt;
      &amp;lt;x-m&amp;gt; -1.91552 &amp;lt;/x-m&amp;gt;&lt;br /&gt;
      &amp;lt;y-m&amp;gt;  0.00000 &amp;lt;/y-m&amp;gt;&lt;br /&gt;
      &amp;lt;z-m&amp;gt;  0.23706 &amp;lt;/z-m&amp;gt;&lt;br /&gt;
      &amp;lt;roll-deg&amp;gt;    40.0 &amp;lt;/roll-deg&amp;gt;&lt;br /&gt;
      &amp;lt;pitch-deg&amp;gt;   35.0 &amp;lt;/pitch-deg&amp;gt;&lt;br /&gt;
      &amp;lt;heading-deg&amp;gt; 60.0 &amp;lt;/heading-deg&amp;gt;&lt;br /&gt;
    &amp;lt;/offsets&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Texturing guidelines ==&lt;br /&gt;
*Combine as many parts of a single Model to a single texture as you can - the maximum texture size is 4096 x 4096 pixels.&lt;br /&gt;
*Do not assign multiple textures to the same Object/Mesh. The Object will be split so as to have a single texture/Mesh.&lt;br /&gt;
*Do not use different parts of a single texture for different models. Split the texture into smaller parts then.&lt;br /&gt;
*If using the same texture on multiple models, use a single file, do not make different copies.&lt;br /&gt;
*Prefer texture replacing animations to textranslate for models that spend large amounts of their time in one state (day/night animations).&lt;br /&gt;
*Avoid transparency like the plague, it kills frame rate like nothing else: remove the alpha channel from textures if they are non-transparent.&lt;br /&gt;
** '''GIMP''': Go to &amp;lt;tt&amp;gt;Layers &amp;gt; Transparency &amp;gt; Remove alpha layer&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** '''Inkscape''': Go to &amp;lt;tt&amp;gt;File &amp;gt; Document Properties&amp;lt;/tt&amp;gt; and set the &amp;quot;Background&amp;quot; to a non transparent colour (preferably black).&lt;br /&gt;
*Hive off transparent parts of textures into their own textures.&lt;br /&gt;
*Use power of two dimensions for textures (2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;, e.g. 256x256, 512x1024). Do not worry if your image would get stretched in the texture, you can fix that with the mapping on the model.&lt;br /&gt;
*Do not have textures with the image in one corner and the rest unused.&lt;br /&gt;
*Recommended texture format is: '''.png'''. In general any texture format supported by OSG could be used, but be aware of varying cross-platform support for such formats, or of lossy compression.&lt;br /&gt;
&amp;lt;!--== Animation guidelines ==&lt;br /&gt;
*Keep the number of range animations to a minimum. Load the instruments in a submodel XML file, to avoid having one for each instrument. Testing one range animation is cheaper than 47.--&amp;gt; &amp;lt;!--commented out for now--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Modeling]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Switching_default_texture_format_to_DDS&amp;diff=76464</id>
		<title>Switching default texture format to DDS</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Switching_default_texture_format_to_DDS&amp;diff=76464"/>
		<updated>2014-09-17T22:39:52Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* NVIDIA proprietary driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The FG development team is considering to '''switch the default format for textures from png to DDS'''. This would offer a number of significant advantages:&lt;br /&gt;
&lt;br /&gt;
* DDS is a more compact format than png, hence the download size of the FG base package may be decreased&lt;br /&gt;
* Compressed DDS can be directly used by many graphics cards, reducing also GPU memory consumption&lt;br /&gt;
* DDS stores all texture resolution levels, in essence no lower resolution levels have to be generated when the texture is used, hence it loads much faster into memory&lt;br /&gt;
* The resolution levels ('mipmaps') can be customized, allowing for some interesting effects at no performance cost&lt;br /&gt;
&lt;br /&gt;
Practically all commercial simulations use DDS for these reasons. &lt;br /&gt;
&lt;br /&gt;
== Feedback needed - should FlightGear switch the defaults to DDS format for terrain texturing? ==&lt;br /&gt;
However, the DDS compression algorithm is patented, which means that it is not readily available for open source graphics drivers used by Linux distributions. Dependent on the specific hardware, this may or may not be a problem (modern graphics cards typically do not need the driver to process DDS, for older graphics cards there are non-patented workarounds available which decompress the DDS on the software level). The development team is concerned about making the FlightGear experience pleasant for all users, hence we would like to gather feedback how many users would be affected by a change in practice.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |let's collect some some feedback [on DDS usage in FlightGear] until late November and restart this topic. We probably know by then what we do for the next release. &amp;quot;Somebody&amp;quot; needs to collect the feedback, however.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32791750/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-03&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If there are no problems reported, FG will change defaults to textures in DDS format with the 3.4 release, and then phase out the use of png textures.&lt;br /&gt;
In other words, a lack of feedback from end users might very well mean that future FlightGear versions may require DDS support and may not necessarily work for people with outdated hardware - so if you care about backward compatibility, please do get involved, test DDS support and provide feedback!&lt;br /&gt;
&lt;br /&gt;
=== What we need you to do? ===&lt;br /&gt;
FlightGear already provides the simple option to test a DDS texture set. If you are running on Linux and use an open source graphics driver, please take 5 minutes to help during your next FG session:&lt;br /&gt;
&lt;br /&gt;
# Open the dialog under View -&amp;gt; Rendering&lt;br /&gt;
# Under 'Terrain texture scheme', change the default 'Region-specific' to 'Global alternative (DDS format)' &lt;br /&gt;
# Press 'Okay' - FG will reload the terrain&lt;br /&gt;
# Do you see proper textures on the terrain (they may look different and may also not fit the location perfectly)? If yes, you're fine. If you see monochromatic, or even bright/pink, colors or other rendering artifacts, your system may have problems with DDS.&lt;br /&gt;
# Change back to the texture scheme you like best&lt;br /&gt;
# Enter your experiences in the list below&lt;br /&gt;
&lt;br /&gt;
Thanks for your help!&lt;br /&gt;
&lt;br /&gt;
== Tested hardware and graphics drivers ==&lt;br /&gt;
=== NVIDIA proprietary driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 670M&lt;br /&gt;
|310.19&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|ThorstenR&lt;br /&gt;
|-&lt;br /&gt;
|N13M-NS Optimus &lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Tom_ch&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 640 &lt;br /&gt;
|343.13&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|lumni1968&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 780 Ti&lt;br /&gt;
|340.52&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Avionyx&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 750M&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Dutchguy&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 620 OEM&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|C-GGKV&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 650&lt;br /&gt;
|331.20&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|dany93&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 210&lt;br /&gt;
|304.117&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Jean-Philippe&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 520&lt;br /&gt;
|332.21&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|cossack90&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 260&lt;br /&gt;
|304.117&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Lann&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTS 250&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Madbyte&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTS 450&lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|chris_blues&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 8600 GT&lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|szpajder&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 460 SE&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|f-jjth&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 560 Ti&lt;br /&gt;
|319.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|PATTEN&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 8600 GT&lt;br /&gt;
|304.117&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|attila&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 750 ti&lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|f-toro&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 650M &lt;br /&gt;
|Apple OS 10.9.4&lt;br /&gt;
|{{No}}&lt;br /&gt;
|dersh&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 9800GTX&lt;br /&gt;
|304.117&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|ctec356&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 220&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|D-ABEK&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 760M&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|f-ojac&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 560&lt;br /&gt;
|319.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|[http://fr.flightgear.org/forums/viewtopic.php?pid=28721#p28721 Clm76]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA open source driver (Nouveau)===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 630&lt;br /&gt;
|&lt;br /&gt;
|{{no}}&lt;br /&gt;
|[https://plus.google.com/111978238381658236898/posts/VYSusMLRiH2 Jakub Klawiter]&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 220&lt;br /&gt;
|&lt;br /&gt;
|{{no}}&lt;br /&gt;
|D-ABEK&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Intel proprietary driver ===&lt;br /&gt;
&lt;br /&gt;
=== Intel open source driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!libtxc_dxtn installed?&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics 3000 (i7-2600K)&lt;br /&gt;
|10.2.6&lt;br /&gt;
|{{n/a}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|cdesai&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics 3000 (i3-2330M)&lt;br /&gt;
|10.2.2&lt;br /&gt;
|{{n/a}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Flyhigh/saiarcot895&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics Sandy Bridge (Pentium B980)&lt;br /&gt;
|10.1.0&lt;br /&gt;
|{{no}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|f-jjth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ATI/AMD proprietary driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|ATI Radeon HD 6310&lt;br /&gt;
|14.6-1&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|ZLSA&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 200 Series&lt;br /&gt;
|14.4&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Richi&lt;br /&gt;
|-&lt;br /&gt;
|Radeon HD 4850/4870&lt;br /&gt;
|legacy 8.97.100.7-4&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Jano&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ATI/AMD open source driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!libtxc_dxtn installed?&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon HD 6570&lt;br /&gt;
|10.1.3&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|fgjosh&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon HD 6770&lt;br /&gt;
|10.2.5&lt;br /&gt;
|{{no}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|Mongrol&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon HD 7950&lt;br /&gt;
|10.2.1&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Saga&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 270X&lt;br /&gt;
|10.3~git20140805&lt;br /&gt;
|{{no}}&lt;br /&gt;
|{{no}}&lt;br /&gt;
|nine&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 270X&lt;br /&gt;
|10.3~git20140805&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|nine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sample test ==&lt;br /&gt;
=== DDS Test at the airport of Orio (Bergamo - Italy) ===&lt;br /&gt;
[[File:Terrain texture scheme DDS 01-2000.jpg|800px|thumb|Comparison of texture in relation to the three possible choices in &amp;quot;Rendering Options&amp;quot; -&amp;gt; &amp;quot;Terrain texture scheme&amp;quot;]]The final result, with all the &amp;quot;Shader Options&amp;quot; active, is not very satisfactory, I would say very poor. Apparently not check on any improvement in the speed of image loading. I think on modern machines with quad-core processors 16 GB, with latest graphics cards (NVIDIA 870) 6 GB, the loading of these images is not really a &amp;quot;bottleneck&amp;quot;. I propose to insert the DDS functionality, but in a transparent way, ie convert &amp;quot;on the fly&amp;quot; the images before inserting them into the temporary memory, for example using the convert function of ImageMagick. However, I do not know if it really is a useful feature, I think there are many other things to do before this.&amp;lt;BR&amp;gt;These are the parameters used by the startup script &amp;quot;run_fgrun.sh&amp;quot;:&lt;br /&gt;
{{Note|To reproduce this test, you can use the following [[Fgfsrc]] file - you should set up [[$FG_ROOT]] and [[$FG_SCENERY]] specifically for your own system though.}}&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  --airport=LIME&lt;br /&gt;
  --aircraft=757-200-PW2040&lt;br /&gt;
  --disable-random-objects&lt;br /&gt;
  --enable-horizon-effect&lt;br /&gt;
  --enable-enhanced-lighting&lt;br /&gt;
  --enable-distance-attenuation&lt;br /&gt;
  --enable-ai-models&lt;br /&gt;
  --disable-ai-traffic&lt;br /&gt;
  --disable-real-weather-fetch&lt;br /&gt;
  --enable-clouds3d&lt;br /&gt;
  --bpp=32&lt;br /&gt;
  --texture-filtering=16&lt;br /&gt;
  --prop:/sim/rendering/multi-sample-buffers=1&lt;br /&gt;
  --prop:/sim/rendering/multi-samples=4&lt;br /&gt;
  --timeofday=noon&lt;br /&gt;
  --enable-terrasync&lt;br /&gt;
  --httpd=5500&lt;br /&gt;
  --props=5501&lt;br /&gt;
  --jpg-httpd=5502&lt;br /&gt;
  --multiplay=out,10,,0&lt;br /&gt;
  --multiplay=in,10,,0&lt;br /&gt;
  --disable-fgcom&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Excerpts from the ongoing discussion ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Here is my suggestion how to proceed:&lt;br /&gt;
&lt;br /&gt;
* Let's do your 1) and 2) on as many information channels we have.&lt;br /&gt;
* Collect the responses on a public place, I'd suggest a wiki page&lt;br /&gt;
* Do this for a well defined time frame. Is three month too much/too short?&lt;br /&gt;
* If we have the impression, it's safe to switch to DDS, define the dds texture sets as default, keeping the png sets as a fallback and publish how to use this fallback&lt;br /&gt;
* Keep this for one release.&lt;br /&gt;
* Depending on the feedback we get, keep it that way or move entirely to DDS.&lt;br /&gt;
&lt;br /&gt;
Does that sound reasonable for everybody?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32788459/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'd propose [...] this process:&lt;br /&gt;
# Get out the information first that one can change materials files, where to do it and what the characteristics of the different sets are.&lt;br /&gt;
# Ask users (especially those running with ATI or Intel on Linux) nicely to do a quick check whether dds works fine.&lt;br /&gt;
&lt;br /&gt;
I think we have an information management problem in relation to the user base - a frequent forum situation is that a user requests something that's already there, but the information is just not out. So if we even envision such a change, I would start spreading the relevant information basically yesterday.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787957/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== DDS Debate in 2012 ==&lt;br /&gt;
=== Legalities ===&lt;br /&gt;
{{See also|Talk:Switching default texture format to DDS#Using patented algorithms}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |These kind of precompressed images limits their usage to a specific set of &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers. And no, due to the patent issues no open source code including ours &amp;lt;br/&amp;gt;&lt;br /&gt;
is allowed to implement compression/decompression code for these image &amp;lt;br/&amp;gt;&lt;br /&gt;
formats. Even if this is easy implementation wise.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |t is technically incorrect to provide these s3 patent &amp;lt;br/&amp;gt;&lt;br /&gt;
precompressed textures to a driver that does not announce the apropriate &amp;lt;br/&amp;gt;&lt;br /&gt;
extension and since we are not allowed to code something that deompresses &amp;lt;br/&amp;gt;&lt;br /&gt;
this, I think we should avoid using this compression for all the provided &amp;lt;br/&amp;gt;&lt;br /&gt;
models/textures.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I think of a warning that is issued from the image loader in flightgear that &amp;lt;br/&amp;gt;&lt;br /&gt;
detects when these precompressed textures are seen. So even people using &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers that just offer this extension have a chance to see that the provided &amp;lt;br/&amp;gt;&lt;br /&gt;
textures will not work for others.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28612879/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Portability Concerns  ===&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |These kind of precompressed images limits their usage to a specific set of &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers. And no, due to the patent issues no open source code including ours &amp;lt;br/&amp;gt;&lt;br /&gt;
is allowed to implement compression/decompression code for these image &amp;lt;br/&amp;gt;&lt;br /&gt;
formats. Even if this is easy implementation wise.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |And this is what I try to do now:&amp;lt;br/&amp;gt;&lt;br /&gt;
Object against using these patented compression algorithms.&amp;lt;br/&amp;gt;&lt;br /&gt;
I do not care for the on disk format of any image file we have. But the problem &amp;lt;br/&amp;gt;&lt;br /&gt;
is that some kind of precompression that can be stored in these dds files &amp;lt;br/&amp;gt;&lt;br /&gt;
cannot be used with other drivers than the closed ati and nvidia ones.&amp;lt;br/&amp;gt;&lt;br /&gt;
As long as these patented compression techiques are not used, every OpenGL &amp;lt;br/&amp;gt;&lt;br /&gt;
driver can use this and displays this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Think: Intel has the hugest marketshare in graphics today. If I remember &amp;lt;br/&amp;gt;&lt;br /&gt;
right, they sell more than ati and nvidia together (*). This kind of change in &amp;lt;br/&amp;gt;&lt;br /&gt;
effect rules out the majority of users as intel cannot work with these files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |It's not limited to dds. If you use osgconv xxx.dds xxx.ivs you will probably &amp;lt;br/&amp;gt;&lt;br /&gt;
have the same effect. So I think simply ommitting DDS is ok?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, much more important, the comment is not about 'your video driver'. It is &amp;lt;br/&amp;gt;&lt;br /&gt;
in your (Vivian) case even wrong. Your driver will display this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
So, in the end I do not care if it is 'your particular video driver' that does &amp;lt;br/&amp;gt;&lt;br /&gt;
not like this. You will just see this in the best case as the models look &amp;lt;br/&amp;gt;&lt;br /&gt;
wrong, and in the worst case fgfs just crashes the driver if these textures &amp;lt;br/&amp;gt;&lt;br /&gt;
are used.&amp;lt;br/&amp;gt;&lt;br /&gt;
What I really care about is that these files are expected not to work on a huge &amp;lt;br/&amp;gt;&lt;br /&gt;
amount of graphics boards out there. The point is to tell people doing &amp;lt;br/&amp;gt;&lt;br /&gt;
textures that they should omit compression so that this message disapears.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I would like to have a flightgear that is by default just running on every &amp;lt;br/&amp;gt;&lt;br /&gt;
average system. Having this run faster on a special configured system with some &amp;lt;br/&amp;gt;&lt;br /&gt;
better configuration options and hand tuned hardware and drivers is very fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
But without tuning it must at least work in an acceptable way.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I have checked in a change to flightgear to make the use of the compressed &amp;lt;br/&amp;gt;&lt;br /&gt;
internal formats a starttime configuration option.&amp;lt;br/&amp;gt;&lt;br /&gt;
I am still interrested if we have that hangs also with texture compression &amp;lt;br/&amp;gt;&lt;br /&gt;
disabled and without providing precompressed dds textures?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28602775/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |this is the reason for the message. If your machine would refuse to display this you, &amp;lt;br/&amp;gt;&lt;br /&gt;
developing that, would probably just say 'nice try, but it does not work' &amp;lt;br/&amp;gt;&lt;br /&gt;
before you check in something. In the case it displays fine, you probably say &amp;lt;br/&amp;gt;&lt;br /&gt;
'it works here, so I assume it works also for others, lets do'.&amp;lt;br/&amp;gt;&lt;br /&gt;
And the message tells you, 'despite of just seeing this working on this &amp;lt;br/&amp;gt;&lt;br /&gt;
current machine, it does not work for others'.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Seriously, I think plenty people not being on this list today and probably &amp;lt;br/&amp;gt;&lt;br /&gt;
never will be in touch with anybody here, will run into this issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
People here are those few guys from the power users that want to develop this &amp;lt;br/&amp;gt;&lt;br /&gt;
stuff.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I am not going to discuss the patent stuff. Please search the mesa-dev archives &amp;lt;br/&amp;gt;&lt;br /&gt;
for the discussion and see there why they think that the nvidia tools and &amp;lt;br/&amp;gt;&lt;br /&gt;
other stuff out there cannot be used. Really - it is not that the code for that &amp;lt;br/&amp;gt;&lt;br /&gt;
is too dificult or unavailable. I am not a lawyer and I cannot change this &amp;lt;br/&amp;gt;&lt;br /&gt;
world - even if I would like to in this regard.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I agree that techically for drivers/gpus supporting these compression formats &amp;lt;br/&amp;gt;&lt;br /&gt;
it would be best to use these precompressed files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Seriously, I think plenty people not being on this list today and probably &amp;lt;br/&amp;gt;&lt;br /&gt;
never will be in touch with anybody here, will run into this issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
People here are those few guys from the power users that want to develop this &amp;lt;br/&amp;gt;&lt;br /&gt;
stuff.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Your driver will display this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
So, in the end I do not care if it is 'your particular video driver' that does &amp;lt;br/&amp;gt;&lt;br /&gt;
not like this. You will just see this in the best case as the models look &amp;lt;br/&amp;gt;&lt;br /&gt;
wrong, and in the worst case fgfs just crashes the driver if these textures &amp;lt;br/&amp;gt;&lt;br /&gt;
are used.&amp;lt;br/&amp;gt;&lt;br /&gt;
What I really care about is that these files are expected not to work on a huge &amp;lt;br/&amp;gt;&lt;br /&gt;
amount of graphics boards out there. The point is to tell people doing &amp;lt;br/&amp;gt;&lt;br /&gt;
textures that they should omit compression so that this message disapears.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Approaches ===&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Well, the default f16 does not work anymore for example.&amp;lt;br/&amp;gt;&lt;br /&gt;
I have also never tried the new textures, but I assume that these also contain &amp;lt;br/&amp;gt;&lt;br /&gt;
precompressed data? Also you claimed that the old texture files start to bitrot &amp;lt;br/&amp;gt;&lt;br /&gt;
comared to the new ones which makes me think that the new standard should be &amp;lt;br/&amp;gt;&lt;br /&gt;
the dds files. This together makes me think that the dds files should replace &amp;lt;br/&amp;gt;&lt;br /&gt;
the traditional image files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Hmm, regarding dds.&amp;lt;br/&amp;gt;&lt;br /&gt;
I have to say, that not all OpenGL drivers support texture compression, and &amp;lt;br/&amp;gt;&lt;br /&gt;
the models with dds files, are those that I cannot display, because of that.&amp;lt;br/&amp;gt;&lt;br /&gt;
And in fact this will not happen to the open source drivers before something &amp;lt;br/&amp;gt;&lt;br /&gt;
about 2020 because of patent issues.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Sorry to step in this so late - probably way too late - but is there a reason &amp;lt;br/&amp;gt;&lt;br /&gt;
that the on disk format must be compressed?&amp;lt;br/&amp;gt;&lt;br /&gt;
The previous strategy to have on disk an format that everybody can read and to &amp;lt;br/&amp;gt;&lt;br /&gt;
make the driver compress them as needed/possible is better I think?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So, for me the f16 lost its livery lately - where I can live with this for the &amp;lt;br/&amp;gt;&lt;br /&gt;
f16, I hope that this does not happen to flightgear as a whole ...&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28594472/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Well, I hope that we can get rid of the compression.&amp;lt;br/&amp;gt;&lt;br /&gt;
Can somebody with the apropriate tools convert the compressed textures to non &amp;lt;br/&amp;gt;&lt;br /&gt;
compressed ones? That could still be dds, but dds without these compressions &amp;lt;br/&amp;gt;&lt;br /&gt;
that produce the warning. So no problem with cubemaps in dds as long as the &amp;lt;br/&amp;gt;&lt;br /&gt;
compression is not there.&amp;lt;br/&amp;gt;&lt;br /&gt;
Then *everybody* is again able to use this stuff.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678109/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I can see several approaches:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Just do not use the patented compression stuff. The precomputed mipmaps could &amp;lt;br/&amp;gt;&lt;br /&gt;
probably do the job of avoiding the hangs (hopefully? to be checked?). May be &amp;lt;br/&amp;gt;&lt;br /&gt;
we could lower disk space usage by providing a dds.gz or similar wrapper?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* If it's just the mipmaps. May be we can precompute the mipmaps using the cpu &amp;lt;br/&amp;gt;&lt;br /&gt;
in the database loader thread. This would help all textures not only the ones &amp;lt;br/&amp;gt;&lt;br /&gt;
that could be converted. May be this is the most generic solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Implement some kind of image lookup order that knows if the compressed files &amp;lt;br/&amp;gt;&lt;br /&gt;
could be handled or not. On loading an image in case of available compression &amp;lt;br/&amp;gt;&lt;br /&gt;
first try to find a dds file with the same name of the original one. That &amp;lt;br/&amp;gt;&lt;br /&gt;
involves some 'magic' which often leads to problems but that could at least &amp;lt;br/&amp;gt;&lt;br /&gt;
work.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606576/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&lt;br /&gt;
	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Next step is to make sure that compression is not required to avoid the hangs.&amp;lt;br/&amp;gt;&lt;br /&gt;
My favorite bet would be that then the new configure option regarding texture &amp;lt;br/&amp;gt;&lt;br /&gt;
compression needs to be set to none.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606576/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&lt;br /&gt;
	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Precomputed mipmaps  ===&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Could we do dds files without compression but with precomputed mipmaps?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So at next, can you try out which combination of compression/provided &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmaps/forced simgear compression still work fine?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28603114/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The 4. Method that I can imagine is to precompute the mipmaps in the loader.&amp;lt;br/&amp;gt;&lt;br /&gt;
IIRC tests with some of the guys suffering from this problem, providing &amp;lt;br/&amp;gt;&lt;br /&gt;
premipmapped but uncompressed dds files had helped to get a fluent viewer.&amp;lt;br/&amp;gt;&lt;br /&gt;
The argument against providing these dds files in general was that these files &amp;lt;br/&amp;gt;&lt;br /&gt;
are really huge because of not including any compression and having all the &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmaps.&amp;lt;br/&amp;gt;&lt;br /&gt;
But that means we could at the point where the warning happens compute the &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmap levels on the cpu in the loader thread. osg::gluScaleImage could be &amp;lt;br/&amp;gt;&lt;br /&gt;
used to do this I think (or something similar not requireing a context). This &amp;lt;br/&amp;gt;&lt;br /&gt;
one is an imported version of the original glu function that is included in &amp;lt;br/&amp;gt;&lt;br /&gt;
osg for running on an EGL stack which no longer provides GLU.&amp;lt;br/&amp;gt;&lt;br /&gt;
That is take the image scale this to the 1st mipmap, take the 1.st mipmap and &amp;lt;br/&amp;gt;&lt;br /&gt;
scale this to the 2. mipmap and so forth.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
This would have the advantage that the png's do not deviate from the dds files &amp;lt;br/&amp;gt;&lt;br /&gt;
over time.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/29571679/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS usage in effects files&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-07-21&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I think then, computing mipmaps for any texture file on the CPU in the loader &amp;lt;br/&amp;gt;&lt;br /&gt;
thread should globally improove the situation.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also avoiding the compression already in the files should help every use case. &amp;lt;br/&amp;gt;&lt;br /&gt;
Except that the on disk memory consumption is higher.&amp;lt;br/&amp;gt;&lt;br /&gt;
Well and except that the database loader has more work to do on the CPU.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28612897/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Doing that differently will provide some overhead that could be kept at a &amp;lt;br/&amp;gt;&lt;br /&gt;
minimum I think:&amp;lt;br/&amp;gt;&lt;br /&gt;
For the disk usage, I think gzip compressing these will work sufficiently fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Ram usage of the images should not hurt too much. Sure the images are bigger &amp;lt;br/&amp;gt;&lt;br /&gt;
in memory. But fgfs is not just about images - far from that.&amp;lt;br/&amp;gt;&lt;br /&gt;
On the GPU, you can still use compression for the textures as the internal &amp;lt;br/&amp;gt;&lt;br /&gt;
format. This is what flightgear tries to do if the extension is supported &amp;lt;br/&amp;gt;&lt;br /&gt;
(checked by osg).&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The major point is that there are several ways that use slightly more &amp;lt;br/&amp;gt;&lt;br /&gt;
resources to get around this problem.&amp;lt;br/&amp;gt;&lt;br /&gt;
But once the patented compression is on disk, there is *no* way back for &amp;lt;br/&amp;gt;&lt;br /&gt;
people not having this feature.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If you have better ideas that do not rule out intel and the oss drivers, you &amp;lt;br/&amp;gt;&lt;br /&gt;
are welcome!&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |On unix I usually get the gzip plugin installed by osg (osgdb_gz.so). Is this &amp;lt;br/&amp;gt;&lt;br /&gt;
also the case for the default win32 case? Is there a osgdb_gz.dll or something &amp;lt;br/&amp;gt;&lt;br /&gt;
along the lines in the directory containing the plugins?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If yes, we can already tackle the size problem of the uncompressed dds files on &amp;lt;br/&amp;gt;&lt;br /&gt;
disk by just gzip compressing these makging a xxx.dds.gz from a xxx.dds and &amp;lt;br/&amp;gt;&lt;br /&gt;
just refering to xxx.dds.gz instead of xxx.dds. At least this works fine here. &amp;lt;br/&amp;gt;&lt;br /&gt;
And I assume that this works fine for all unix like operating systems including &amp;lt;br/&amp;gt;&lt;br /&gt;
mac?!&amp;lt;br/&amp;gt;&lt;br /&gt;
James?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |What about solution 6 with (uncompressed premipmapped dds).gz?&amp;lt;br/&amp;gt;&lt;br /&gt;
On linux this should work as long as you have zlib installed which could be &amp;lt;br/&amp;gt;&lt;br /&gt;
regarded as a system library there.&amp;lt;br/&amp;gt;&lt;br /&gt;
Can we rely on zlib being compield into our osg distributions on win32? We do &amp;lt;br/&amp;gt;&lt;br /&gt;
need zlib in any case, it's mostly about teaching osg that it finds our zlib on &amp;lt;br/&amp;gt;&lt;br /&gt;
configure and build the gz plugin.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/29571819/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS usage in effects files&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-07-21&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I implemented a mipmap control and generation tool in effects when I last updated&amp;lt;br/&amp;gt;&lt;br /&gt;
the urban shader. For the moment, it relies on hardware when the average operator &amp;lt;br/&amp;gt;&lt;br /&gt;
is used for all texture channels but it could easily be modified to compute &amp;lt;br/&amp;gt;&lt;br /&gt;
all mipmap on the CPU. look the &amp;lt;mipmap-control&amp;gt; effect option and &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmap.[ch]xx in SG material lib&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606692/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees&lt;br /&gt;
	&amp;amp;	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Frederic Bouvier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |As has been previously pointed out, the current DDS texture set is not&amp;lt;br/&amp;gt;&lt;br /&gt;
simply the global png texture set converted.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
For our own sanity and those of the users, we need to ensure that there's&amp;lt;br/&amp;gt;&lt;br /&gt;
an apples-to-apples comparison being made when we change the default.  I&amp;lt;br/&amp;gt;&lt;br /&gt;
therefore think we need to create a DDS version of the current default&amp;lt;br/&amp;gt;&lt;br /&gt;
texture set.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |2)  If we go down this path, we probably want to separate the underlying&amp;lt;br/&amp;gt;&lt;br /&gt;
texture format from the materials.xml definition entirely. For example, we&amp;lt;br/&amp;gt;&lt;br /&gt;
could simply remove the extention from the materials definition, and have&amp;lt;br/&amp;gt;&lt;br /&gt;
the C++ code append the appropriate extension based on a separate property.&amp;lt;br/&amp;gt;&lt;br /&gt;
This has a couple of advantages:&amp;lt;br/&amp;gt;&lt;br /&gt;
a) Makes testing easier and materials definitions less error-prone.&amp;lt;br/&amp;gt;&lt;br /&gt;
Assuming we have some batch job in place to generate dds textures, those&amp;lt;br/&amp;gt;&lt;br /&gt;
working on materials definitions could continue to work with png textures,&amp;lt;br/&amp;gt;&lt;br /&gt;
and only convert to dds as a final step (or indeed as part of the &amp;quot;make&amp;lt;br/&amp;gt;&lt;br /&gt;
release&amp;quot; jobs).&amp;lt;br/&amp;gt;&lt;br /&gt;
a) Avoids duplication of materials definitions.  Having just spent quite a&amp;lt;br/&amp;gt;&lt;br /&gt;
bit of time making the materials definitions more efficient, I'd like to&amp;lt;br/&amp;gt;&lt;br /&gt;
avoid making it worse again!&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I'm quite happy to do the C++ coding required for this in the materials&amp;lt;br/&amp;gt;&lt;br /&gt;
loader - it's probably pretty straightforward.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |That does leave the issue of what happens to the existing dds texture&amp;lt;br/&amp;gt;&lt;br /&gt;
definitions where there are special mipmap layers.  I'd suggest that we&amp;lt;br/&amp;gt;&lt;br /&gt;
have some Clever Script (tm) that is able to work out whether the DDS or&amp;lt;br/&amp;gt;&lt;br /&gt;
PNG version of a texture is the master, and then generate the other version&amp;lt;br/&amp;gt;&lt;br /&gt;
from it.  I admit that the PNG conversion of the DDS will lose some&amp;lt;br/&amp;gt;&lt;br /&gt;
information in this process, but it would allow those without DDS support&amp;lt;br/&amp;gt;&lt;br /&gt;
to at least use the textures.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |3) We need a sensible process for dealing with aircraft, which has been&amp;lt;br/&amp;gt;&lt;br /&gt;
identified as a significant issue.  Again, I think more aircraft developers&amp;lt;br/&amp;gt;&lt;br /&gt;
find .png easier to deal with, and there are a lot of aircraft out there&amp;lt;br/&amp;gt;&lt;br /&gt;
that would need conversion.  It feels like we need some build scripts to&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;compile&amp;quot; aircraft to use DDS textures.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A more far-fetched idea might be to have a cache of dds textures that are&amp;lt;br/&amp;gt;&lt;br /&gt;
generated on-the-fly, or when aircraft are loaded by the aircraft center.&amp;lt;br/&amp;gt;&lt;br /&gt;
Clearly that impacts initial load time the first time a new aircraft is&amp;lt;br/&amp;gt;&lt;br /&gt;
loaded, and would increase the size of .fgfs/ directories massively, but it&amp;lt;br/&amp;gt;&lt;br /&gt;
would remove the need for any work by aircraft/scenery developers and could&amp;lt;br/&amp;gt;&lt;br /&gt;
be made optional.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Challenges ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |&amp;quot;dds on an open source driver (radeon and intel) I was forced to use radeon at some time, and it was fun, the planes were pink :) once libtxc-dxtn installed, dds were loaded fine again, so it can be used on open source if you are ok to use the lib.&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Unless there's some way to make sure Linux users have that lib installed automatically, I'd say that's a no. We can't have a random user guess what additional packages to install. And maybe someone can educate me - googling the lib, this appears to be working for mesa - which usually is what we try to avoid if users do 3d rendering via mesa for performance reasons?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, what does 'If you are okay to use the lib' mean precisely? If that's some piece of code which circumvents a patented thing and isn't exactly legal and needs to be obtained from special servers outside the normal repo (sort of like the DVD decryption under Linux), then I doubt that's an option. Can anyone clarify?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32786414/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Another potential option would be to convert regions to .dds but keep &amp;lt;br/&amp;gt;&lt;br /&gt;
both global-png and global-dds, but making that user-friendly would &amp;lt;br/&amp;gt;&lt;br /&gt;
require a way to automatically detect lack of .dds support.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787117/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |On my system (Intel Ivybridge), DDS works with or without libtxc, but &amp;lt;br/&amp;gt;&lt;br /&gt;
this may not be true of all Intel hardware.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787117/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |You can specify the dependency on libtxc_dxtn, but then distributions like &amp;lt;br/&amp;gt;&lt;br /&gt;
openSUSE cannot ship FlightGear anymore. libtxc_dxtn implements S3 texture &amp;lt;br/&amp;gt;&lt;br /&gt;
compression which is patented in many parts of the world. Linux distributions &amp;lt;br/&amp;gt;&lt;br /&gt;
therefore cannot ship it. You can easily find it in add-on repositories, but &amp;lt;br/&amp;gt;&lt;br /&gt;
as I said, distributions would not be able to include FlightGear creating a &amp;lt;br/&amp;gt;&lt;br /&gt;
huge hurdle to installation for users.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787143/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
	and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stefan Seifert&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Debian/Ubuntu's libtxc is libtxc-dxtn-s2tc, which claims to avoid the &amp;lt;br/&amp;gt;&lt;br /&gt;
patent at a small cost in visual quality: &amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/divVerent/s2tc/wiki/libtxc_dxtn&amp;lt;br/&amp;gt;&lt;br /&gt;
That site also states that modern hardware doesn't need this software &amp;lt;br/&amp;gt;&lt;br /&gt;
fallback anyway (and hence won't hit either this quality loss or the &amp;lt;br/&amp;gt;&lt;br /&gt;
slowness of any software decoder), but doesn't define &amp;quot;modern hardware&amp;quot;.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787296/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The dds textures seem to have some advantages over our png textures and &amp;lt;br/&amp;gt;&lt;br /&gt;
using them is tempting.&amp;lt;br/&amp;gt;&lt;br /&gt;
But the points from Thorsten R. are good points and if there is any &amp;lt;br/&amp;gt;&lt;br /&gt;
chance to have a step-wise transition to the new format, I'd prefer that &amp;lt;br/&amp;gt;&lt;br /&gt;
path.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Don't we have an alternate dds texture set already in fgdata that is &amp;lt;br/&amp;gt;&lt;br /&gt;
enabled with an option? What about making this the default, keeping the &amp;lt;br/&amp;gt;&lt;br /&gt;
png texture set as an alternate. That would get us reports from users &amp;lt;br/&amp;gt;&lt;br /&gt;
unable to run dds textures and provide an easy fallback method.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787378/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |We currently have regions-png, global-png and global-dds; as I noted &amp;lt;br/&amp;gt;&lt;br /&gt;
earlier, switching to regions-dds, global-png and global-dds has the &amp;lt;br/&amp;gt;&lt;br /&gt;
issue that while changing the texture set is easy (dropdown in View &amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Rendering Options), knowing that one needs to do so may not be.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787717/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Can we invert the logic in, say, preferences.xml so xxx-dds is enabled &amp;lt;br/&amp;gt;&lt;br /&gt;
by default and switching to xxx-png has to be done in rendering options?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Torsten&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787787/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Changing the default (which is in preferences.xml) is easy: the problem &amp;lt;br/&amp;gt;&lt;br /&gt;
is how do users with non-.dds-supporting hardware (if this exists) know &amp;lt;br/&amp;gt;&lt;br /&gt;
they need to change back.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787851/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conversion ==&lt;br /&gt;
Also see [[DDS texture conversion]].&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |the script take the .dds and not convert the png again if both exist(I remember having manually used &amp;quot;compare&amp;quot; to check if both the dds and the png looks the same, and if not i changed some names)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
notice that the normal maps are a particular case as you need to tell the effect the texture is dds with a line like:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
1&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
just be sure to include this in the normal map effects with png and it will be easier:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
0&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
about FG doing the dds conversion , nvcompress is told to be gpl compatible, but i'm not an expert here:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
http://nvidia-texture-tools.googlecode.com/svn/trunk/NVIDIA_Texture_Tools_README.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32799214/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean pellotier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-05&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I think this is an inheritance from some other game engine using a different convention, and therefore from the authoring tools that were developed for such an engine (photoshop exporter plugins and the like). If indeed the FGFS DDS textures are only meant to be used in FGFS then this should be fixed at the conversion time. Otherwise, if  we want other applications to easily reuse the FGFS textures then it would be better to stick to the most common convention. But I think we all agree that the source for any DDS texture should be kept, which pretty much precludes importing ready made DDS textures from 3rd party sources. Incidentally I think importing DDS artwork from other sources should be discouraged, since it will most likely run afoul of the  licensing terms of the original copyright owner.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32799324/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;TDO Brandano&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-05&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nothing as exotic. Just a different &amp;quot;origin&amp;quot; between OpenGL and Direct3D image conventions. OpenGL image origin is located in the lower-left corner, while Direct3D (hence DDS too) considers the top-left as the origin, resulting in a DDS image to appear vertically flipped when read in an OpenGL context. This has repercussions in the way normal-map decoded normals appear (hence the flag in the effects, which signals to the shader to flip the decoded normals). The rest is simply a matter of workflow: either use flipped coordinates and skewed/reversed conventions throughout your whole workflow, or just flip the image and (eventually) set a flag for the shader at &amp;quot;publish&amp;quot; time (said flag could be automatically set by the code on DDS texture load). ''(the latter seems more pragmatic/appealing)''&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Automatic conversion script is welcome indeed. Also I'm pretty sure that we have some people here ready to convert a PNG to DDS as soon as you say &amp;quot;Hey boys I created a new PNG file, can you convert this file for me please ?&amp;quot; :-)&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785592/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Clement de l'Hamaide&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |A few world about the conversion: once a png/rgb/jpg found, the script &amp;lt;br/&amp;gt;&lt;br /&gt;
try to guess the suitable dds format: with or without alpha channel, &amp;lt;br/&amp;gt;&lt;br /&gt;
bumpmap, if a .dds is allready found we just erase the png one, if not &amp;lt;br/&amp;gt;&lt;br /&gt;
we use nvcompress to get the dds. After we change the textures name &amp;lt;br/&amp;gt;&lt;br /&gt;
called in the differents files and that's it. There's a way to tell the &amp;lt;br/&amp;gt;&lt;br /&gt;
script what to do for each file, if the automatic mode is a failure.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I guess speaking theorically is not the best to make an opinion, so if &amp;lt;br/&amp;gt;&lt;br /&gt;
some of you are interested to make a test, I will make a 3.2 minimal dds &amp;lt;br/&amp;gt;&lt;br /&gt;
fgdata this we, once on my FG pc.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785602/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Pros ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I always got a loading problem with png textures, large  textures take &amp;lt;br/&amp;gt;&lt;br /&gt;
seconds to load and convert, and that ruin my close flight where you &amp;lt;br/&amp;gt;&lt;br /&gt;
can't afford to take pause in the air.&amp;lt;br/&amp;gt;&lt;br /&gt;
that's why i did a batch script to convert to dds ALL the textures in &amp;lt;br/&amp;gt;&lt;br /&gt;
the data, not only the matérial set, but everything. Now i only flight a &amp;lt;br/&amp;gt;&lt;br /&gt;
dds version of flightgear, and am quite happy with it, that's why i &amp;lt;br/&amp;gt;&lt;br /&gt;
propose to provide a dds fgdata for test, and maybe to make it an &amp;lt;br/&amp;gt;&lt;br /&gt;
alternate download possibility.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785602/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Cons ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |FG actually runs with dds textures, it just doesn't render anything reasonable, I believe you get monochromatic colors. But I don't expect the menu to be affected, it doesn't use textures.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787957/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |If it's relevant, I recall having S2TC compression problems when running Flightgear, and updating this package to a newer version manually (outside of the main repos) fixed the issue. I'm on an Intel HD 3000, but I'm guessing that Intel HD 4000 doesn't have this problem, since it seems to have better OpenGL and OpenCL support.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787875/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
	and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Saikrishna Arcot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core development projects]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76323</id>
		<title>FlightGear Newsletter September 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76323"/>
		<updated>2014-09-15T19:24:09Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* A mini HowTo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Newsletter-header|September 2014}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|FlightGear 3.2 released (this time for real!)}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|DDS feedback needed}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|Aircraft moved to SVN}}&amp;lt;br/&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|Performance issues}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|The hidden Map}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|Interview with a contributor}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DDS feedback needed ==&lt;br /&gt;
&lt;br /&gt;
We are looking for feedback about possibly adopting DDS textures in FlightGear. There are several advantages in doing so:&lt;br /&gt;
&lt;br /&gt;
* DDS is a more compact format than png, hence the download size of the FG base package may be decreased&lt;br /&gt;
* Compressed DDS can be directly used by many graphics cards, reducing also GPU memory consumption&lt;br /&gt;
* DDS stores all texture resolution levels, i.e. no lower resolution levels have to be generated when the texture is used, hence it loads much faster into memory&lt;br /&gt;
* The resolution levels ('mipmaps') can be customized, allowing for some interesting effects at no performance cost&lt;br /&gt;
&lt;br /&gt;
Practically all commercial simulations use DDS for these reasons. &lt;br /&gt;
&lt;br /&gt;
However, the DDS compression algorithm is patented, which means that it is not readily available for open source graphics drivers used by most Linux distributions. Dependent on the specific hardware, this may or may not be a problem (modern graphics cards typically do not need the driver to process DDS, for older graphics cards there are non-patented workarounds available which decompress the DDS on the software level). The development team is concerned about making the FlightGear experience pleasant for all users, hence we would like to gather feedback how many users would be affected by a change in practice.&lt;br /&gt;
&lt;br /&gt;
If there are no problems reported, FG will change defaults to textures in DDS format with the 3.4 release, and then phase out the use of png textures.&lt;br /&gt;
&lt;br /&gt;
Continue reading at [[Switching default texture format to DDS]]...&lt;br /&gt;
&lt;br /&gt;
== Aircraft moved to SVN ==&lt;br /&gt;
Some months ago we decided to host our aircraft on an SVN repository in order to relieve &amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt;.&lt;br /&gt;
The &amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt; repo would be a mirror of the base package.&lt;br /&gt;
&lt;br /&gt;
We finally moved all our aircraft to '''the new SVN repo''': http://sourceforge.net/p/flightgear/fgaddon/&lt;br /&gt;
&lt;br /&gt;
This repository is named &amp;quot;FGAddon&amp;quot; because its content is not required to run FlightGear but provides a new feature (aircraft in this case); this is usually called an &amp;quot;addon&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Advantages ===&lt;br /&gt;
On the user side, the most important feature is to be able to checkout only desired aircraft, as you no longer need to download the 400+ aircraft at once.&lt;br /&gt;
&lt;br /&gt;
On the developer side, the most important interest is to have a base package (&amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt;) which is lighter to sync for new contributors and easier to keep up to date.&lt;br /&gt;
&lt;br /&gt;
=== A mini HowTo ===&lt;br /&gt;
* For Windows:  Install TortoiseSVN (http://tortoisesvn.net/) &lt;br /&gt;
* For Linux/Mac:  Install SVN&lt;br /&gt;
&lt;br /&gt;
Then to fetch an aircraft (in this example we pick up the [[Robin DR400 Dauphin|DR400 Dauphin]]):&lt;br /&gt;
 svn co https://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/DR400-dauphin&lt;br /&gt;
&lt;br /&gt;
Then you can regularly fetch the latest updates with&lt;br /&gt;
 svn up&lt;br /&gt;
&lt;br /&gt;
If you are used to use Git, &amp;lt;code&amp;gt;svn co&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;svn up&amp;lt;/code&amp;gt; are similar to &amp;lt;code&amp;gt;git clone&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The aircraft will remain in the &amp;lt;code&amp;gt;fgdata&amp;lt;/code&amp;gt; Git repository for a few months, until everyone has transitioned to the SVN repositories.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
For our aircraft developers who don't regularly read the mailing list (even though any aircraft developers should already be subscribed), please read this topic: https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/DUB127-W168600DE27B42094E5263EC3C10%40phx.gbl/#msg3280971&lt;br /&gt;
&lt;br /&gt;
== Performance Issues ==&lt;br /&gt;
Several FlightGear users have pointed out inexplicable &amp;quot;slowness&amp;quot; that originally seemed related to the property rules subsystem - which is a subsystem that Torsten originally wrote/ported, so he investigated a little and managed to track this down to a pretty serious bug in the effects subsystem that may end up registering thousands of identical listeners, despite effects/shaders not even being in use necessarily. &lt;br /&gt;
&lt;br /&gt;
So the property rules code wasn't even the culprit but obviously it deals with properties, so easy to mis-identify as the troublemaker. &lt;br /&gt;
&lt;br /&gt;
As some of you may know from working with Nasal code: listeners are not in and of themselves expensive, but running identical listeners over and over again each frame is getting unnecessarily expensive quickly. This doesn't just apply to scripting space, but also to C++ space - here, it's the sheer performance offered by native C++ code that makes it much harder to identify such problems, because code that would bring the simulator down to its knees in Nasal may very well still be &amp;quot;fast enough&amp;quot; for most people with fast computers, despite being still very much &amp;quot;broken&amp;quot;, and plain wrong.&lt;br /&gt;
&lt;br /&gt;
As can be seen on the devel list, Torsten has been spending the last weeks troubleshooting the effects system, which isn't exactly straightforward because its original developer is not currently involved in FlightGear, and the code is pretty sophisticated and even multi-threaded (which means that parts of the code may be running concurrently on different CPUs) - however, Torsten did report pretty significant performance improvements recently - he's just pushed his work to a new branch so that other developers (and people building from source!) can have a look and test his changes and report feedback/issues - this will probably mean that it may take a few weeks until all the feedback has come in and implemented - but performance should be improved significantly by then - which also addresses the whole &amp;quot;when will 3.2 be released&amp;quot; question.&lt;br /&gt;
&lt;br /&gt;
Also, Hooray recently built fg on a dual-core netbook with Intel GMA graphics (1gb RAM) to see if/how well Canvas is supported there (some people reported white RTTs due to lack of FBO support) - it is true that doing this more regularly would probably help identify certain issues much earlier - it seems that a few contributors are still trying to spin up FG once in a while on their old computers - Thorsten repeatedly mentioned doing that for regression testing purposes when testing his own work. &lt;br /&gt;
&lt;br /&gt;
But FG would indeed be in a better shape if had some way to do this more often, possibly automatically on some kind of headless build/regression testing server - which kinda is what a few people have been working towards:&lt;br /&gt;
&lt;br /&gt;
* [[FlightGear Headless|Running FlightGear headless]] (i.e. without a window, used for subsystem performance testing)&lt;br /&gt;
&lt;br /&gt;
* [[Testing|Testing Performance]]&lt;br /&gt;
&lt;br /&gt;
Things like the recently discovered listener issue in the effects subsystem or massive memory leaks would stand less of a chance of going unnoticed if we had more people testing FG on old hardware - but it's a chicken/egg problem because you need to be pretty familiar with FG to make it work at all, so most people don't bother - and as a coder you tend to prefer writing code over testing obviously, so given the lack of feedback, FG is leaning more towards power users with the latest GPUs and 1+ gb of VRAM unfortunately - simply because that's where all the testing manpower typically is.&lt;br /&gt;
&lt;br /&gt;
People wanting to change that, need to roll up their sleeves and get involved, and PLEAE provide feedback.&lt;br /&gt;
&lt;br /&gt;
'''All''' testing on, and development for, such systems would benefit FG in the long term, because hardware support/compatibility would increase over time - which would also make it possible to target other architectures, i.e. gaming hardware, Rasberry Pi and so on: [[Howto:Optimizing FlightGear for mobile devices]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And here some initial observations based on running FlightGear on an underpowered Netbook with integrated Intel GMA graphics:&lt;br /&gt;
&lt;br /&gt;
* our existing GUI truly sucks: whenever a PUI dialog is opened, the frame rate is becoming single-digit&lt;br /&gt;
* once the dialog is closed, it will spike up to ~30 fps, with the Canvas/REPL window still shown (!)&lt;br /&gt;
* hiding the PUI menubar further helps increase frame rate and improve frame spacing&lt;br /&gt;
* hiding the menubar AND closing the REPL dialog, I am getting ~45-50 fps using the minimal startup profile, frame spacing is then roughly in the 60s&lt;br /&gt;
* the navcache is a huge resource hog for people on such systems - initializinig/rebuilding the cache is taking ages (10-20+ minutes here !)&lt;br /&gt;
* it would make sense to refactor the navcache and turn it into a library, so that we can prebuild the navcache - and either do so while packaging a release, or alternatively, during installation (plenty of time there!)&lt;br /&gt;
* in addition, threading would make sense probably, when the navcache was being rebuilt, the 2nd core was idling all the time while 1 core was at 100%&lt;br /&gt;
* Canvas/RTT (FBOs) actually work here (which is a good thing for FGPanel/FGCanvas usage)&lt;br /&gt;
* there are a bunch of default options that will &amp;quot;break&amp;quot; FG for users on such systems, including a number of options that will trigger OpenGL/OSG errors early on&lt;br /&gt;
&lt;br /&gt;
Hooray is hoping to do further testing, using the system monitor and the built-in profiler - keep in mind that this still is the code that contains some pretty severe performance bugs.&lt;br /&gt;
&lt;br /&gt;
If we had more people doing this kind of testing, we could definitely identify, and hopefully eliminate, quite a few performance issues that would not be noticeable on a typical developer's machine.&lt;br /&gt;
So this could be a worthwhile thing to do, and it would help FG in the long term - i.e. even benefit power users who have 2048 MB of VRAM and 8 cores/12 gb of RAM.&lt;br /&gt;
&lt;br /&gt;
The really interesting &amp;quot;benchmark&amp;quot; here is running osgviewer and fgviewer as comparison, because what FG is doing here isn't much different functionality-wise, and it's using the same technology stack (i.e. OSG), so should provide similar performance.&lt;br /&gt;
&lt;br /&gt;
Unofortunately, we generally don't have many people who do a lot of testing, troubleshooting - or even just provide feedback via the issue tracker - it is definitely true that the Canvas GUI is much faster here, despite containing a ton MORE Nasal code, and despite being MUCH more dynamic/flexible than our existing PUI dialogs.&lt;br /&gt;
&lt;br /&gt;
It would really be awesome to find a handful of people with access to old/slow hardware interested in testing and maybe troubleshooting things - while it would be great if those people knew how to build from source, and how to use git/gitorious, I don't think that's even necessary - we can definitely provide a lot of infrastructure and advice, but most of us don't typically have access to these kinds of computers. And while some of us admittedly aren't bothered by it, it is very true that FlightGear as a whole will benefit from teasing out certain bugs/issues, no matter if those are slowing things down due to CPU/GPU or RAM/VRAM utilization.&lt;br /&gt;
&lt;br /&gt;
But we really need more people willing to do this kind of testing and who can provide feedback regularly - and start yelling once something that previously worked, stops working or is becoming unnecessarily slow - there are a bunch of issues that should have never made it into the code, but which went unnoticed for months (or even years), because it's really only power users/contributors and developers who do this kind of testing, and as I am seeing right now, certain issues are pretty well &amp;quot;masked&amp;quot; on an 8-core, 10 gb, 2gb VRAM machine obviously ...&lt;br /&gt;
&lt;br /&gt;
We've been hoping to create some kind of &amp;quot;benchmark&amp;quot; for years - and this is one of those things that would truly help FlightGear in the long term, because we'd get quantifiable data over time, so that we can easily tell how a certain startup/run-time feature behaves in correlation with how it behaved previously, i.e. compared to updated dependencies (OpenAL, PLIB, OSG) - but also changes to the C++ code in SG/FG itself.&lt;br /&gt;
&lt;br /&gt;
People are generally quick to point at Nasal and its known GC issues, but are usually not experienced enough to look behind the scenes, and the amount of existing C++ code that is doing things in a slow fashion, code that's been lurking in the source tree for years more often than not. Creating some kind of simple benchmark would help all of us, no matter the kind of hardware we have: [[FlightGear_Benchmark]].&lt;br /&gt;
&lt;br /&gt;
If you're interested in getting involved with testing FlightGear and improving compatibility for older/slow systems, please get in touch with Hooray on the forum.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=packed widths=230px heights=230px&amp;gt;&lt;br /&gt;
Fgfs 3.2 on a dual-core netbook.png|FlightGear 3.2/Canvas working on a dual-core Netbook with Intel GMA graphics showing the [[Interactive Nasal Console]] dialog&lt;br /&gt;
Comparing Native Canvas GUI Performance over PUI.png|A native [[Canvas]] window showing the new [[Aircraft Center]] dialog (good performance)&lt;br /&gt;
System-monitor-on-netbook.png|Screen shot showing a number of performance issues in a handful of FG subsystems, especially the PUI GUI&lt;br /&gt;
Pui slowness.png|The old PLIB/PUI GUI is shown here rendering a Canvas Widget with a [[MapStructure]] layer, a few users have reported that PUI is significantly slowing down the simulator&lt;br /&gt;
MapStructure self test over embedded PUI widget.png|And for comparison a native Canvas window also using the [[MapStructure]] framework,without going through PUI (better performance)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The hidden Map ==&lt;br /&gt;
[[File:FlightGear-Map-on-Android.png|right|400px]]&lt;br /&gt;
Did you know that FlightGear has an internal web server? And did you ever ask yourself the question, what does a flight simulator needs a web server for? A nice and impressive use case is a map application that has just been brought to the main menu. Click on &amp;quot;Equipment&amp;quot; and select &amp;quot;Map (opens in browser)&amp;quot;. Your web browser will pop up and show a map based on current web standards. It can display OpenStreetMap maps as a base layer as well as satelite image or roads from MapQuest. Overlays for current (real) weather like precipitation and isobares exist. The map can display FlightGear internal navigation data like airports, navaids etc. And it can display AI traffic and multiplayer aircraft, too.&lt;br /&gt;
Of course, it runs on any decent browser, but not only the one on your FlightGear computer. It is web-app-capable so you can install it to your mobile device (IOS and Android) to have a full screen map App on your tablet or phone displaying your current FlightGear status. All this at almost zero cost for the FlightGear main loop. All the rendering computations are done within your browser. The FlightGear webserver only provides the HTML and JavaScript files and transmits the internal properties over a websocket.&lt;br /&gt;
To enable the internal browser-based map, you need to enable the internal web server by adding &amp;lt;code&amp;gt;--httpd=8080&amp;lt;/code&amp;gt; to your command line.&lt;br /&gt;
Consult your mobile devices operation manual about how to add a web page as a full screen App.&lt;br /&gt;
&lt;br /&gt;
== Interview with a contributor ==&lt;br /&gt;
&lt;br /&gt;
This month, the interview comes back. Hey everyone, I'm ZLSA. I've used FlightGear for a while now, but I only got into the development side recently.&lt;br /&gt;
&lt;br /&gt;
Um, I'm supposed to ask ''myself'' questions? Wait, nobody said I'd have to ask ''myself'' questions.&lt;br /&gt;
&lt;br /&gt;
'''What is your forum nickname, ZLSA?''' ZLSA.&lt;br /&gt;
&lt;br /&gt;
'''How long have you been involved with FlightGear?''' The first version I used was 1.9.1, I think. So circa 2008?&lt;br /&gt;
&lt;br /&gt;
'''What are your major interests in FlightGear?''' Well, I like 3d modeling and I'm rather good at it. Do you think I'm good at 3d modeling?&lt;br /&gt;
&lt;br /&gt;
'''I think you're pretty good at it.''' So my primary interest in FlightGear is modeling things; I modeled the [[Piper Archer CX]] exterior and interior. I also enjoy writing Nasal.&lt;br /&gt;
&lt;br /&gt;
'''What projects are you working on right now?''' Well I worked a bit on the Piper last night (just minor tweaks). Did you know that unless you use textures, the ambient color shown in FlightGear is always gray regardless of the exported ambient color? Makes cockpits look awful. Anyway, right now I'm working on a tee hangar. FlightGear doesn't seem to have any tee hangars.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing in the future?''' Finish the Piper and add more scenery objects. Having shaders on full with Rembrandt on doesn't help if the only buildings are 80-meter wide cubes.&lt;br /&gt;
&lt;br /&gt;
'''Why is it that you are interested in flight simulation or aviation in general?''' FlightGear sparked my interest in aviation when I first &amp;lt;s&amp;gt;played&amp;lt;/s&amp;gt; used it. I was just wondering what this &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; program was.&lt;br /&gt;
&lt;br /&gt;
'''Are you happy with the way the FlightGear project is going?''' In general, yes. It's come very far in the past few years. The biggest issue in my opinion is the scenery; I realize that at this point it's infeasible to redesign the scenery model to support dynamic subdivision and landclass transitions, but nothing breaks immersion more than flying over the desert until it suddenly turns into grass.&lt;br /&gt;
&lt;br /&gt;
'''What do you enjoy most about contributing to FlightGear?''' Seeing my creations used by other people.&lt;br /&gt;
&lt;br /&gt;
'''Are there any &amp;quot;hidden features&amp;quot; you have worked on in FlightGear that new users may miss?''' Nope, sorry.&lt;br /&gt;
&lt;br /&gt;
'''What advice can you give to new contributors who want to get started on their first aircraft/new feature/Nasal script?''' Well I'll start this off with an example: when I first started making aircraft (it was an abysmally-modeled aircraft with horrible proportions that I stupidly released) I had no idea what I was doing. It took me several hours to figure out that the &amp;lt;nowiki&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/nowiki&amp;gt; XML file was actually just the property tree in XML. That made things much easier for me. The same thing happened with Nasal when I realized that the name of the &amp;lt;nowiki&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/nowiki&amp;gt; parent tag was just the Nasal &amp;quot;namespace&amp;quot;. So it might seem complicated, but once you play around with things for a bit, it will make sense.&lt;br /&gt;
&lt;br /&gt;
'''Have you previously used other flight simulators or simulation software in general?''' No.&lt;br /&gt;
&lt;br /&gt;
'''How does FlightGear compare in your opinion?''' If FSX and X-Plane were both free and open-source, I'd probably choose X-Plane because of the incredible graphics. But since they're both closed and paid products (and FSX is Windows-only while I use Linux), I would (and did) choose FlightGear over the other two major contenders.&lt;br /&gt;
&lt;br /&gt;
'''What was your first impression about FlightGear?''' How the heck do you pronounce ornithopter?&lt;br /&gt;
&lt;br /&gt;
'''Compared to other flight simulation software, what are FlightGear's major benefits in your opinion?''' It's free and open source. That attracts people, some of whom will contribute back. That is a huge benefit that's often overlooked.&lt;br /&gt;
&lt;br /&gt;
'''Do you think it is necessary to know how to program in order to contribute to FlightGear?''' Of course not. It would help, but it's definitely not needed. If every 3d artist reading this contributed a high-quality (but low-poly) model to the scenery database, it would make a huge difference. Similarly, placing objects with the UFO doesn't require any programming and makes a huge difference in the quality of a single FlightGear's airport.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever used FlightGear professionally or for educational purposes?''' No and yes. While I haven't ever sat in any GA aircraft, FlightGear has helped me understand flight much better than reading and watching videos ever would.&lt;br /&gt;
&lt;br /&gt;
'''What about FlightGear as a &amp;quot;game&amp;quot;, do you think it can be used as such?''' Of course. It can also be used as a filler for your hard drive. It's whatever you want to use it for.&lt;br /&gt;
&lt;br /&gt;
'''On average, how much time do you spend working with/contributing to FlightGear?''' Probably in the hundreds of hours at this point.&lt;br /&gt;
&lt;br /&gt;
'''Which of the more recent FlightGear developments do you consider most interesting/appealing?''' Procedural textures. Rembrandt. Atmospheric light scattering/cloud shadows.&lt;br /&gt;
&lt;br /&gt;
'''Is there some feature that you'd truly like to see in FlightGear one day?''' Procedural terrain like in Outerra (not to add craters but to allow client-side scenery improvements while using the same dataset.)&lt;br /&gt;
&lt;br /&gt;
'''What do you think could be done to attract even more new users and contributors to FlightGear?''' Higher quality in general. Many users want a flight simulator that just works and looks good; currently, FlightGear is not suited to them.&lt;br /&gt;
&lt;br /&gt;
'''What about interacting with the FlightGear community? Any tips/experiences you'd like to share?''' Back up your FlightGear data directory and play around with things.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever recommended FlightGear to other users, friends/family?''' No, whenever I mention it they suddenly disappear...&lt;br /&gt;
&lt;br /&gt;
'''Is there anything else you'd like to share with us?''' No.&lt;br /&gt;
&lt;br /&gt;
'''Good day then, and thanks for agreeing to this interview.''' No problem.&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76200</id>
		<title>FlightGear Newsletter September 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76200"/>
		<updated>2014-09-13T17:51:39Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Newsletter-header|September 2014}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|FlightGear 3.2 released (this time for real!)}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|DDS feedback needed}}&amp;lt;br/&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|(this is the second column)}}&amp;lt;br/&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|Interview with a contributor}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DDS feedback needed ==&lt;br /&gt;
&lt;br /&gt;
We are looking for feedback about possibly adopting DDS textures in FlightGear. There are several advantages in doing so:&lt;br /&gt;
&lt;br /&gt;
* DDS is a more compact format than png, hence the download size of the FG base package may be decreased&lt;br /&gt;
* Compressed DDS can be directly used by many graphics cards, reducing also GPU memory consumption&lt;br /&gt;
* DDS stores all texture resolution levels, i.e. no lower resolution levels have to be generated when the texture is used, hence it loads much faster into memory&lt;br /&gt;
* The resolution levels ('mipmaps') can be customized, allowing for some interesting effects at no performance cost&lt;br /&gt;
&lt;br /&gt;
Practically all commercial simulations use DDS for these reasons. &lt;br /&gt;
&lt;br /&gt;
However, the DDS compression algorithm is patented, which means that it is not readily available for open source graphics drivers used by most Linux distributions. Dependent on the specific hardware, this may or may not be a problem (modern graphics cards typically do not need the driver to process DDS, for older graphics cards there are non-patented workarounds available which decompress the DDS on the software level). The development team is concerned about making the FlightGear experience pleasant for all users, hence we would like to gather feedback how many users would be affected by a change in practice.&lt;br /&gt;
&lt;br /&gt;
If there are no problems reported, FG will change defaults to textures in DDS format with the 3.4 release, and then phase out the use of png textures.&lt;br /&gt;
&lt;br /&gt;
Continue reading at [[Switching default texture format to DDS]]...&lt;br /&gt;
&lt;br /&gt;
== Aircraft are hosted on SVN ==&lt;br /&gt;
&lt;br /&gt;
Some months ago we decided to host our aircraft on an SVN repository in order to relieve the fgdata.&lt;br /&gt;
The fgdata repo would be a mirror of the base package.&lt;br /&gt;
&lt;br /&gt;
We finally moved all our aircraft in '''the new SVN repo''': http://sourceforge.net/p/flightgear/fgaddon/&lt;br /&gt;
&lt;br /&gt;
This repository is named &amp;quot;FGAddon&amp;quot; because its content is not required to run FlightGear, a file not required but providing a new feature (in this case it's aircraft) is usually called an &amp;quot;addon&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On user-side, the most important feature is to be able to checkout only wanted aircraft, you do no longer need to download the +400 aircraft at once.&lt;br /&gt;
&lt;br /&gt;
On developper-side, the most important interest is to have a base-package like which is lighter to sync for new contributors and easier to maintain when realease is built.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A mini HowTo:&lt;br /&gt;
* For Windows: install TortoiseSVN (http://tortoisesvn.net/) &lt;br /&gt;
* For Linux/Mac: install SVN&lt;br /&gt;
&lt;br /&gt;
Then to pick an aircraft (in this example we pick up the DR400-dauphin):&lt;br /&gt;
 svn co https://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/DR400-dauphin&lt;br /&gt;
&lt;br /&gt;
Then you can regularly pick the last update with&lt;br /&gt;
 svn up&lt;br /&gt;
&lt;br /&gt;
If you used to use GIT it's finally not so different to run &amp;quot;git clone&amp;quot; or &amp;quot;git pull&amp;quot; ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS: for our aircraft developer who usually don't read the mailing list (I hope it doesn't exist but just in case), please read this topic: https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/DUB127-W168600DE27B42094E5263EC3C10%40phx.gbl/#msg32809711&lt;br /&gt;
&lt;br /&gt;
== Interview with a contributor ==&lt;br /&gt;
&lt;br /&gt;
This month, the interview comes back. Hey everyone, I'm ZLSA. I've used FlightGear for a while now, but I only got into the development side recently.&lt;br /&gt;
&lt;br /&gt;
Um, I'm supposed to ask ''myself'' questions? Wait, nobody said I'd have to ask ''myself'' questions.&lt;br /&gt;
&lt;br /&gt;
'''What is your forum nickname, ZLSA?''' ZLSA.&lt;br /&gt;
&lt;br /&gt;
'''How long have you been involved with FlightGear?''' The first version I used was 1.9.1, I think. So circa 2008?&lt;br /&gt;
&lt;br /&gt;
'''What are your major interests in FlightGear?''' Well, I like 3d modeling and I'm rather good at it. Do you think I'm good at 3d modeling?&lt;br /&gt;
&lt;br /&gt;
'''I think you're pretty good at it.''' So my primary interest in FlightGear is modeling things; I modeled the [[Piper Archer CX]] exterior and interior. I also enjoy writing Nasal.&lt;br /&gt;
&lt;br /&gt;
'''What projects are you working on right now?''' Well I worked a bit on the Piper last night (just minor tweaks). Did you know that unless you use textures, the ambient color shown in FlightGear is always gray regardless of the exported ambient color? Makes cockpits look awful. Anyway, right now I'm working on a tee hangar. FlightGear doesn't seem to have any tee hangars.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing in the future?''' Finish the Piper and add more scenery objects. Having shaders on full with Rembrandt on doesn't help if the only buildings are 80-meter wide cubes.&lt;br /&gt;
&lt;br /&gt;
'''Why is it that you are interested in flight simulation or aviation in general?''' FlightGear sparked my interest in aviation when I first &amp;lt;s&amp;gt;played&amp;lt;/s&amp;gt; used it. I was just wondering what this &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; program was.&lt;br /&gt;
&lt;br /&gt;
'''Are you happy with the way the FlightGear project is going?''' In general, yes. It's come very far in the past few years. The biggest issue in my opinion is the scenery; I realize that at this point it's infeasible to redesign the scenery model to support dynamic subdivision and landclass transitions, but nothing breaks immersion more than flying over the desert until it suddenly turns into grass.&lt;br /&gt;
&lt;br /&gt;
'''What do you enjoy most about contributing to FlightGear?''' Seeing my creations used by other people.&lt;br /&gt;
&lt;br /&gt;
'''Are there any &amp;quot;hidden features&amp;quot; you have worked on in FlightGear that new users may miss?''' Nope, sorry.&lt;br /&gt;
&lt;br /&gt;
'''What advice can you give to new contributors who want to get started on their first aircraft/new feature/Nasal script?''' Well I'll start this off with an example: when I first started making aircraft (it was an abysmally-modeled aircraft with horrible proportions that I stupidly released) I had no idea what I was doing. It took me several hours to figure out that the &amp;lt;nowiki&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/nowiki&amp;gt; XML file was actually just the property tree in XML. That made things much easier for me. The same thing happened with Nasal when I realized that the name of the &amp;lt;nowiki&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/nowiki&amp;gt; parent tag was just the Nasal &amp;quot;namespace&amp;quot;. So it might seem complicated, but once you play around with things for a bit, it will make sense.&lt;br /&gt;
&lt;br /&gt;
'''Have you previously used other flight simulators or simulation software in general?''' No.&lt;br /&gt;
&lt;br /&gt;
'''How does FlightGear compare in your opinion?''' If FSX and X-Plane were both free and open-source, I'd probably choose X-Plane because of the incredible graphics. But since they're both closed and paid products (and FSX is Windows-only while I use Linux), I would (and did) choose FlightGear over the other two major contenders.&lt;br /&gt;
&lt;br /&gt;
'''What was your first impression about FlightGear?''' How the heck do you pronounce ornithopter?&lt;br /&gt;
&lt;br /&gt;
'''Compared to other flight simulation software, what are FlightGear's major benefits in your opinion?''' It's free and open source. That attracts people, some of whom will contribute back. That is a huge benefit that's often overlooked.&lt;br /&gt;
&lt;br /&gt;
'''Do you think it is necessary to know how to program in order to contribute to FlightGear?''' Of course not. It would help, but it's definitely not needed. If every 3d artist reading this contributed a high-quality (but low-poly) model to the scenery database, it would make a huge difference. Similarly, placing objects with the UFO doesn't require any programming and makes a huge difference in the quality of a single FlightGear's airport.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever used FlightGear professionally or for educational purposes?''' No and yes. While I haven't ever sat in any GA aircraft, FlightGear has helped me understand flight much better than reading and watching videos ever would.&lt;br /&gt;
&lt;br /&gt;
'''What about FlightGear as a &amp;quot;game&amp;quot;, do you think it can be used as such?''' Of course. It can also be used as a filler for your hard drive. It's whatever you want to use it for.&lt;br /&gt;
&lt;br /&gt;
'''On average, how much time do you spend working with/contributing to FlightGear?''' Probably in the hundreds of hours at this point.&lt;br /&gt;
&lt;br /&gt;
'''Which of the more recent FlightGear developments do you consider most interesting/appealing?''' Procedural textures. Rembrandt. Atmospheric light scattering/cloud shadows.&lt;br /&gt;
&lt;br /&gt;
'''Is there some feature that you'd truly like to see in FlightGear one day?''' Procedural terrain like in Outerra (not to add craters but to allow client-side scenery improvements while using the same dataset.)&lt;br /&gt;
&lt;br /&gt;
'''What do you think could be done to attract even more new users and contributors to FlightGear?''' Higher quality in general. Many users want a flight simulator that just works and looks good; currently, FlightGear is not suited to them.&lt;br /&gt;
&lt;br /&gt;
'''What about interacting with the FlightGear community? Any tips/experiences you'd like to share?''' Back up your FlightGear data directory and play around with things.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever recommended FlightGear to other users, friends/family?''' No, whenever I mention it they suddenly disappear...&lt;br /&gt;
&lt;br /&gt;
'''Is there anything else you'd like to share with us?''' No.&lt;br /&gt;
&lt;br /&gt;
'''Good day then, and thanks for agreeing to this interview.''' No problem.&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76199</id>
		<title>FlightGear Newsletter September 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2014&amp;diff=76199"/>
		<updated>2014-09-13T17:50:37Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Newsletter-header|September 2014}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|FlightGear 3.2 released (this time for real!)}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Newsletter-cover-item|DDS feedback needed}}&amp;lt;br/&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|(this is the second column)}}&amp;lt;br/&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-item|Interview with a contributor}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DDS feedback needed ==&lt;br /&gt;
&lt;br /&gt;
We are looking for feedback about possibly adopting DDS textures in FlightGear. There are several advantages in doing so:&lt;br /&gt;
&lt;br /&gt;
* DDS is a more compact format than png, hence the download size of the FG base package may be decreased&lt;br /&gt;
* Compressed DDS can be directly used by many graphics cards, reducing also GPU memory consumption&lt;br /&gt;
* DDS stores all texture resolution levels, i.e. no lower resolution levels have to be generated when the texture is used, hence it loads much faster into memory&lt;br /&gt;
* The resolution levels ('mipmaps') can be customized, allowing for some interesting effects at no performance cost&lt;br /&gt;
&lt;br /&gt;
Practically all commercial simulations use DDS for these reasons. &lt;br /&gt;
&lt;br /&gt;
However, the DDS compression algorithm is patented, which means that it is not readily available for open source graphics drivers used by most Linux distributions. Dependent on the specific hardware, this may or may not be a problem (modern graphics cards typically do not need the driver to process DDS, for older graphics cards there are non-patented workarounds available which decompress the DDS on the software level). The development team is concerned about making the FlightGear experience pleasant for all users, hence we would like to gather feedback how many users would be affected by a change in practice.&lt;br /&gt;
&lt;br /&gt;
If there are no problems reported, FG will change defaults to textures in DDS format with the 3.4 release, and then phase out the use of png textures.&lt;br /&gt;
&lt;br /&gt;
Continue reading at [[Switching default texture format to DDS]]...&lt;br /&gt;
&lt;br /&gt;
== Aircraft are hosted on SVN ==&lt;br /&gt;
&lt;br /&gt;
Some months ago we decided to host our aircraft on an SVN repository in order to relieve the fgdata.&lt;br /&gt;
The fgdata repo would be a mirror of the base package.&lt;br /&gt;
&lt;br /&gt;
We finally moved all our aircraft in '''the new SVN repo''': http://sourceforge.net/p/flightgear/fgaddon/&lt;br /&gt;
This repository is named &amp;quot;FGAddon&amp;quot; because its content is not required to run FlightGear, a file not required but providing a new feature (in this case it's aircraft) is usually called an &amp;quot;addon&amp;quot;.&lt;br /&gt;
On user-side, the most important feature is to be able to checkout only wanted aircraft, you do no longer need to download the +400 aircraft at once.&lt;br /&gt;
On developper-side, the most important interest is to have a base-package like which is lighter to sync for new contributors and easier to maintain when realease is built.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A mini HowTo:&lt;br /&gt;
* For Windows: install TortoiseSVN (http://tortoisesvn.net/) &lt;br /&gt;
* For Linux/Mac: install SVN&lt;br /&gt;
&lt;br /&gt;
Then to pick an aircraft (in this example we pick up the DR400-dauphin):&lt;br /&gt;
 svn co https://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/DR400-dauphin&lt;br /&gt;
&lt;br /&gt;
Then you can regularly pick the last update with&lt;br /&gt;
 svn up&lt;br /&gt;
&lt;br /&gt;
If you used to use GIT it's finally not so different to run &amp;quot;git clone&amp;quot; or &amp;quot;git pull&amp;quot; ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS: for our aircraft developer who usually don't read the mailing list (I hope it doesn't exist but just in case), please read this topic: https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/DUB127-W168600DE27B42094E5263EC3C10%40phx.gbl/#msg32809711&lt;br /&gt;
&lt;br /&gt;
== Interview with a contributor ==&lt;br /&gt;
&lt;br /&gt;
This month, the interview comes back. Hey everyone, I'm ZLSA. I've used FlightGear for a while now, but I only got into the development side recently.&lt;br /&gt;
&lt;br /&gt;
Um, I'm supposed to ask ''myself'' questions? Wait, nobody said I'd have to ask ''myself'' questions.&lt;br /&gt;
&lt;br /&gt;
'''What is your forum nickname, ZLSA?''' ZLSA.&lt;br /&gt;
&lt;br /&gt;
'''How long have you been involved with FlightGear?''' The first version I used was 1.9.1, I think. So circa 2008?&lt;br /&gt;
&lt;br /&gt;
'''What are your major interests in FlightGear?''' Well, I like 3d modeling and I'm rather good at it. Do you think I'm good at 3d modeling?&lt;br /&gt;
&lt;br /&gt;
'''I think you're pretty good at it.''' So my primary interest in FlightGear is modeling things; I modeled the [[Piper Archer CX]] exterior and interior. I also enjoy writing Nasal.&lt;br /&gt;
&lt;br /&gt;
'''What projects are you working on right now?''' Well I worked a bit on the Piper last night (just minor tweaks). Did you know that unless you use textures, the ambient color shown in FlightGear is always gray regardless of the exported ambient color? Makes cockpits look awful. Anyway, right now I'm working on a tee hangar. FlightGear doesn't seem to have any tee hangars.&lt;br /&gt;
&lt;br /&gt;
'''What do you plan on doing in the future?''' Finish the Piper and add more scenery objects. Having shaders on full with Rembrandt on doesn't help if the only buildings are 80-meter wide cubes.&lt;br /&gt;
&lt;br /&gt;
'''Why is it that you are interested in flight simulation or aviation in general?''' FlightGear sparked my interest in aviation when I first &amp;lt;s&amp;gt;played&amp;lt;/s&amp;gt; used it. I was just wondering what this &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; program was.&lt;br /&gt;
&lt;br /&gt;
'''Are you happy with the way the FlightGear project is going?''' In general, yes. It's come very far in the past few years. The biggest issue in my opinion is the scenery; I realize that at this point it's infeasible to redesign the scenery model to support dynamic subdivision and landclass transitions, but nothing breaks immersion more than flying over the desert until it suddenly turns into grass.&lt;br /&gt;
&lt;br /&gt;
'''What do you enjoy most about contributing to FlightGear?''' Seeing my creations used by other people.&lt;br /&gt;
&lt;br /&gt;
'''Are there any &amp;quot;hidden features&amp;quot; you have worked on in FlightGear that new users may miss?''' Nope, sorry.&lt;br /&gt;
&lt;br /&gt;
'''What advice can you give to new contributors who want to get started on their first aircraft/new feature/Nasal script?''' Well I'll start this off with an example: when I first started making aircraft (it was an abysmally-modeled aircraft with horrible proportions that I stupidly released) I had no idea what I was doing. It took me several hours to figure out that the &amp;lt;nowiki&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/nowiki&amp;gt; XML file was actually just the property tree in XML. That made things much easier for me. The same thing happened with Nasal when I realized that the name of the &amp;lt;nowiki&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/nowiki&amp;gt; parent tag was just the Nasal &amp;quot;namespace&amp;quot;. So it might seem complicated, but once you play around with things for a bit, it will make sense.&lt;br /&gt;
&lt;br /&gt;
'''Have you previously used other flight simulators or simulation software in general?''' No.&lt;br /&gt;
&lt;br /&gt;
'''How does FlightGear compare in your opinion?''' If FSX and X-Plane were both free and open-source, I'd probably choose X-Plane because of the incredible graphics. But since they're both closed and paid products (and FSX is Windows-only while I use Linux), I would (and did) choose FlightGear over the other two major contenders.&lt;br /&gt;
&lt;br /&gt;
'''What was your first impression about FlightGear?''' How the heck do you pronounce ornithopter?&lt;br /&gt;
&lt;br /&gt;
'''Compared to other flight simulation software, what are FlightGear's major benefits in your opinion?''' It's free and open source. That attracts people, some of whom will contribute back. That is a huge benefit that's often overlooked.&lt;br /&gt;
&lt;br /&gt;
'''Do you think it is necessary to know how to program in order to contribute to FlightGear?''' Of course not. It would help, but it's definitely not needed. If every 3d artist reading this contributed a high-quality (but low-poly) model to the scenery database, it would make a huge difference. Similarly, placing objects with the UFO doesn't require any programming and makes a huge difference in the quality of a single FlightGear's airport.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever used FlightGear professionally or for educational purposes?''' No and yes. While I haven't ever sat in any GA aircraft, FlightGear has helped me understand flight much better than reading and watching videos ever would.&lt;br /&gt;
&lt;br /&gt;
'''What about FlightGear as a &amp;quot;game&amp;quot;, do you think it can be used as such?''' Of course. It can also be used as a filler for your hard drive. It's whatever you want to use it for.&lt;br /&gt;
&lt;br /&gt;
'''On average, how much time do you spend working with/contributing to FlightGear?''' Probably in the hundreds of hours at this point.&lt;br /&gt;
&lt;br /&gt;
'''Which of the more recent FlightGear developments do you consider most interesting/appealing?''' Procedural textures. Rembrandt. Atmospheric light scattering/cloud shadows.&lt;br /&gt;
&lt;br /&gt;
'''Is there some feature that you'd truly like to see in FlightGear one day?''' Procedural terrain like in Outerra (not to add craters but to allow client-side scenery improvements while using the same dataset.)&lt;br /&gt;
&lt;br /&gt;
'''What do you think could be done to attract even more new users and contributors to FlightGear?''' Higher quality in general. Many users want a flight simulator that just works and looks good; currently, FlightGear is not suited to them.&lt;br /&gt;
&lt;br /&gt;
'''What about interacting with the FlightGear community? Any tips/experiences you'd like to share?''' Back up your FlightGear data directory and play around with things.&lt;br /&gt;
&lt;br /&gt;
'''Have you ever recommended FlightGear to other users, friends/family?''' No, whenever I mention it they suddenly disappear...&lt;br /&gt;
&lt;br /&gt;
'''Is there anything else you'd like to share with us?''' No.&lt;br /&gt;
&lt;br /&gt;
'''Good day then, and thanks for agreeing to this interview.''' No problem.&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:F-JJTH&amp;diff=76097</id>
		<title>User:F-JJTH</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:F-JJTH&amp;diff=76097"/>
		<updated>2014-09-09T18:07:29Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FlightGear Core developers]]&lt;br /&gt;
[[Category:Developer Plans]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I'm french, and I participe to many developement of aircraft (Douglas DC-3 C47, R44, P92, DR400 Dauphin, Cap10B, Cap10C, DR400-jsbSim...)&lt;br /&gt;
&lt;br /&gt;
My competence are :&lt;br /&gt;
* C++&lt;br /&gt;
* Nasal&lt;br /&gt;
* XML&lt;br /&gt;
* 3D : only little correction (Blender)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Todo List==&lt;br /&gt;
This list contains all job I'm interested to work.&lt;br /&gt;
&lt;br /&gt;
* 2013&lt;br /&gt;
** Add FGCom feature into FlightGear {{Progressbar|100}}&lt;br /&gt;
** Setup a new and updated FGCom server {{Progressbar|100}}  [http://fgcom.flightgear.org]&lt;br /&gt;
** Add ATC mode into FGCom standalone {{Progressbar|100}}&lt;br /&gt;
** Provide FGCom standalone for Windows, Linux, Mac {{Progressbar|100}} [http://fgcom.flightgear.org/download]&lt;br /&gt;
** Write a new FGCom documentation {{Progressbar|100}} [[FGCom_3.0]]&lt;br /&gt;
&lt;br /&gt;
* 2014&lt;br /&gt;
** &amp;lt;s&amp;gt;Fix &amp;quot;exit&amp;quot; issue for FGCom standalone&amp;lt;/s&amp;gt;  Re-write FGCom standalone from scratch {{Progressbar|100}}  [http://mapserver.flightgear.org/git/?p=flightgear;a=commit;h=b0b272e4d240a3b02062d196b47056179464a5c1]&lt;br /&gt;
** Remove bin/Win[32|64] from the Windows installer {{Progressbar|100}}&lt;br /&gt;
** Implement an OSM client in FG {{Progressbar|10}}&lt;br /&gt;
** Add support for 8.33KHz radio in FG {{Progressbar|10}}&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Switching_default_texture_format_to_DDS&amp;diff=76002</id>
		<title>Switching default texture format to DDS</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Switching_default_texture_format_to_DDS&amp;diff=76002"/>
		<updated>2014-09-07T09:25:09Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Intel open source driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The FG development team is considering to '''switch the default format for textures from png to DDS'''. This would offer a number of significant advantages:&lt;br /&gt;
&lt;br /&gt;
* DDS is a more compact format than png, hence the download size of the FG base package may be decreased&lt;br /&gt;
* Compressed DDS can be directly used by many graphics cards, reducing also GPU memory consumption&lt;br /&gt;
* DDS stores all texture resolution levels, in essence no lower resolution levels have to be generated when the texture is used, hence it loads much faster into memory&lt;br /&gt;
* The resolution levels ('mipmaps') can be customized, allowing for some interesting effects at no performance cost&lt;br /&gt;
&lt;br /&gt;
Practically all commercial simulations use DDS for these reasons. &lt;br /&gt;
&lt;br /&gt;
== Feedback needed - should FlightGear switch the defaults to DDS format for terrain texturing? ==&lt;br /&gt;
&lt;br /&gt;
However, the DDS compression algorithm is patented, which means that it is not readily available for open source graphics drivers used by Linux distributions. Dependent on the specific hardware, this may or may not be a problem (modern graphics cards typically do not need the driver to process DDS, for older graphics cards there are non-patented workarounds available which decompress the DDS on the software level). The development team is concerned about making the FlightGear experience pleasant for all users, hence we would like to gather feedback how many users would be affected by a change in practice.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |let's collect some some feedback [on DDS usage in FlightGear] until late November and restart this topic. We probably know by then what we do for the next release. &amp;quot;Somebody&amp;quot; needs to collect the feedback, however.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32791750/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-03&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If there are no problems reported, FG will change defaults to textures in DDS format with the 3.4 release, and then phase out the use of png textures.&lt;br /&gt;
In other words, a lack of feedback from end users might very well mean that future FlightGear versions may require DDS support and may not necessarily work for people with outdated hardware - so if you care about backward compatibility, please do get involved, test DDS support and provide feedback!&lt;br /&gt;
&lt;br /&gt;
=== What we need you to do? ===&lt;br /&gt;
&lt;br /&gt;
FlightGear already provides the simple option to test a DDS texture set. If you are running on Linux and use an open source graphics driver, please take 5 minutes to help during your next FG session:&lt;br /&gt;
&lt;br /&gt;
# Open the dialog under View -&amp;gt; Rendering&lt;br /&gt;
# Under 'Terrain texture scheme', change the default 'Region-specific' to 'Global alternative (DDS format)' &lt;br /&gt;
# Press 'Okay' - FG will reload the terrain&lt;br /&gt;
# Do you see proper textures on the terrain (they may look different and may also not fit the location perfectly)? If yes, you're fine. If you see monochromatic, or even bright/pink, colors or other rendering artifacts, your system may have problems with DDS.&lt;br /&gt;
# Change back to the texture scheme you like best&lt;br /&gt;
# Enter your experiences in the list below&lt;br /&gt;
&lt;br /&gt;
Thanks for your help!&lt;br /&gt;
&lt;br /&gt;
== Tested hardware and graphics drivers ==&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA proprietary driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 670M&lt;br /&gt;
|310.19&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|ThorstenR&lt;br /&gt;
|-&lt;br /&gt;
|N13M-NS Optimus &lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Tom_ch&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT640 &lt;br /&gt;
|343.13&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|lumni1968&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 780 Ti&lt;br /&gt;
|340.52&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Avionyx&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 750M&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Dutchguy&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 620 OEM&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|C-GGKV&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 650&lt;br /&gt;
|331.20&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|dany93&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 210&lt;br /&gt;
|304.117&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Jean-Philippe&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 520&lt;br /&gt;
|332.21&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|cossack90&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTS 250&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Madbyte&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 8600 GT&lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|szpajder&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 460 SE&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|f-jjth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA open source driver (Nouveau)===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 630&lt;br /&gt;
|&lt;br /&gt;
|{{no}}&lt;br /&gt;
|[https://plus.google.com/111978238381658236898/posts/VYSusMLRiH2 Jakub Klawiter]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Intel proprietary driver ===&lt;br /&gt;
&lt;br /&gt;
=== Intel open source driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!libtxc_dxtn installed?&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics 3000 (i7-2600K)&lt;br /&gt;
|10.2.6&lt;br /&gt;
|???&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|cdesai&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics 3000 (i3-2330M)&lt;br /&gt;
|10.2.2&lt;br /&gt;
|???&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Flyhigh/saiarcot895&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics Sandy Bridge (Pentium B980)&lt;br /&gt;
|10.1.0&lt;br /&gt;
|no&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|f-jjth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ATI/AMD proprietary driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|ATI Radeon HD 6310&lt;br /&gt;
|14.6-1&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|ZLSA&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 200 Series&lt;br /&gt;
|14.4&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Richi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ATI/AMD open source driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!libtxc_dxtn installed?&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon HD 7950&lt;br /&gt;
|10.2.1&lt;br /&gt;
|???&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Saga&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 270X&lt;br /&gt;
|10.3~git20140805&lt;br /&gt;
|no&lt;br /&gt;
|{{no}}&lt;br /&gt;
|nine&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 270X&lt;br /&gt;
|10.3~git20140805&lt;br /&gt;
|yes&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|nine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sample test ==&lt;br /&gt;
&lt;br /&gt;
=== DDS Test at the airport of Orio (Bergamo - Italy) ===&lt;br /&gt;
&lt;br /&gt;
[[File:Terrain texture scheme DDS 01-2000.jpg|800px|thumb|Comparison of texture in relation to the three possible choices in &amp;quot;Rendering Options&amp;quot; -&amp;gt; &amp;quot;Terrain texture scheme&amp;quot;]]The final result, with all the &amp;quot;Shader Options&amp;quot; active, is not very satisfactory, I would say very poor. Apparently not check on any improvement in the speed of image loading. I think on modern machines with quad-core processors 16 GB, with latest graphics cards (NVIDIA 870) 6 GB, the loading of these images is not really a &amp;quot;bottleneck&amp;quot;. I propose to insert the DDS functionality, but in a transparent way, ie convert &amp;quot;on the fly&amp;quot; the images before inserting them into the temporary memory, for example using the convert function of ImageMagick. However, I do not know if it really is a useful feature, I think there are many other things to do before this.&amp;lt;BR&amp;gt;These are the parameters used by the startup script &amp;quot;run_fgrun.sh&amp;quot;:&lt;br /&gt;
{{Note|To reproduce this test, you can use the following [[Fgfsrc]] file - you should set up [[$FG_ROOT]] and [[$FG_SCENERY]] specifically for your own system though.}}&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  --airport=LIME&lt;br /&gt;
  --aircraft=757-200-PW2040&lt;br /&gt;
  --disable-random-objects&lt;br /&gt;
  --enable-horizon-effect&lt;br /&gt;
  --enable-enhanced-lighting&lt;br /&gt;
  --enable-distance-attenuation&lt;br /&gt;
  --enable-ai-models&lt;br /&gt;
  --disable-ai-traffic&lt;br /&gt;
  --disable-real-weather-fetch&lt;br /&gt;
  --enable-clouds3d&lt;br /&gt;
  --bpp=32&lt;br /&gt;
  --texture-filtering=16&lt;br /&gt;
  --prop:/sim/rendering/multi-sample-buffers=1&lt;br /&gt;
  --prop:/sim/rendering/multi-samples=4&lt;br /&gt;
  --timeofday=noon&lt;br /&gt;
  --enable-terrasync&lt;br /&gt;
  --httpd=5500&lt;br /&gt;
  --props=5501&lt;br /&gt;
  --jpg-httpd=5502&lt;br /&gt;
  --multiplay=out,10,,0&lt;br /&gt;
  --multiplay=in,10,,0&lt;br /&gt;
  --disable-fgcom&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Excerpts from the ongoing discussion ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Here is my suggestion how to proceed:&lt;br /&gt;
&lt;br /&gt;
* Let's do your 1) and 2) on as many information channels we have.&lt;br /&gt;
* Collect the responses on a public place, I'd suggest a wiki page&lt;br /&gt;
* Do this for a well defined time frame. Is three month too much/too short?&lt;br /&gt;
* If we have the impression, it's safe to switch to DDS, define the dds texture sets as default, keeping the png sets as a fallback and publish how to use this fallback&lt;br /&gt;
* Keep this for one release.&lt;br /&gt;
* Depending on the feedback we get, keep it that way or move entirely to DDS.&lt;br /&gt;
&lt;br /&gt;
Does that sound reasonable for everybody?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32788459/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'd propose [...] this process:&lt;br /&gt;
# Get out the information first that one can change materials files, where to do it and what the characteristics of the different sets are.&lt;br /&gt;
# Ask users (especially those running with ATI or Intel on Linux) nicely to do a quick check whether dds works fine.&lt;br /&gt;
&lt;br /&gt;
I think we have an information management problem in relation to the user base - a frequent forum situation is that a user requests something that's already there, but the information is just not out. So if we even envision such a change, I would start spreading the relevant information basically yesterday.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787957/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== DDS Debate in 2012 ==&lt;br /&gt;
&lt;br /&gt;
=== Legalities ===&lt;br /&gt;
{{See also|Talk:Switching default texture format to DDS#Using patented algorithms}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |These kind of precompressed images limits their usage to a specific set of &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers. And no, due to the patent issues no open source code including ours &amp;lt;br/&amp;gt;&lt;br /&gt;
is allowed to implement compression/decompression code for these image &amp;lt;br/&amp;gt;&lt;br /&gt;
formats. Even if this is easy implementation wise.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |t is technically incorrect to provide these s3 patent &amp;lt;br/&amp;gt;&lt;br /&gt;
precompressed textures to a driver that does not announce the apropriate &amp;lt;br/&amp;gt;&lt;br /&gt;
extension and since we are not allowed to code something that deompresses &amp;lt;br/&amp;gt;&lt;br /&gt;
this, I think we should avoid using this compression for all the provided &amp;lt;br/&amp;gt;&lt;br /&gt;
models/textures.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I think of a warning that is issued from the image loader in flightgear that &amp;lt;br/&amp;gt;&lt;br /&gt;
detects when these precompressed textures are seen. So even people using &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers that just offer this extension have a chance to see that the provided &amp;lt;br/&amp;gt;&lt;br /&gt;
textures will not work for others.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28612879/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Portability Concerns  ===&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |These kind of precompressed images limits their usage to a specific set of &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers. And no, due to the patent issues no open source code including ours &amp;lt;br/&amp;gt;&lt;br /&gt;
is allowed to implement compression/decompression code for these image &amp;lt;br/&amp;gt;&lt;br /&gt;
formats. Even if this is easy implementation wise.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |And this is what I try to do now:&amp;lt;br/&amp;gt;&lt;br /&gt;
Object against using these patented compression algorithms.&amp;lt;br/&amp;gt;&lt;br /&gt;
I do not care for the on disk format of any image file we have. But the problem &amp;lt;br/&amp;gt;&lt;br /&gt;
is that some kind of precompression that can be stored in these dds files &amp;lt;br/&amp;gt;&lt;br /&gt;
cannot be used with other drivers than the closed ati and nvidia ones.&amp;lt;br/&amp;gt;&lt;br /&gt;
As long as these patented compression techiques are not used, every OpenGL &amp;lt;br/&amp;gt;&lt;br /&gt;
driver can use this and displays this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Think: Intel has the hugest marketshare in graphics today. If I remember &amp;lt;br/&amp;gt;&lt;br /&gt;
right, they sell more than ati and nvidia together (*). This kind of change in &amp;lt;br/&amp;gt;&lt;br /&gt;
effect rules out the majority of users as intel cannot work with these files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |It's not limited to dds. If you use osgconv xxx.dds xxx.ivs you will probably &amp;lt;br/&amp;gt;&lt;br /&gt;
have the same effect. So I think simply ommitting DDS is ok?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, much more important, the comment is not about 'your video driver'. It is &amp;lt;br/&amp;gt;&lt;br /&gt;
in your (Vivian) case even wrong. Your driver will display this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
So, in the end I do not care if it is 'your particular video driver' that does &amp;lt;br/&amp;gt;&lt;br /&gt;
not like this. You will just see this in the best case as the models look &amp;lt;br/&amp;gt;&lt;br /&gt;
wrong, and in the worst case fgfs just crashes the driver if these textures &amp;lt;br/&amp;gt;&lt;br /&gt;
are used.&amp;lt;br/&amp;gt;&lt;br /&gt;
What I really care about is that these files are expected not to work on a huge &amp;lt;br/&amp;gt;&lt;br /&gt;
amount of graphics boards out there. The point is to tell people doing &amp;lt;br/&amp;gt;&lt;br /&gt;
textures that they should omit compression so that this message disapears.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I would like to have a flightgear that is by default just running on every &amp;lt;br/&amp;gt;&lt;br /&gt;
average system. Having this run faster on a special configured system with some &amp;lt;br/&amp;gt;&lt;br /&gt;
better configuration options and hand tuned hardware and drivers is very fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
But without tuning it must at least work in an acceptable way.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I have checked in a change to flightgear to make the use of the compressed &amp;lt;br/&amp;gt;&lt;br /&gt;
internal formats a starttime configuration option.&amp;lt;br/&amp;gt;&lt;br /&gt;
I am still interrested if we have that hangs also with texture compression &amp;lt;br/&amp;gt;&lt;br /&gt;
disabled and without providing precompressed dds textures?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28602775/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |this is the reason for the message. If your machine would refuse to display this you, &amp;lt;br/&amp;gt;&lt;br /&gt;
developing that, would probably just say 'nice try, but it does not work' &amp;lt;br/&amp;gt;&lt;br /&gt;
before you check in something. In the case it displays fine, you probably say &amp;lt;br/&amp;gt;&lt;br /&gt;
'it works here, so I assume it works also for others, lets do'.&amp;lt;br/&amp;gt;&lt;br /&gt;
And the message tells you, 'despite of just seeing this working on this &amp;lt;br/&amp;gt;&lt;br /&gt;
current machine, it does not work for others'.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Seriously, I think plenty people not being on this list today and probably &amp;lt;br/&amp;gt;&lt;br /&gt;
never will be in touch with anybody here, will run into this issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
People here are those few guys from the power users that want to develop this &amp;lt;br/&amp;gt;&lt;br /&gt;
stuff.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I am not going to discuss the patent stuff. Please search the mesa-dev archives &amp;lt;br/&amp;gt;&lt;br /&gt;
for the discussion and see there why they think that the nvidia tools and &amp;lt;br/&amp;gt;&lt;br /&gt;
other stuff out there cannot be used. Really - it is not that the code for that &amp;lt;br/&amp;gt;&lt;br /&gt;
is too dificult or unavailable. I am not a lawyer and I cannot change this &amp;lt;br/&amp;gt;&lt;br /&gt;
world - even if I would like to in this regard.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I agree that techically for drivers/gpus supporting these compression formats &amp;lt;br/&amp;gt;&lt;br /&gt;
it would be best to use these precompressed files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Seriously, I think plenty people not being on this list today and probably &amp;lt;br/&amp;gt;&lt;br /&gt;
never will be in touch with anybody here, will run into this issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
People here are those few guys from the power users that want to develop this &amp;lt;br/&amp;gt;&lt;br /&gt;
stuff.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Your driver will display this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
So, in the end I do not care if it is 'your particular video driver' that does &amp;lt;br/&amp;gt;&lt;br /&gt;
not like this. You will just see this in the best case as the models look &amp;lt;br/&amp;gt;&lt;br /&gt;
wrong, and in the worst case fgfs just crashes the driver if these textures &amp;lt;br/&amp;gt;&lt;br /&gt;
are used.&amp;lt;br/&amp;gt;&lt;br /&gt;
What I really care about is that these files are expected not to work on a huge &amp;lt;br/&amp;gt;&lt;br /&gt;
amount of graphics boards out there. The point is to tell people doing &amp;lt;br/&amp;gt;&lt;br /&gt;
textures that they should omit compression so that this message disapears.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Approaches ===&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Well, the default f16 does not work anymore for example.&amp;lt;br/&amp;gt;&lt;br /&gt;
I have also never tried the new textures, but I assume that these also contain &amp;lt;br/&amp;gt;&lt;br /&gt;
precompressed data? Also you claimed that the old texture files start to bitrot &amp;lt;br/&amp;gt;&lt;br /&gt;
comared to the new ones which makes me think that the new standard should be &amp;lt;br/&amp;gt;&lt;br /&gt;
the dds files. This together makes me think that the dds files should replace &amp;lt;br/&amp;gt;&lt;br /&gt;
the traditional image files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Hmm, regarding dds.&amp;lt;br/&amp;gt;&lt;br /&gt;
I have to say, that not all OpenGL drivers support texture compression, and &amp;lt;br/&amp;gt;&lt;br /&gt;
the models with dds files, are those that I cannot display, because of that.&amp;lt;br/&amp;gt;&lt;br /&gt;
And in fact this will not happen to the open source drivers before something &amp;lt;br/&amp;gt;&lt;br /&gt;
about 2020 because of patent issues.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Sorry to step in this so late - probably way too late - but is there a reason &amp;lt;br/&amp;gt;&lt;br /&gt;
that the on disk format must be compressed?&amp;lt;br/&amp;gt;&lt;br /&gt;
The previous strategy to have on disk an format that everybody can read and to &amp;lt;br/&amp;gt;&lt;br /&gt;
make the driver compress them as needed/possible is better I think?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So, for me the f16 lost its livery lately - where I can live with this for the &amp;lt;br/&amp;gt;&lt;br /&gt;
f16, I hope that this does not happen to flightgear as a whole ...&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28594472/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Well, I hope that we can get rid of the compression.&amp;lt;br/&amp;gt;&lt;br /&gt;
Can somebody with the apropriate tools convert the compressed textures to non &amp;lt;br/&amp;gt;&lt;br /&gt;
compressed ones? That could still be dds, but dds without these compressions &amp;lt;br/&amp;gt;&lt;br /&gt;
that produce the warning. So no problem with cubemaps in dds as long as the &amp;lt;br/&amp;gt;&lt;br /&gt;
compression is not there.&amp;lt;br/&amp;gt;&lt;br /&gt;
Then *everybody* is again able to use this stuff.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678109/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I can see several approaches:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Just do not use the patented compression stuff. The precomputed mipmaps could &amp;lt;br/&amp;gt;&lt;br /&gt;
probably do the job of avoiding the hangs (hopefully? to be checked?). May be &amp;lt;br/&amp;gt;&lt;br /&gt;
we could lower disk space usage by providing a dds.gz or similar wrapper?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* If it's just the mipmaps. May be we can precompute the mipmaps using the cpu &amp;lt;br/&amp;gt;&lt;br /&gt;
in the database loader thread. This would help all textures not only the ones &amp;lt;br/&amp;gt;&lt;br /&gt;
that could be converted. May be this is the most generic solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Implement some kind of image lookup order that knows if the compressed files &amp;lt;br/&amp;gt;&lt;br /&gt;
could be handled or not. On loading an image in case of available compression &amp;lt;br/&amp;gt;&lt;br /&gt;
first try to find a dds file with the same name of the original one. That &amp;lt;br/&amp;gt;&lt;br /&gt;
involves some 'magic' which often leads to problems but that could at least &amp;lt;br/&amp;gt;&lt;br /&gt;
work.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606576/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&lt;br /&gt;
	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Next step is to make sure that compression is not required to avoid the hangs.&amp;lt;br/&amp;gt;&lt;br /&gt;
My favorite bet would be that then the new configure option regarding texture &amp;lt;br/&amp;gt;&lt;br /&gt;
compression needs to be set to none.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606576/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&lt;br /&gt;
	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
=== Precomputed mipmaps  ===&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Could we do dds files without compression but with precomputed mipmaps?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So at next, can you try out which combination of compression/provided &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmaps/forced simgear compression still work fine?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28603114/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The 4. Method that I can imagine is to precompute the mipmaps in the loader.&amp;lt;br/&amp;gt;&lt;br /&gt;
IIRC tests with some of the guys suffering from this problem, providing &amp;lt;br/&amp;gt;&lt;br /&gt;
premipmapped but uncompressed dds files had helped to get a fluent viewer.&amp;lt;br/&amp;gt;&lt;br /&gt;
The argument against providing these dds files in general was that these files &amp;lt;br/&amp;gt;&lt;br /&gt;
are really huge because of not including any compression and having all the &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmaps.&amp;lt;br/&amp;gt;&lt;br /&gt;
But that means we could at the point where the warning happens compute the &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmap levels on the cpu in the loader thread. osg::gluScaleImage could be &amp;lt;br/&amp;gt;&lt;br /&gt;
used to do this I think (or something similar not requireing a context). This &amp;lt;br/&amp;gt;&lt;br /&gt;
one is an imported version of the original glu function that is included in &amp;lt;br/&amp;gt;&lt;br /&gt;
osg for running on an EGL stack which no longer provides GLU.&amp;lt;br/&amp;gt;&lt;br /&gt;
That is take the image scale this to the 1st mipmap, take the 1.st mipmap and &amp;lt;br/&amp;gt;&lt;br /&gt;
scale this to the 2. mipmap and so forth.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
This would have the advantage that the png's do not deviate from the dds files &amp;lt;br/&amp;gt;&lt;br /&gt;
over time.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/29571679/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS usage in effects files&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-07-21&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I think then, computing mipmaps for any texture file on the CPU in the loader &amp;lt;br/&amp;gt;&lt;br /&gt;
thread should globally improove the situation.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also avoiding the compression already in the files should help every use case. &amp;lt;br/&amp;gt;&lt;br /&gt;
Except that the on disk memory consumption is higher.&amp;lt;br/&amp;gt;&lt;br /&gt;
Well and except that the database loader has more work to do on the CPU.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28612897/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Doing that differently will provide some overhead that could be kept at a &amp;lt;br/&amp;gt;&lt;br /&gt;
minimum I think:&amp;lt;br/&amp;gt;&lt;br /&gt;
For the disk usage, I think gzip compressing these will work sufficiently fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Ram usage of the images should not hurt too much. Sure the images are bigger &amp;lt;br/&amp;gt;&lt;br /&gt;
in memory. But fgfs is not just about images - far from that.&amp;lt;br/&amp;gt;&lt;br /&gt;
On the GPU, you can still use compression for the textures as the internal &amp;lt;br/&amp;gt;&lt;br /&gt;
format. This is what flightgear tries to do if the extension is supported &amp;lt;br/&amp;gt;&lt;br /&gt;
(checked by osg).&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The major point is that there are several ways that use slightly more &amp;lt;br/&amp;gt;&lt;br /&gt;
resources to get around this problem.&amp;lt;br/&amp;gt;&lt;br /&gt;
But once the patented compression is on disk, there is *no* way back for &amp;lt;br/&amp;gt;&lt;br /&gt;
people not having this feature.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If you have better ideas that do not rule out intel and the oss drivers, you &amp;lt;br/&amp;gt;&lt;br /&gt;
are welcome!&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |On unix I usually get the gzip plugin installed by osg (osgdb_gz.so). Is this &amp;lt;br/&amp;gt;&lt;br /&gt;
also the case for the default win32 case? Is there a osgdb_gz.dll or something &amp;lt;br/&amp;gt;&lt;br /&gt;
along the lines in the directory containing the plugins?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If yes, we can already tackle the size problem of the uncompressed dds files on &amp;lt;br/&amp;gt;&lt;br /&gt;
disk by just gzip compressing these makging a xxx.dds.gz from a xxx.dds and &amp;lt;br/&amp;gt;&lt;br /&gt;
just refering to xxx.dds.gz instead of xxx.dds. At least this works fine here. &amp;lt;br/&amp;gt;&lt;br /&gt;
And I assume that this works fine for all unix like operating systems including &amp;lt;br/&amp;gt;&lt;br /&gt;
mac?!&amp;lt;br/&amp;gt;&lt;br /&gt;
James?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |What about solution 6 with (uncompressed premipmapped dds).gz?&amp;lt;br/&amp;gt;&lt;br /&gt;
On linux this should work as long as you have zlib installed which could be &amp;lt;br/&amp;gt;&lt;br /&gt;
regarded as a system library there.&amp;lt;br/&amp;gt;&lt;br /&gt;
Can we rely on zlib being compield into our osg distributions on win32? We do &amp;lt;br/&amp;gt;&lt;br /&gt;
need zlib in any case, it's mostly about teaching osg that it finds our zlib on &amp;lt;br/&amp;gt;&lt;br /&gt;
configure and build the gz plugin.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/29571819/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS usage in effects files&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-07-21&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I implemented a mipmap control and generation tool in effects when I last updated&amp;lt;br/&amp;gt;&lt;br /&gt;
the urban shader. For the moment, it relies on hardware when the average operator &amp;lt;br/&amp;gt;&lt;br /&gt;
is used for all texture channels but it could easily be modified to compute &amp;lt;br/&amp;gt;&lt;br /&gt;
all mipmap on the CPU. look the &amp;lt;mipmap-control&amp;gt; effect option and &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmap.[ch]xx in SG material lib&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606692/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees&lt;br /&gt;
	&amp;amp;	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Frederic Bouvier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |As has been previously pointed out, the current DDS texture set is not&amp;lt;br/&amp;gt;&lt;br /&gt;
simply the global png texture set converted.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
For our own sanity and those of the users, we need to ensure that there's&amp;lt;br/&amp;gt;&lt;br /&gt;
an apples-to-apples comparison being made when we change the default.  I&amp;lt;br/&amp;gt;&lt;br /&gt;
therefore think we need to create a DDS version of the current default&amp;lt;br/&amp;gt;&lt;br /&gt;
texture set.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |2)  If we go down this path, we probably want to separate the underlying&amp;lt;br/&amp;gt;&lt;br /&gt;
texture format from the materials.xml definition entirely. For example, we&amp;lt;br/&amp;gt;&lt;br /&gt;
could simply remove the extention from the materials definition, and have&amp;lt;br/&amp;gt;&lt;br /&gt;
the C++ code append the appropriate extension based on a separate property.&amp;lt;br/&amp;gt;&lt;br /&gt;
This has a couple of advantages:&amp;lt;br/&amp;gt;&lt;br /&gt;
a) Makes testing easier and materials definitions less error-prone.&amp;lt;br/&amp;gt;&lt;br /&gt;
Assuming we have some batch job in place to generate dds textures, those&amp;lt;br/&amp;gt;&lt;br /&gt;
working on materials definitions could continue to work with png textures,&amp;lt;br/&amp;gt;&lt;br /&gt;
and only convert to dds as a final step (or indeed as part of the &amp;quot;make&amp;lt;br/&amp;gt;&lt;br /&gt;
release&amp;quot; jobs).&amp;lt;br/&amp;gt;&lt;br /&gt;
a) Avoids duplication of materials definitions.  Having just spent quite a&amp;lt;br/&amp;gt;&lt;br /&gt;
bit of time making the materials definitions more efficient, I'd like to&amp;lt;br/&amp;gt;&lt;br /&gt;
avoid making it worse again!&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I'm quite happy to do the C++ coding required for this in the materials&amp;lt;br/&amp;gt;&lt;br /&gt;
loader - it's probably pretty straightforward.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |That does leave the issue of what happens to the existing dds texture&amp;lt;br/&amp;gt;&lt;br /&gt;
definitions where there are special mipmap layers.  I'd suggest that we&amp;lt;br/&amp;gt;&lt;br /&gt;
have some Clever Script (tm) that is able to work out whether the DDS or&amp;lt;br/&amp;gt;&lt;br /&gt;
PNG version of a texture is the master, and then generate the other version&amp;lt;br/&amp;gt;&lt;br /&gt;
from it.  I admit that the PNG conversion of the DDS will lose some&amp;lt;br/&amp;gt;&lt;br /&gt;
information in this process, but it would allow those without DDS support&amp;lt;br/&amp;gt;&lt;br /&gt;
to at least use the textures.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |3) We need a sensible process for dealing with aircraft, which has been&amp;lt;br/&amp;gt;&lt;br /&gt;
identified as a significant issue.  Again, I think more aircraft developers&amp;lt;br/&amp;gt;&lt;br /&gt;
find .png easier to deal with, and there are a lot of aircraft out there&amp;lt;br/&amp;gt;&lt;br /&gt;
that would need conversion.  It feels like we need some build scripts to&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;compile&amp;quot; aircraft to use DDS textures.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A more far-fetched idea might be to have a cache of dds textures that are&amp;lt;br/&amp;gt;&lt;br /&gt;
generated on-the-fly, or when aircraft are loaded by the aircraft center.&amp;lt;br/&amp;gt;&lt;br /&gt;
Clearly that impacts initial load time the first time a new aircraft is&amp;lt;br/&amp;gt;&lt;br /&gt;
loaded, and would increase the size of .fgfs/ directories massively, but it&amp;lt;br/&amp;gt;&lt;br /&gt;
would remove the need for any work by aircraft/scenery developers and could&amp;lt;br/&amp;gt;&lt;br /&gt;
be made optional.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Challenges ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |&amp;quot;dds on an open source driver (radeon and intel) I was forced to use radeon at some time, and it was fun, the planes were pink :) once libtxc-dxtn installed, dds were loaded fine again, so it can be used on open source if you are ok to use the lib.&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Unless there's some way to make sure Linux users have that lib installed automatically, I'd say that's a no. We can't have a random user guess what additional packages to install. And maybe someone can educate me - googling the lib, this appears to be working for mesa - which usually is what we try to avoid if users do 3d rendering via mesa for performance reasons?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, what does 'If you are okay to use the lib' mean precisely? If that's some piece of code which circumvents a patented thing and isn't exactly legal and needs to be obtained from special servers outside the normal repo (sort of like the DVD decryption under Linux), then I doubt that's an option. Can anyone clarify?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32786414/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Another potential option would be to convert regions to .dds but keep &amp;lt;br/&amp;gt;&lt;br /&gt;
both global-png and global-dds, but making that user-friendly would &amp;lt;br/&amp;gt;&lt;br /&gt;
require a way to automatically detect lack of .dds support.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787117/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |On my system (Intel Ivybridge), DDS works with or without libtxc, but &amp;lt;br/&amp;gt;&lt;br /&gt;
this may not be true of all Intel hardware.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787117/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |You can specify the dependency on libtxc_dxtn, but then distributions like &amp;lt;br/&amp;gt;&lt;br /&gt;
openSUSE cannot ship FlightGear anymore. libtxc_dxtn implements S3 texture &amp;lt;br/&amp;gt;&lt;br /&gt;
compression which is patented in many parts of the world. Linux distributions &amp;lt;br/&amp;gt;&lt;br /&gt;
therefore cannot ship it. You can easily find it in add-on repositories, but &amp;lt;br/&amp;gt;&lt;br /&gt;
as I said, distributions would not be able to include FlightGear creating a &amp;lt;br/&amp;gt;&lt;br /&gt;
huge hurdle to installation for users.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787143/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
	and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stefan Seifert&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Debian/Ubuntu's libtxc is libtxc-dxtn-s2tc, which claims to avoid the &amp;lt;br/&amp;gt;&lt;br /&gt;
patent at a small cost in visual quality: &amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/divVerent/s2tc/wiki/libtxc_dxtn&amp;lt;br/&amp;gt;&lt;br /&gt;
That site also states that modern hardware doesn't need this software &amp;lt;br/&amp;gt;&lt;br /&gt;
fallback anyway (and hence won't hit either this quality loss or the &amp;lt;br/&amp;gt;&lt;br /&gt;
slowness of any software decoder), but doesn't define &amp;quot;modern hardware&amp;quot;.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787296/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The dds textures seem to have some advantages over our png textures and &amp;lt;br/&amp;gt;&lt;br /&gt;
using them is tempting.&amp;lt;br/&amp;gt;&lt;br /&gt;
But the points from Thorsten R. are good points and if there is any &amp;lt;br/&amp;gt;&lt;br /&gt;
chance to have a step-wise transition to the new format, I'd prefer that &amp;lt;br/&amp;gt;&lt;br /&gt;
path.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Don't we have an alternate dds texture set already in fgdata that is &amp;lt;br/&amp;gt;&lt;br /&gt;
enabled with an option? What about making this the default, keeping the &amp;lt;br/&amp;gt;&lt;br /&gt;
png texture set as an alternate. That would get us reports from users &amp;lt;br/&amp;gt;&lt;br /&gt;
unable to run dds textures and provide an easy fallback method.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787378/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |We currently have regions-png, global-png and global-dds; as I noted &amp;lt;br/&amp;gt;&lt;br /&gt;
earlier, switching to regions-dds, global-png and global-dds has the &amp;lt;br/&amp;gt;&lt;br /&gt;
issue that while changing the texture set is easy (dropdown in View &amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Rendering Options), knowing that one needs to do so may not be.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787717/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Can we invert the logic in, say, preferences.xml so xxx-dds is enabled &amp;lt;br/&amp;gt;&lt;br /&gt;
by default and switching to xxx-png has to be done in rendering options?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Torsten&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787787/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Changing the default (which is in preferences.xml) is easy: the problem &amp;lt;br/&amp;gt;&lt;br /&gt;
is how do users with non-.dds-supporting hardware (if this exists) know &amp;lt;br/&amp;gt;&lt;br /&gt;
they need to change back.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787851/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conversion ==&lt;br /&gt;
&lt;br /&gt;
Also see [[DDS texture conversion]].&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |the script take the .dds and not convert the png again if both exist(I remember having manually used &amp;quot;compare&amp;quot; to check if both the dds and the png looks the same, and if not i changed some names)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
notice that the normal maps are a particular case as you need to tell the effect the texture is dds with a line like:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
1&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
just be sure to include this in the normal map effects with png and it will be easier:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
0&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
about FG doing the dds conversion , nvcompress is told to be gpl compatible, but i'm not an expert here:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
http://nvidia-texture-tools.googlecode.com/svn/trunk/NVIDIA_Texture_Tools_README.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32799214/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean pellotier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-05&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I think this is an inheritance from some other game engine using a different convention, and therefore from the authoring tools that were developed for such an engine (photoshop exporter plugins and the like). If indeed the FGFS DDS textures are only meant to be used in FGFS then this should be fixed at the conversion time. Otherwise, if  we want other applications to easily reuse the FGFS textures then it would be better to stick to the most common convention. But I think we all agree that the source for any DDS texture should be kept, which pretty much precludes importing ready made DDS textures from 3rd party sources. Incidentally I think importing DDS artwork from other sources should be discouraged, since it will most likely run afoul of the  licensing terms of the original copyright owner.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32799324/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;TDO Brandano&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-05&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nothing as exotic. Just a different &amp;quot;origin&amp;quot; between OpenGL and Direct3D image conventions. OpenGL image origin is located in the lower-left corner, while Direct3D (hence DDS too) considers the top-left as the origin, resulting in a DDS image to appear vertically flipped when read in an OpenGL context. This has repercussions in the way normal-map decoded normals appear (hence the flag in the effects, which signals to the shader to flip the decoded normals). The rest is simply a matter of workflow: either use flipped coordinates and skewed/reversed conventions throughout your whole workflow, or just flip the image and (eventually) set a flag for the shader at &amp;quot;publish&amp;quot; time (said flag could be automatically set by the code on DDS texture load). ''(the latter seems more pragmatic/appealing)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Automatic conversion script is welcome indeed. Also I'm pretty sure that we have some people here ready to convert a PNG to DDS as soon as you say &amp;quot;Hey boys I created a new PNG file, can you convert this file for me please ?&amp;quot; :-)&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785592/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Clement de l'Hamaide&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |A few world about the conversion: once a png/rgb/jpg found, the script &amp;lt;br/&amp;gt;&lt;br /&gt;
try to guess the suitable dds format: with or without alpha channel, &amp;lt;br/&amp;gt;&lt;br /&gt;
bumpmap, if a .dds is allready found we just erase the png one, if not &amp;lt;br/&amp;gt;&lt;br /&gt;
we use nvcompress to get the dds. After we change the textures name &amp;lt;br/&amp;gt;&lt;br /&gt;
called in the differents files and that's it. There's a way to tell the &amp;lt;br/&amp;gt;&lt;br /&gt;
script what to do for each file, if the automatic mode is a failure.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I guess speaking theorically is not the best to make an opinion, so if &amp;lt;br/&amp;gt;&lt;br /&gt;
some of you are interested to make a test, I will make a 3.2 minimal dds &amp;lt;br/&amp;gt;&lt;br /&gt;
fgdata this we, once on my FG pc.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785602/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Pros ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I always got a loading problem with png textures, large  textures take &amp;lt;br/&amp;gt;&lt;br /&gt;
seconds to load and convert, and that ruin my close flight where you &amp;lt;br/&amp;gt;&lt;br /&gt;
can't afford to take pause in the air.&amp;lt;br/&amp;gt;&lt;br /&gt;
that's why i did a batch script to convert to dds ALL the textures in &amp;lt;br/&amp;gt;&lt;br /&gt;
the data, not only the matérial set, but everything. Now i only flight a &amp;lt;br/&amp;gt;&lt;br /&gt;
dds version of flightgear, and am quite happy with it, that's why i &amp;lt;br/&amp;gt;&lt;br /&gt;
propose to provide a dds fgdata for test, and maybe to make it an &amp;lt;br/&amp;gt;&lt;br /&gt;
alternate download possibility.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785602/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Cons ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |FG actually runs with dds textures, it just doesn't render anything reasonable, I believe you get monochromatic colors. But I don't expect the menu to be affected, it doesn't use textures.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787957/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |If it's relevant, I recall having S2TC compression problems when running Flightgear, and updating this package to a newer version manually (outside of the main repos) fixed the issue. I'm on an Intel HD 3000, but I'm guessing that Intel HD 4000 doesn't have this problem, since it seems to have better OpenGL and OpenCL support.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787875/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
	and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Saikrishna Arcot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core development projects]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Switching_default_texture_format_to_DDS&amp;diff=76001</id>
		<title>Switching default texture format to DDS</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Switching_default_texture_format_to_DDS&amp;diff=76001"/>
		<updated>2014-09-07T09:11:31Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* NVIDIA proprietary driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The FG development team is considering to '''switch the default format for textures from png to DDS'''. This would offer a number of significant advantages:&lt;br /&gt;
&lt;br /&gt;
* DDS is a more compact format than png, hence the download size of the FG base package may be decreased&lt;br /&gt;
* Compressed DDS can be directly used by many graphics cards, reducing also GPU memory consumption&lt;br /&gt;
* DDS stores all texture resolution levels, in essence no lower resolution levels have to be generated when the texture is used, hence it loads much faster into memory&lt;br /&gt;
* The resolution levels ('mipmaps') can be customized, allowing for some interesting effects at no performance cost&lt;br /&gt;
&lt;br /&gt;
Practically all commercial simulations use DDS for these reasons. &lt;br /&gt;
&lt;br /&gt;
== Feedback needed - should FlightGear switch the defaults to DDS format for terrain texturing? ==&lt;br /&gt;
&lt;br /&gt;
However, the DDS compression algorithm is patented, which means that it is not readily available for open source graphics drivers used by Linux distributions. Dependent on the specific hardware, this may or may not be a problem (modern graphics cards typically do not need the driver to process DDS, for older graphics cards there are non-patented workarounds available which decompress the DDS on the software level). The development team is concerned about making the FlightGear experience pleasant for all users, hence we would like to gather feedback how many users would be affected by a change in practice.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |let's collect some some feedback [on DDS usage in FlightGear] until late November and restart this topic. We probably know by then what we do for the next release. &amp;quot;Somebody&amp;quot; needs to collect the feedback, however.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32791750/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-03&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If there are no problems reported, FG will change defaults to textures in DDS format with the 3.4 release, and then phase out the use of png textures.&lt;br /&gt;
In other words, a lack of feedback from end users might very well mean that future FlightGear versions may require DDS support and may not necessarily work for people with outdated hardware - so if you care about backward compatibility, please do get involved, test DDS support and provide feedback!&lt;br /&gt;
&lt;br /&gt;
=== What we need you to do? ===&lt;br /&gt;
&lt;br /&gt;
FlightGear already provides the simple option to test a DDS texture set. If you are running on Linux and use an open source graphics driver, please take 5 minutes to help during your next FG session:&lt;br /&gt;
&lt;br /&gt;
# Open the dialog under View -&amp;gt; Rendering&lt;br /&gt;
# Under 'Terrain texture scheme', change the default 'Region-specific' to 'Global alternative (DDS format)' &lt;br /&gt;
# Press 'Okay' - FG will reload the terrain&lt;br /&gt;
# Do you see proper textures on the terrain (they may look different and may also not fit the location perfectly)? If yes, you're fine. If you see monochromatic, or even bright/pink, colors or other rendering artifacts, your system may have problems with DDS.&lt;br /&gt;
# Change back to the texture scheme you like best&lt;br /&gt;
# Enter your experiences in the list below&lt;br /&gt;
&lt;br /&gt;
Thanks for your help!&lt;br /&gt;
&lt;br /&gt;
== Tested hardware and graphics drivers ==&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA proprietary driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 670M&lt;br /&gt;
|310.19&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|ThorstenR&lt;br /&gt;
|-&lt;br /&gt;
|N13M-NS Optimus &lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Tom_ch&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT640 &lt;br /&gt;
|343.13&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|lumni1968&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 780 Ti&lt;br /&gt;
|340.52&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Avionyx&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 750M&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Dutchguy&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 620 OEM&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|C-GGKV&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 650&lt;br /&gt;
|331.20&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|dany93&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 210&lt;br /&gt;
|304.117&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Jean-Philippe&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 520&lt;br /&gt;
|332.21&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|cossack90&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTS 250&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Madbyte&lt;br /&gt;
|-&lt;br /&gt;
|GeForce 8600 GT&lt;br /&gt;
|340.32&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|szpajder&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GTX 460 SE&lt;br /&gt;
|331.38&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|f-jjth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA open source driver (Nouveau)===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|GeForce GT 630&lt;br /&gt;
|&lt;br /&gt;
|{{no}}&lt;br /&gt;
|[https://plus.google.com/111978238381658236898/posts/VYSusMLRiH2 Jakub Klawiter]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Intel proprietary driver ===&lt;br /&gt;
&lt;br /&gt;
=== Intel open source driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!libtxc_dxtn installed?&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics 3000 (i7-2600K)&lt;br /&gt;
|10.2.6&lt;br /&gt;
|???&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|cdesai&lt;br /&gt;
|-&lt;br /&gt;
|HD Graphics 3000 (i3-2330M)&lt;br /&gt;
|10.2.2&lt;br /&gt;
|???&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Flyhigh/saiarcot895&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ATI/AMD proprietary driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|ATI Radeon HD 6310&lt;br /&gt;
|14.6-1&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|ZLSA&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 200 Series&lt;br /&gt;
|14.4&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Richi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ATI/AMD open source driver ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Card&lt;br /&gt;
!Driver&lt;br /&gt;
!libtxc_dxtn installed?&lt;br /&gt;
!DDS ok&lt;br /&gt;
!Reported by&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon HD 7950&lt;br /&gt;
|10.2.1&lt;br /&gt;
|???&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|Saga&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 270X&lt;br /&gt;
|10.3~git20140805&lt;br /&gt;
|no&lt;br /&gt;
|{{no}}&lt;br /&gt;
|nine&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AMD Radeon R9 270X&lt;br /&gt;
|10.3~git20140805&lt;br /&gt;
|yes&lt;br /&gt;
|{{yes}}&lt;br /&gt;
|nine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sample test ==&lt;br /&gt;
&lt;br /&gt;
=== DDS Test at the airport of Orio (Bergamo - Italy) ===&lt;br /&gt;
&lt;br /&gt;
[[File:Terrain texture scheme DDS 01-2000.jpg|800px|thumb|Comparison of texture in relation to the three possible choices in &amp;quot;Rendering Options&amp;quot; -&amp;gt; &amp;quot;Terrain texture scheme&amp;quot;]]The final result, with all the &amp;quot;Shader Options&amp;quot; active, is not very satisfactory, I would say very poor. Apparently not check on any improvement in the speed of image loading. I think on modern machines with quad-core processors 16 GB, with latest graphics cards (NVIDIA 870) 6 GB, the loading of these images is not really a &amp;quot;bottleneck&amp;quot;. I propose to insert the DDS functionality, but in a transparent way, ie convert &amp;quot;on the fly&amp;quot; the images before inserting them into the temporary memory, for example using the convert function of ImageMagick. However, I do not know if it really is a useful feature, I think there are many other things to do before this.&amp;lt;BR&amp;gt;These are the parameters used by the startup script &amp;quot;run_fgrun.sh&amp;quot;:&lt;br /&gt;
{{Note|To reproduce this test, you can use the following [[Fgfsrc]] file - you should set up [[$FG_ROOT]] and [[$FG_SCENERY]] specifically for your own system though.}}&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  --airport=LIME&lt;br /&gt;
  --aircraft=757-200-PW2040&lt;br /&gt;
  --disable-random-objects&lt;br /&gt;
  --enable-horizon-effect&lt;br /&gt;
  --enable-enhanced-lighting&lt;br /&gt;
  --enable-distance-attenuation&lt;br /&gt;
  --enable-ai-models&lt;br /&gt;
  --disable-ai-traffic&lt;br /&gt;
  --disable-real-weather-fetch&lt;br /&gt;
  --enable-clouds3d&lt;br /&gt;
  --bpp=32&lt;br /&gt;
  --texture-filtering=16&lt;br /&gt;
  --prop:/sim/rendering/multi-sample-buffers=1&lt;br /&gt;
  --prop:/sim/rendering/multi-samples=4&lt;br /&gt;
  --timeofday=noon&lt;br /&gt;
  --enable-terrasync&lt;br /&gt;
  --httpd=5500&lt;br /&gt;
  --props=5501&lt;br /&gt;
  --jpg-httpd=5502&lt;br /&gt;
  --multiplay=out,10,,0&lt;br /&gt;
  --multiplay=in,10,,0&lt;br /&gt;
  --disable-fgcom&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Excerpts from the ongoing discussion ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Here is my suggestion how to proceed:&lt;br /&gt;
&lt;br /&gt;
* Let's do your 1) and 2) on as many information channels we have.&lt;br /&gt;
* Collect the responses on a public place, I'd suggest a wiki page&lt;br /&gt;
* Do this for a well defined time frame. Is three month too much/too short?&lt;br /&gt;
* If we have the impression, it's safe to switch to DDS, define the dds texture sets as default, keeping the png sets as a fallback and publish how to use this fallback&lt;br /&gt;
* Keep this for one release.&lt;br /&gt;
* Depending on the feedback we get, keep it that way or move entirely to DDS.&lt;br /&gt;
&lt;br /&gt;
Does that sound reasonable for everybody?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32788459/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'd propose [...] this process:&lt;br /&gt;
# Get out the information first that one can change materials files, where to do it and what the characteristics of the different sets are.&lt;br /&gt;
# Ask users (especially those running with ATI or Intel on Linux) nicely to do a quick check whether dds works fine.&lt;br /&gt;
&lt;br /&gt;
I think we have an information management problem in relation to the user base - a frequent forum situation is that a user requests something that's already there, but the information is just not out. So if we even envision such a change, I would start spreading the relevant information basically yesterday.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787957/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== DDS Debate in 2012 ==&lt;br /&gt;
&lt;br /&gt;
=== Legalities ===&lt;br /&gt;
{{See also|Talk:Switching default texture format to DDS#Using patented algorithms}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |These kind of precompressed images limits their usage to a specific set of &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers. And no, due to the patent issues no open source code including ours &amp;lt;br/&amp;gt;&lt;br /&gt;
is allowed to implement compression/decompression code for these image &amp;lt;br/&amp;gt;&lt;br /&gt;
formats. Even if this is easy implementation wise.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |t is technically incorrect to provide these s3 patent &amp;lt;br/&amp;gt;&lt;br /&gt;
precompressed textures to a driver that does not announce the apropriate &amp;lt;br/&amp;gt;&lt;br /&gt;
extension and since we are not allowed to code something that deompresses &amp;lt;br/&amp;gt;&lt;br /&gt;
this, I think we should avoid using this compression for all the provided &amp;lt;br/&amp;gt;&lt;br /&gt;
models/textures.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I think of a warning that is issued from the image loader in flightgear that &amp;lt;br/&amp;gt;&lt;br /&gt;
detects when these precompressed textures are seen. So even people using &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers that just offer this extension have a chance to see that the provided &amp;lt;br/&amp;gt;&lt;br /&gt;
textures will not work for others.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28612879/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Portability Concerns  ===&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |These kind of precompressed images limits their usage to a specific set of &amp;lt;br/&amp;gt;&lt;br /&gt;
drivers. And no, due to the patent issues no open source code including ours &amp;lt;br/&amp;gt;&lt;br /&gt;
is allowed to implement compression/decompression code for these image &amp;lt;br/&amp;gt;&lt;br /&gt;
formats. Even if this is easy implementation wise.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |And this is what I try to do now:&amp;lt;br/&amp;gt;&lt;br /&gt;
Object against using these patented compression algorithms.&amp;lt;br/&amp;gt;&lt;br /&gt;
I do not care for the on disk format of any image file we have. But the problem &amp;lt;br/&amp;gt;&lt;br /&gt;
is that some kind of precompression that can be stored in these dds files &amp;lt;br/&amp;gt;&lt;br /&gt;
cannot be used with other drivers than the closed ati and nvidia ones.&amp;lt;br/&amp;gt;&lt;br /&gt;
As long as these patented compression techiques are not used, every OpenGL &amp;lt;br/&amp;gt;&lt;br /&gt;
driver can use this and displays this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Think: Intel has the hugest marketshare in graphics today. If I remember &amp;lt;br/&amp;gt;&lt;br /&gt;
right, they sell more than ati and nvidia together (*). This kind of change in &amp;lt;br/&amp;gt;&lt;br /&gt;
effect rules out the majority of users as intel cannot work with these files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |It's not limited to dds. If you use osgconv xxx.dds xxx.ivs you will probably &amp;lt;br/&amp;gt;&lt;br /&gt;
have the same effect. So I think simply ommitting DDS is ok?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, much more important, the comment is not about 'your video driver'. It is &amp;lt;br/&amp;gt;&lt;br /&gt;
in your (Vivian) case even wrong. Your driver will display this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
So, in the end I do not care if it is 'your particular video driver' that does &amp;lt;br/&amp;gt;&lt;br /&gt;
not like this. You will just see this in the best case as the models look &amp;lt;br/&amp;gt;&lt;br /&gt;
wrong, and in the worst case fgfs just crashes the driver if these textures &amp;lt;br/&amp;gt;&lt;br /&gt;
are used.&amp;lt;br/&amp;gt;&lt;br /&gt;
What I really care about is that these files are expected not to work on a huge &amp;lt;br/&amp;gt;&lt;br /&gt;
amount of graphics boards out there. The point is to tell people doing &amp;lt;br/&amp;gt;&lt;br /&gt;
textures that they should omit compression so that this message disapears.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I would like to have a flightgear that is by default just running on every &amp;lt;br/&amp;gt;&lt;br /&gt;
average system. Having this run faster on a special configured system with some &amp;lt;br/&amp;gt;&lt;br /&gt;
better configuration options and hand tuned hardware and drivers is very fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
But without tuning it must at least work in an acceptable way.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I have checked in a change to flightgear to make the use of the compressed &amp;lt;br/&amp;gt;&lt;br /&gt;
internal formats a starttime configuration option.&amp;lt;br/&amp;gt;&lt;br /&gt;
I am still interrested if we have that hangs also with texture compression &amp;lt;br/&amp;gt;&lt;br /&gt;
disabled and without providing precompressed dds textures?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28602775/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |this is the reason for the message. If your machine would refuse to display this you, &amp;lt;br/&amp;gt;&lt;br /&gt;
developing that, would probably just say 'nice try, but it does not work' &amp;lt;br/&amp;gt;&lt;br /&gt;
before you check in something. In the case it displays fine, you probably say &amp;lt;br/&amp;gt;&lt;br /&gt;
'it works here, so I assume it works also for others, lets do'.&amp;lt;br/&amp;gt;&lt;br /&gt;
And the message tells you, 'despite of just seeing this working on this &amp;lt;br/&amp;gt;&lt;br /&gt;
current machine, it does not work for others'.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Seriously, I think plenty people not being on this list today and probably &amp;lt;br/&amp;gt;&lt;br /&gt;
never will be in touch with anybody here, will run into this issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
People here are those few guys from the power users that want to develop this &amp;lt;br/&amp;gt;&lt;br /&gt;
stuff.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I am not going to discuss the patent stuff. Please search the mesa-dev archives &amp;lt;br/&amp;gt;&lt;br /&gt;
for the discussion and see there why they think that the nvidia tools and &amp;lt;br/&amp;gt;&lt;br /&gt;
other stuff out there cannot be used. Really - it is not that the code for that &amp;lt;br/&amp;gt;&lt;br /&gt;
is too dificult or unavailable. I am not a lawyer and I cannot change this &amp;lt;br/&amp;gt;&lt;br /&gt;
world - even if I would like to in this regard.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I agree that techically for drivers/gpus supporting these compression formats &amp;lt;br/&amp;gt;&lt;br /&gt;
it would be best to use these precompressed files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Seriously, I think plenty people not being on this list today and probably &amp;lt;br/&amp;gt;&lt;br /&gt;
never will be in touch with anybody here, will run into this issue.&amp;lt;br/&amp;gt;&lt;br /&gt;
People here are those few guys from the power users that want to develop this &amp;lt;br/&amp;gt;&lt;br /&gt;
stuff.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Your driver will display this fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
So, in the end I do not care if it is 'your particular video driver' that does &amp;lt;br/&amp;gt;&lt;br /&gt;
not like this. You will just see this in the best case as the models look &amp;lt;br/&amp;gt;&lt;br /&gt;
wrong, and in the worst case fgfs just crashes the driver if these textures &amp;lt;br/&amp;gt;&lt;br /&gt;
are used.&amp;lt;br/&amp;gt;&lt;br /&gt;
What I really care about is that these files are expected not to work on a huge &amp;lt;br/&amp;gt;&lt;br /&gt;
amount of graphics boards out there. The point is to tell people doing &amp;lt;br/&amp;gt;&lt;br /&gt;
textures that they should omit compression so that this message disapears.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Approaches ===&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Well, the default f16 does not work anymore for example.&amp;lt;br/&amp;gt;&lt;br /&gt;
I have also never tried the new textures, but I assume that these also contain &amp;lt;br/&amp;gt;&lt;br /&gt;
precompressed data? Also you claimed that the old texture files start to bitrot &amp;lt;br/&amp;gt;&lt;br /&gt;
comared to the new ones which makes me think that the new standard should be &amp;lt;br/&amp;gt;&lt;br /&gt;
the dds files. This together makes me think that the dds files should replace &amp;lt;br/&amp;gt;&lt;br /&gt;
the traditional image files.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28604650/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Hmm, regarding dds.&amp;lt;br/&amp;gt;&lt;br /&gt;
I have to say, that not all OpenGL drivers support texture compression, and &amp;lt;br/&amp;gt;&lt;br /&gt;
the models with dds files, are those that I cannot display, because of that.&amp;lt;br/&amp;gt;&lt;br /&gt;
And in fact this will not happen to the open source drivers before something &amp;lt;br/&amp;gt;&lt;br /&gt;
about 2020 because of patent issues.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Sorry to step in this so late - probably way too late - but is there a reason &amp;lt;br/&amp;gt;&lt;br /&gt;
that the on disk format must be compressed?&amp;lt;br/&amp;gt;&lt;br /&gt;
The previous strategy to have on disk an format that everybody can read and to &amp;lt;br/&amp;gt;&lt;br /&gt;
make the driver compress them as needed/possible is better I think?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So, for me the f16 lost its livery lately - where I can live with this for the &amp;lt;br/&amp;gt;&lt;br /&gt;
f16, I hope that this does not happen to flightgear as a whole ...&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28594472/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-27&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Well, I hope that we can get rid of the compression.&amp;lt;br/&amp;gt;&lt;br /&gt;
Can somebody with the apropriate tools convert the compressed textures to non &amp;lt;br/&amp;gt;&lt;br /&gt;
compressed ones? That could still be dds, but dds without these compressions &amp;lt;br/&amp;gt;&lt;br /&gt;
that produce the warning. So no problem with cubemaps in dds as long as the &amp;lt;br/&amp;gt;&lt;br /&gt;
compression is not there.&amp;lt;br/&amp;gt;&lt;br /&gt;
Then *everybody* is again able to use this stuff.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678109/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I can see several approaches:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Just do not use the patented compression stuff. The precomputed mipmaps could &amp;lt;br/&amp;gt;&lt;br /&gt;
probably do the job of avoiding the hangs (hopefully? to be checked?). May be &amp;lt;br/&amp;gt;&lt;br /&gt;
we could lower disk space usage by providing a dds.gz or similar wrapper?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* If it's just the mipmaps. May be we can precompute the mipmaps using the cpu &amp;lt;br/&amp;gt;&lt;br /&gt;
in the database loader thread. This would help all textures not only the ones &amp;lt;br/&amp;gt;&lt;br /&gt;
that could be converted. May be this is the most generic solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Implement some kind of image lookup order that knows if the compressed files &amp;lt;br/&amp;gt;&lt;br /&gt;
could be handled or not. On loading an image in case of available compression &amp;lt;br/&amp;gt;&lt;br /&gt;
first try to find a dds file with the same name of the original one. That &amp;lt;br/&amp;gt;&lt;br /&gt;
involves some 'magic' which often leads to problems but that could at least &amp;lt;br/&amp;gt;&lt;br /&gt;
work.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606576/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&lt;br /&gt;
	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Next step is to make sure that compression is not required to avoid the hangs.&amp;lt;br/&amp;gt;&lt;br /&gt;
My favorite bet would be that then the new configure option regarding texture &amp;lt;br/&amp;gt;&lt;br /&gt;
compression needs to be set to none.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606576/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&lt;br /&gt;
	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
=== Precomputed mipmaps  ===&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Could we do dds files without compression but with precomputed mipmaps?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
So at next, can you try out which combination of compression/provided &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmaps/forced simgear compression still work fine?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28603114/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Improving random trees &amp;amp; buildings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-29&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The 4. Method that I can imagine is to precompute the mipmaps in the loader.&amp;lt;br/&amp;gt;&lt;br /&gt;
IIRC tests with some of the guys suffering from this problem, providing &amp;lt;br/&amp;gt;&lt;br /&gt;
premipmapped but uncompressed dds files had helped to get a fluent viewer.&amp;lt;br/&amp;gt;&lt;br /&gt;
The argument against providing these dds files in general was that these files &amp;lt;br/&amp;gt;&lt;br /&gt;
are really huge because of not including any compression and having all the &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmaps.&amp;lt;br/&amp;gt;&lt;br /&gt;
But that means we could at the point where the warning happens compute the &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmap levels on the cpu in the loader thread. osg::gluScaleImage could be &amp;lt;br/&amp;gt;&lt;br /&gt;
used to do this I think (or something similar not requireing a context). This &amp;lt;br/&amp;gt;&lt;br /&gt;
one is an imported version of the original glu function that is included in &amp;lt;br/&amp;gt;&lt;br /&gt;
osg for running on an EGL stack which no longer provides GLU.&amp;lt;br/&amp;gt;&lt;br /&gt;
That is take the image scale this to the 1st mipmap, take the 1.st mipmap and &amp;lt;br/&amp;gt;&lt;br /&gt;
scale this to the 2. mipmap and so forth.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
This would have the advantage that the png's do not deviate from the dds files &amp;lt;br/&amp;gt;&lt;br /&gt;
over time.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/29571679/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS usage in effects files&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-07-21&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I think then, computing mipmaps for any texture file on the CPU in the loader &amp;lt;br/&amp;gt;&lt;br /&gt;
thread should globally improove the situation.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also avoiding the compression already in the files should help every use case. &amp;lt;br/&amp;gt;&lt;br /&gt;
Except that the on disk memory consumption is higher.&amp;lt;br/&amp;gt;&lt;br /&gt;
Well and except that the database loader has more work to do on the CPU.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28612897/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Doing that differently will provide some overhead that could be kept at a &amp;lt;br/&amp;gt;&lt;br /&gt;
minimum I think:&amp;lt;br/&amp;gt;&lt;br /&gt;
For the disk usage, I think gzip compressing these will work sufficiently fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Ram usage of the images should not hurt too much. Sure the images are bigger &amp;lt;br/&amp;gt;&lt;br /&gt;
in memory. But fgfs is not just about images - far from that.&amp;lt;br/&amp;gt;&lt;br /&gt;
On the GPU, you can still use compression for the textures as the internal &amp;lt;br/&amp;gt;&lt;br /&gt;
format. This is what flightgear tries to do if the extension is supported &amp;lt;br/&amp;gt;&lt;br /&gt;
(checked by osg).&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The major point is that there are several ways that use slightly more &amp;lt;br/&amp;gt;&lt;br /&gt;
resources to get around this problem.&amp;lt;br/&amp;gt;&lt;br /&gt;
But once the patented compression is on disk, there is *no* way back for &amp;lt;br/&amp;gt;&lt;br /&gt;
people not having this feature.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If you have better ideas that do not rule out intel and the oss drivers, you &amp;lt;br/&amp;gt;&lt;br /&gt;
are welcome!&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678784/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |On unix I usually get the gzip plugin installed by osg (osgdb_gz.so). Is this &amp;lt;br/&amp;gt;&lt;br /&gt;
also the case for the default win32 case? Is there a osgdb_gz.dll or something &amp;lt;br/&amp;gt;&lt;br /&gt;
along the lines in the directory containing the plugins?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If yes, we can already tackle the size problem of the uncompressed dds files on &amp;lt;br/&amp;gt;&lt;br /&gt;
disk by just gzip compressing these makging a xxx.dds.gz from a xxx.dds and &amp;lt;br/&amp;gt;&lt;br /&gt;
just refering to xxx.dds.gz instead of xxx.dds. At least this works fine here. &amp;lt;br/&amp;gt;&lt;br /&gt;
And I assume that this works fine for all unix like operating systems including &amp;lt;br/&amp;gt;&lt;br /&gt;
mac?!&amp;lt;br/&amp;gt;&lt;br /&gt;
James?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28678235/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees &amp;amp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-01-15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |What about solution 6 with (uncompressed premipmapped dds).gz?&amp;lt;br/&amp;gt;&lt;br /&gt;
On linux this should work as long as you have zlib installed which could be &amp;lt;br/&amp;gt;&lt;br /&gt;
regarded as a system library there.&amp;lt;br/&amp;gt;&lt;br /&gt;
Can we rely on zlib being compield into our osg distributions on win32? We do &amp;lt;br/&amp;gt;&lt;br /&gt;
need zlib in any case, it's mostly about teaching osg that it finds our zlib on &amp;lt;br/&amp;gt;&lt;br /&gt;
configure and build the gz plugin.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/29571819/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS usage in effects files&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Mathias Fröhlich&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2012-07-21&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I implemented a mipmap control and generation tool in effects when I last updated&amp;lt;br/&amp;gt;&lt;br /&gt;
the urban shader. For the moment, it relies on hardware when the average operator &amp;lt;br/&amp;gt;&lt;br /&gt;
is used for all texture channels but it could easily be modified to compute &amp;lt;br/&amp;gt;&lt;br /&gt;
all mipmap on the CPU. look the &amp;lt;mipmap-control&amp;gt; effect option and &amp;lt;br/&amp;gt;&lt;br /&gt;
mipmap.[ch]xx in SG material lib&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/28606692/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] DDS texures (Was: Improving random trees&lt;br /&gt;
	&amp;amp;	buildings)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Frederic Bouvier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2011-12-30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |As has been previously pointed out, the current DDS texture set is not&amp;lt;br/&amp;gt;&lt;br /&gt;
simply the global png texture set converted.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
For our own sanity and those of the users, we need to ensure that there's&amp;lt;br/&amp;gt;&lt;br /&gt;
an apples-to-apples comparison being made when we change the default.  I&amp;lt;br/&amp;gt;&lt;br /&gt;
therefore think we need to create a DDS version of the current default&amp;lt;br/&amp;gt;&lt;br /&gt;
texture set.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |2)  If we go down this path, we probably want to separate the underlying&amp;lt;br/&amp;gt;&lt;br /&gt;
texture format from the materials.xml definition entirely. For example, we&amp;lt;br/&amp;gt;&lt;br /&gt;
could simply remove the extention from the materials definition, and have&amp;lt;br/&amp;gt;&lt;br /&gt;
the C++ code append the appropriate extension based on a separate property.&amp;lt;br/&amp;gt;&lt;br /&gt;
This has a couple of advantages:&amp;lt;br/&amp;gt;&lt;br /&gt;
a) Makes testing easier and materials definitions less error-prone.&amp;lt;br/&amp;gt;&lt;br /&gt;
Assuming we have some batch job in place to generate dds textures, those&amp;lt;br/&amp;gt;&lt;br /&gt;
working on materials definitions could continue to work with png textures,&amp;lt;br/&amp;gt;&lt;br /&gt;
and only convert to dds as a final step (or indeed as part of the &amp;quot;make&amp;lt;br/&amp;gt;&lt;br /&gt;
release&amp;quot; jobs).&amp;lt;br/&amp;gt;&lt;br /&gt;
a) Avoids duplication of materials definitions.  Having just spent quite a&amp;lt;br/&amp;gt;&lt;br /&gt;
bit of time making the materials definitions more efficient, I'd like to&amp;lt;br/&amp;gt;&lt;br /&gt;
avoid making it worse again!&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I'm quite happy to do the C++ coding required for this in the materials&amp;lt;br/&amp;gt;&lt;br /&gt;
loader - it's probably pretty straightforward.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |That does leave the issue of what happens to the existing dds texture&amp;lt;br/&amp;gt;&lt;br /&gt;
definitions where there are special mipmap layers.  I'd suggest that we&amp;lt;br/&amp;gt;&lt;br /&gt;
have some Clever Script (tm) that is able to work out whether the DDS or&amp;lt;br/&amp;gt;&lt;br /&gt;
PNG version of a texture is the master, and then generate the other version&amp;lt;br/&amp;gt;&lt;br /&gt;
from it.  I admit that the PNG conversion of the DDS will lose some&amp;lt;br/&amp;gt;&lt;br /&gt;
information in this process, but it would allow those without DDS support&amp;lt;br/&amp;gt;&lt;br /&gt;
to at least use the textures.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |3) We need a sensible process for dealing with aircraft, which has been&amp;lt;br/&amp;gt;&lt;br /&gt;
identified as a significant issue.  Again, I think more aircraft developers&amp;lt;br/&amp;gt;&lt;br /&gt;
find .png easier to deal with, and there are a lot of aircraft out there&amp;lt;br/&amp;gt;&lt;br /&gt;
that would need conversion.  It feels like we need some build scripts to&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;compile&amp;quot; aircraft to use DDS textures.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A more far-fetched idea might be to have a cache of dds textures that are&amp;lt;br/&amp;gt;&lt;br /&gt;
generated on-the-fly, or when aircraft are loaded by the aircraft center.&amp;lt;br/&amp;gt;&lt;br /&gt;
Clearly that impacts initial load time the first time a new aircraft is&amp;lt;br/&amp;gt;&lt;br /&gt;
loaded, and would increase the size of .fgfs/ directories massively, but it&amp;lt;br/&amp;gt;&lt;br /&gt;
would remove the need for any work by aircraft/scenery developers and could&amp;lt;br/&amp;gt;&lt;br /&gt;
be made optional.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-04&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Challenges ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |&amp;quot;dds on an open source driver (radeon and intel) I was forced to use radeon at some time, and it was fun, the planes were pink :) once libtxc-dxtn installed, dds were loaded fine again, so it can be used on open source if you are ok to use the lib.&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Unless there's some way to make sure Linux users have that lib installed automatically, I'd say that's a no. We can't have a random user guess what additional packages to install. And maybe someone can educate me - googling the lib, this appears to be working for mesa - which usually is what we try to avoid if users do 3d rendering via mesa for performance reasons?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, what does 'If you are okay to use the lib' mean precisely? If that's some piece of code which circumvents a patented thing and isn't exactly legal and needs to be obtained from special servers outside the normal repo (sort of like the DVD decryption under Linux), then I doubt that's an option. Can anyone clarify?&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32786414/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Another potential option would be to convert regions to .dds but keep &amp;lt;br/&amp;gt;&lt;br /&gt;
both global-png and global-dds, but making that user-friendly would &amp;lt;br/&amp;gt;&lt;br /&gt;
require a way to automatically detect lack of .dds support.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787117/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |On my system (Intel Ivybridge), DDS works with or without libtxc, but &amp;lt;br/&amp;gt;&lt;br /&gt;
this may not be true of all Intel hardware.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787117/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |You can specify the dependency on libtxc_dxtn, but then distributions like &amp;lt;br/&amp;gt;&lt;br /&gt;
openSUSE cannot ship FlightGear anymore. libtxc_dxtn implements S3 texture &amp;lt;br/&amp;gt;&lt;br /&gt;
compression which is patented in many parts of the world. Linux distributions &amp;lt;br/&amp;gt;&lt;br /&gt;
therefore cannot ship it. You can easily find it in add-on repositories, but &amp;lt;br/&amp;gt;&lt;br /&gt;
as I said, distributions would not be able to include FlightGear creating a &amp;lt;br/&amp;gt;&lt;br /&gt;
huge hurdle to installation for users.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787143/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
	and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Stefan Seifert&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Debian/Ubuntu's libtxc is libtxc-dxtn-s2tc, which claims to avoid the &amp;lt;br/&amp;gt;&lt;br /&gt;
patent at a small cost in visual quality: &amp;lt;br/&amp;gt;&lt;br /&gt;
https://github.com/divVerent/s2tc/wiki/libtxc_dxtn&amp;lt;br/&amp;gt;&lt;br /&gt;
That site also states that modern hardware doesn't need this software &amp;lt;br/&amp;gt;&lt;br /&gt;
fallback anyway (and hence won't hit either this quality loss or the &amp;lt;br/&amp;gt;&lt;br /&gt;
slowness of any software decoder), but doesn't define &amp;quot;modern hardware&amp;quot;.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787296/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |The dds textures seem to have some advantages over our png textures and &amp;lt;br/&amp;gt;&lt;br /&gt;
using them is tempting.&amp;lt;br/&amp;gt;&lt;br /&gt;
But the points from Thorsten R. are good points and if there is any &amp;lt;br/&amp;gt;&lt;br /&gt;
chance to have a step-wise transition to the new format, I'd prefer that &amp;lt;br/&amp;gt;&lt;br /&gt;
path.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Don't we have an alternate dds texture set already in fgdata that is &amp;lt;br/&amp;gt;&lt;br /&gt;
enabled with an option? What about making this the default, keeping the &amp;lt;br/&amp;gt;&lt;br /&gt;
png texture set as an alternate. That would get us reports from users &amp;lt;br/&amp;gt;&lt;br /&gt;
unable to run dds textures and provide an easy fallback method.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787378/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |We currently have regions-png, global-png and global-dds; as I noted &amp;lt;br/&amp;gt;&lt;br /&gt;
earlier, switching to regions-dds, global-png and global-dds has the &amp;lt;br/&amp;gt;&lt;br /&gt;
issue that while changing the texture set is easy (dropdown in View &amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Rendering Options), knowing that one needs to do so may not be.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787717/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Can we invert the logic in, say, preferences.xml so xxx-dds is enabled &amp;lt;br/&amp;gt;&lt;br /&gt;
by default and switching to xxx-png has to be done in rendering options?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Torsten&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787787/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Torsten Dreyer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Changing the default (which is in preferences.xml) is easy: the problem &amp;lt;br/&amp;gt;&lt;br /&gt;
is how do users with non-.dds-supporting hardware (if this exists) know &amp;lt;br/&amp;gt;&lt;br /&gt;
they need to change back.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787851/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Rebecca Palmer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conversion ==&lt;br /&gt;
&lt;br /&gt;
Also see [[DDS texture conversion]].&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |the script take the .dds and not convert the png again if both exist(I remember having manually used &amp;quot;compare&amp;quot; to check if both the dds and the png looks the same, and if not i changed some names)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
notice that the normal maps are a particular case as you need to tell the effect the texture is dds with a line like:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
1&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
just be sure to include this in the normal map effects with png and it will be easier:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
0&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
about FG doing the dds conversion , nvcompress is told to be gpl compatible, but i'm not an expert here:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
http://nvidia-texture-tools.googlecode.com/svn/trunk/NVIDIA_Texture_Tools_README.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32799214/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean pellotier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-05&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I think this is an inheritance from some other game engine using a different convention, and therefore from the authoring tools that were developed for such an engine (photoshop exporter plugins and the like). If indeed the FGFS DDS textures are only meant to be used in FGFS then this should be fixed at the conversion time. Otherwise, if  we want other applications to easily reuse the FGFS textures then it would be better to stick to the most common convention. But I think we all agree that the source for any DDS texture should be kept, which pretty much precludes importing ready made DDS textures from 3rd party sources. Incidentally I think importing DDS artwork from other sources should be discouraged, since it will most likely run afoul of the  licensing terms of the original copyright owner.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32799324/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;TDO Brandano&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-05&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Nothing as exotic. Just a different &amp;quot;origin&amp;quot; between OpenGL and Direct3D image conventions. OpenGL image origin is located in the lower-left corner, while Direct3D (hence DDS too) considers the top-left as the origin, resulting in a DDS image to appear vertically flipped when read in an OpenGL context. This has repercussions in the way normal-map decoded normals appear (hence the flag in the effects, which signals to the shader to flip the decoded normals). The rest is simply a matter of workflow: either use flipped coordinates and skewed/reversed conventions throughout your whole workflow, or just flip the image and (eventually) set a flag for the shader at &amp;quot;publish&amp;quot; time (said flag could be automatically set by the code on DDS texture load). ''(the latter seems more pragmatic/appealing)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Automatic conversion script is welcome indeed. Also I'm pretty sure that we have some people here ready to convert a PNG to DDS as soon as you say &amp;quot;Hey boys I created a new PNG file, can you convert this file for me please ?&amp;quot; :-)&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785592/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
 and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Clement de l'Hamaide&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |A few world about the conversion: once a png/rgb/jpg found, the script &amp;lt;br/&amp;gt;&lt;br /&gt;
try to guess the suitable dds format: with or without alpha channel, &amp;lt;br/&amp;gt;&lt;br /&gt;
bumpmap, if a .dds is allready found we just erase the png one, if not &amp;lt;br/&amp;gt;&lt;br /&gt;
we use nvcompress to get the dds. After we change the textures name &amp;lt;br/&amp;gt;&lt;br /&gt;
called in the differents files and that's it. There's a way to tell the &amp;lt;br/&amp;gt;&lt;br /&gt;
script what to do for each file, if the automatic mode is a failure.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
I guess speaking theorically is not the best to make an opinion, so if &amp;lt;br/&amp;gt;&lt;br /&gt;
some of you are interested to make a test, I will make a 3.2 minimal dds &amp;lt;br/&amp;gt;&lt;br /&gt;
fgdata this we, once on my FG pc.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785602/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Pros ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I always got a loading problem with png textures, large  textures take &amp;lt;br/&amp;gt;&lt;br /&gt;
seconds to load and convert, and that ruin my close flight where you &amp;lt;br/&amp;gt;&lt;br /&gt;
can't afford to take pause in the air.&amp;lt;br/&amp;gt;&lt;br /&gt;
that's why i did a batch script to convert to dds ALL the textures in &amp;lt;br/&amp;gt;&lt;br /&gt;
the data, not only the matérial set, but everything. Now i only flight a &amp;lt;br/&amp;gt;&lt;br /&gt;
dds version of flightgear, and am quite happy with it, that's why i &amp;lt;br/&amp;gt;&lt;br /&gt;
propose to provide a dds fgdata for test, and maybe to make it an &amp;lt;br/&amp;gt;&lt;br /&gt;
alternate download possibility.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32785602/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;jean&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Cons ==&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |FG actually runs with dds textures, it just doesn't render anything reasonable, I believe you get monochromatic colors. But I don't expect the menu to be affected, it doesn't use textures.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787957/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Renk Thorsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |If it's relevant, I recall having S2TC compression problems when running Flightgear, and updating this package to a newer version manually (outside of the main repos) fixed the issue. I'm on an Intel HD 3000, but I'm guessing that Intel HD 4000 doesn't have this problem, since it seems to have better OpenGL and OpenCL support.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32787875/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Download size,&lt;br /&gt;
	and hardware support (was .dds textures)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Saikrishna Arcot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2014-09-02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core development projects]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=75607</id>
		<title>Building using CMake - Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_using_CMake_-_Windows&amp;diff=75607"/>
		<updated>2014-08-26T19:07:51Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main article|Building Flightgear}}&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
* [http://www.cmake.org CMake GUI]&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Microsoft Visual Studio 2010 Express] (MSVC)&lt;br /&gt;
* [http://www.microsoft.com/en-us/download/details.aspx?id=8279 Microsoft Windows SDK] (only required for 64-bit builds)&lt;br /&gt;
: If you get an error during the installation of the SDK, try uninstalling MSVC redist packages first, then installing the SDK without compilers and then finally re-installing MSVC.&lt;br /&gt;
* [http://www.microsoft.com/en-au/download/details.aspx?id=23691 Visual Studio 2010 SP1] (If you get a linking error during the configure process)&lt;br /&gt;
&lt;br /&gt;
== Obtaining source ==&lt;br /&gt;
{{Main article|FlightGear and Git}}&lt;br /&gt;
Throughout this article it is assumed that you've already set up git clones of the various source repositories (FlightGear, SimGear, data...).&lt;br /&gt;
&lt;br /&gt;
== Directory tree ==&lt;br /&gt;
On Windows, assumptions on the directory structure are made to automate the discovery of dependencies. This recommended directory structure is described below. Clicking the links allows you to download pre-built parts. If you do not use the recommended structure you will need to enter paths by hand. Source and build directories can be located anywhere.&lt;br /&gt;
&lt;br /&gt;
=== 32-bits ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [http://flightgear.simpits.org:8080/job/3rdParty-Win/lastSuccessfulBuild/artifact/3rdParty/*zip*/3rdParty.zip 3rdParty] / &amp;lt;/tt&amp;gt; ( includes plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ... ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: [http://flightgear.simpits.org:8080/job/Boost-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip Boost] / &amp;lt;/tt&amp;gt; (latest version can be downloaded from http://www.boost.org/) &amp;lt;tt&amp;gt;&lt;br /&gt;
::: boost /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100 / &amp;lt;/tt&amp;gt; ( for VS2010 32 bits, or msvc90 for VS2008 32-bits ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/view/Win/job/OSG-Win/lastSuccessfulBuild/artifact/install/msvc100/OpenSceneGraph/*zip*/OpenSceneGraph.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create this empty for now, subfolders will be created by build process) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: FlightGear / &amp;lt;/tt&amp;gt; (create this empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 64-bits ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
: ${MSVC_3RDPARTY_ROOT} /&lt;br /&gt;
:: [http://flightgear.simpits.org:8080/job/3rdParty-Win/lastSuccessfulBuild/artifact/3rdParty.x64/*zip*/3rdParty.x64.zip 3rdParty.x64] /&lt;br /&gt;
::: bin /&lt;br /&gt;
::: include /&lt;br /&gt;
::: lib /&lt;br /&gt;
:: [http://flightgear.simpits.org:8080/job/Boost-Win64/lastSuccessfulBuild/artifact/*zip*/archive.zip Boost] /&lt;br /&gt;
::: boost /&lt;br /&gt;
::: lib64 /&lt;br /&gt;
:: install /&lt;br /&gt;
::: msvc100-64 / &amp;lt;/tt&amp;gt; ( for VS2010 64-bits, or msvc90-64 for VS2008 64-bits ) &amp;lt;tt&amp;gt;&lt;br /&gt;
:::: [http://flightgear.simpits.org:8080/view/Win/job/OSG-Win/lastSuccessfulBuild/artifact/install/msvc100-64/OpenSceneGraph/*zip*/OpenSceneGraph.zip OpenSceneGraph] / &amp;lt;/tt&amp;gt; ( OSG CMake install ) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: bin /&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: SimGear / &amp;lt;/tt&amp;gt; (create this empty for now, subfolders will be created by build process) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&lt;br /&gt;
:::: FlightGear / &amp;lt;/tt&amp;gt; (create this empty for now) &amp;lt;tt&amp;gt;&lt;br /&gt;
::::: include /&lt;br /&gt;
::::: lib /&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NdT: glut is missing for the 64bits build, you can use [http://www.transmissionzero.co.uk/software/freeglut-devel/ freeglut].&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
# Set up a work directory as described above.&lt;br /&gt;
# '''Building SimGear'''&lt;br /&gt;
## Open the CMake gui.&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where is the source code&amp;quot;&amp;lt;/tt&amp;gt; to wherever you put the SimGear sources (from the released tarball or the git repository).&lt;br /&gt;
## Set &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt; to a new empty directory (could be anywhere and any name, for example naming it simgear-build, at the same folder location as your unzipped SimGear source folder was put).&lt;br /&gt;
## Press [[File:CMake GUI Configure.png]]. The first time that the project is configured, CMake will bring up a window asking you to &amp;quot;Specify the generator for this project&amp;quot; i.e. which compiler you wish to use. Select Visual Studio 10 (or Visual Studio 10 Win64 for 64-bit), and press Finish. CMake will now do a check on your system and will produce a preliminary build configuration.&lt;br /&gt;
## CMake adds new configuration variables in red. Some have a value ending with &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt;. These variables should receive your attention. Some errors will prevent SimGear from building and others will simply invalidate some options without causing build errors. &lt;br /&gt;
### First check the &amp;lt;tt&amp;gt;MSVC_3RDPARTY_ROOT&amp;lt;/tt&amp;gt; variable. If it is not set, chances are that there will be a lot of &amp;lt;tt&amp;gt;-NOTFOUND&amp;lt;/tt&amp;gt; errors. Instead of trying to fix every error individually, set that variable to the location of the directory structure that is presented above. Then press [[File:CMake GUI Configure.png]] again.&lt;br /&gt;
### Set the  &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt; variable to &amp;lt;tt&amp;gt;${MSVC_3RDPARTY_ROOT}/install/msvc100/SimGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
### Also check the lines with a checkbox. These are build options and may impact the feature set of the built program.&lt;br /&gt;
## Repeat the process from step 5, until [[File:CMake GUI Generate.png]] is enabled.&lt;br /&gt;
## Press [[File:CMake GUI Generate.png]].&lt;br /&gt;
## Start Visual Studio 2010 and load the SimGear solution (SimGear.sln) located in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
## Choose the &amp;lt;tt&amp;gt;&amp;quot;Release&amp;quot;&amp;lt;/tt&amp;gt; build in the VS2010 &amp;quot;Generation&amp;quot; toolbar. The right menu should read Win32 for 32-bits or x64 for 64-bits. [[File:MVSC 2010 solution.png|right]]&lt;br /&gt;
## Generate the solution with F7 key or right-click the top level &amp;quot;Solution SimGear&amp;quot; in the Solution Explorer and choose Build.&lt;br /&gt;
## If there are build errors, return to CMake, clear remaining errors, [[File:CMake GUI Configure.png]] and [[File:CMake GUI Generate.png]].&lt;br /&gt;
## When Visual Studio is able to build everything without errors, right-click on the &amp;lt;tt&amp;gt;INSTALL&amp;lt;/tt&amp;gt; project (further down within the &amp;quot;Solution Simgear&amp;quot; solution) and choose Build, which will put the include and lib files in &amp;lt;tt&amp;gt;${CMAKE_INSTALL_PREFIX}&amp;lt;/tt&amp;gt;&lt;br /&gt;
# '''Building FlightGear'''&lt;br /&gt;
#: Repeat the steps under Building Simgear, but change the &amp;lt;tt&amp;gt;SimGear&amp;lt;/tt&amp;gt; paths to &amp;lt;tt&amp;gt;FlightGear&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Enjoy!&lt;br /&gt;
&lt;br /&gt;
==== Build options ====&lt;br /&gt;
To include [[LaRCsim]]/[[UIUC]] in your build, set: &lt;br /&gt;
 ENABLE_LARCSIM:BOOL=ON&lt;br /&gt;
 ENABLE_UIUC_MODEL:BOOL=ON&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
When updating the source from [[git]], it is usually unnecessary to restart CMake as the solution is able to reconfigure itself when CMake files are changed. Simply rebuild the solution from Visual Studio and accept the reload of updated projects. When the Simgear/FlightGear version numbers change, you do have to re-run CMake.&lt;br /&gt;
&lt;br /&gt;
It is also possible to edit CMakeList.txt files directly in Visual Studio as they also appear in the solution, and projects will be reconfigured on the next generation. To change build options or directory path, it is mandatory to use the CMake Gui. In case of problems, locate the &amp;lt;tt&amp;gt;CMakeCache.txt&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;&amp;quot;Where to build the binaries”&amp;lt;/tt&amp;gt; directory and delete it to reconfigure from scratch or use the menu item &amp;lt;tt&amp;gt;File &amp;gt; Delete Cache&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== TerraGear ===&lt;br /&gt;
TerraGear can be built the same way as FlightGear, just change the paths to your TerraGear source and directories.&lt;br /&gt;
&lt;br /&gt;
== Jenkins Windows configurations ==&lt;br /&gt;
When using CMake GUI, you can add those entries by clicking the Add entry button. Note that you should omit the -D prefix.&lt;br /&gt;
&lt;br /&gt;
=== OSG-stable-Win ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DACTUAL_3RDPARTY_DIR:PATH=%WORKSPACE%/3rdParty&lt;br /&gt;
       -DBUILD_OSG_APPLICATIONS:BOOL=ON&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/OpenSceneGraph&lt;br /&gt;
       -DOSG_PLUGIN_SEARCH_INSTALL_DIR_FOR_PLUGINS:BOOL=OFF&lt;br /&gt;
       -DFREETYPE_LIBRARY:FILEPATH=%WORKSPACE%/3rdParty/lib/freetype243.lib&lt;br /&gt;
       -DGDAL_INCLUDE_DIR:PATH=&lt;br /&gt;
       -DGDAL_LIBRARY:FILEPATH=&lt;br /&gt;
=== SimGear-Win-CMake ===&lt;br /&gt;
 cmake ..\SimGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/SimGear&lt;br /&gt;
=== FlightGear-Win-CMake ===&lt;br /&gt;
 cmake ..\FlightGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FlightGear&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
=== FGRun-Win-CMake ===&lt;br /&gt;
 cmake ..\svn -G &amp;quot;Visual Studio 10&amp;quot; &lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT:PATH=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/FGRun&lt;br /&gt;
       -DFLTK_FLUID_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/fluid.exe&lt;br /&gt;
       -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgfmt.exe&lt;br /&gt;
       -DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=%WORKSPACE%/3rdParty/bin/msgmerge.exe&lt;br /&gt;
=== TerraGear-Win-CMake ===&lt;br /&gt;
 cmake ..\TerraGear -G &amp;quot;Visual Studio 10&amp;quot;&lt;br /&gt;
       -DMSVC_3RDPARTY_ROOT=%WORKSPACE%&lt;br /&gt;
       -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%/install/msvc100/TerraGear&lt;br /&gt;
       -DGPC_LIBRARY=%WORKSPACE%/3rdParty/lib/gpc232.lib&lt;br /&gt;
       -DNEWMAT_LIBRARY=%WORKSPACE%/3rdParty/lib/newmat11.lib&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [https://gitorious.org/fg/flightgear/blobs/next/docs-mini/README.MSVC README.MSVC] (at Gitorious)&lt;br /&gt;
&lt;br /&gt;
{{building}}&lt;br /&gt;
[[fr:compiler flightear avec CMake - Windows]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=74846</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=74846"/>
		<updated>2014-08-09T20:12:21Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* How to test your setup ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# You can also check that your PTT works fine looking at the &amp;quot;PTT test&amp;quot; checkbox when you press your PTT button (default is spacebar)&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Originating an audio only call&lt;br /&gt;
 Call 0 accepted&lt;br /&gt;
 Echo Box - For testing FGCOM&lt;br /&gt;
 Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;-h&amp;quot; argument will show you all available options. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=72027</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=72027"/>
		<updated>2014-05-29T22:57:53Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: Move the &amp;quot;Linux audio&amp;quot; part in FAQ with link for detailed instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Originating an audio only call&lt;br /&gt;
 Call 0 accepted&lt;br /&gt;
 Echo Box - For testing FGCOM&lt;br /&gt;
 Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;-h&amp;quot; argument will show you all available options. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
''' I'm using Linux and I can't get FGCom working '''&lt;br /&gt;
&lt;br /&gt;
Please read this page which has a lot of information about audio configuration for Linux user, even some specific reference to FGCom: [[Linux software audio mixing with FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Linux_software_audio_mixing_with_FlightGear&amp;diff=72026</id>
		<title>Linux software audio mixing with FlightGear</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Linux_software_audio_mixing_with_FlightGear&amp;diff=72026"/>
		<updated>2014-05-29T22:54:09Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: Move info from FGCom_3.0 to this page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes, with a soundcard that does not do hardware mixing, how you can run FlightGear with other audio applications, such as Festival for text-to-speech and running TeamSpeak at the same time, with ALSA software mixing (&amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;dsnoop&amp;lt;/code&amp;gt; plugin).&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
* [[#FlightGear|Getting FlightGear to use ALSA, esd (Gnome), or arts (KDE)]].&lt;br /&gt;
* [[#Festival|Getting Festival to use ALSA]].&lt;br /&gt;
* [[#TeamSpeak|Getting TeamSpeak to use ALSA]].&lt;br /&gt;
&lt;br /&gt;
== Audio mixing what? ==&lt;br /&gt;
&lt;br /&gt;
One of the most common issues with soundcard and Linux is when you can only have one application playing sound at a time on some systems. This happens when the soundcard itself does not do audio mixing (i.e. hardware mixing).&lt;br /&gt;
&lt;br /&gt;
Audio mixing allows multiple audio (PCM) streams to be &amp;quot;mixed&amp;quot; together and to be played at the same time. It is generally better and more efficient for a soundcard, if available, to do audio mixing in the hardware.&lt;br /&gt;
&lt;br /&gt;
Software audio mixing is useful when you have a soundcard not capable of doing hardware mixing. Under Linux, software mixing can be done by ALSA's &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;dsnoop&amp;lt;/code&amp;gt; plugin, or by userspace applications, like ESD and ARTS. Software uses your CPU to do the work and mixes multiple audio streams into one, before passing the audio data onto your soundcard for playback.&lt;br /&gt;
&lt;br /&gt;
On Windows, software mixing is enabled by default transparently. Because of this, most people would have no idea about the capability of their sound cards in the Windows world. This is debatable whether this is good or bad, and is out of scope of this article.&lt;br /&gt;
&lt;br /&gt;
With ALSA, an easy to test whether your soundcard supports hardware mixing or not would be running this following twice, say in two different terminals:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ aplay -D hw:0,0 test.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tells &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt;, the ALSA audio player, to play the file &amp;lt;code&amp;gt;test.wav&amp;lt;/code&amp;gt; using the first sound hardware directly, without using any plugin or any software mixing. For a soundcard without hardware mixing support, the second &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt; would fail, and might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ aplay -D hw:0,0 test.wav&lt;br /&gt;
aplay: main:547: audio open error: Device or resource busy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You could also find out from ALSA's driver info, by doing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /proc/asound/pcm &lt;br /&gt;
00-00: Intel ICH : Intel 82801DB-ICH4 : playback 1 : capture 1&lt;br /&gt;
00-01: Intel ICH - MIC ADC : Intel 82801DB-ICH4 - MIC ADC : capture 1&lt;br /&gt;
00-02: Intel ICH - MIC2 ADC : Intel 82801DB-ICH4 - MIC2 ADC : capture 1&lt;br /&gt;
00-03: Intel ICH - ADC2 : Intel 82801DB-ICH4 - ADC2 : capture 1&lt;br /&gt;
00-04: Intel ICH - IEC958 : Intel 82801DB-ICH4 - IEC958 : playback 1&lt;br /&gt;
01-00: Intel ICH - Modem : Intel 82801DB-ICH4 Modem - Modem : playback 1 : capture 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice the first line, &amp;quot;&amp;lt;code&amp;gt;playback 1&amp;lt;/code&amp;gt;&amp;quot;, indicating the device only supports one PCM audio playback at any time.&lt;br /&gt;
&lt;br /&gt;
With a soundcard that supports hardware audio mixing, the same check looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /proc/asound/pcm &lt;br /&gt;
00-00: emu10k1 : EMU10K1 : playback 32 : capture 1&lt;br /&gt;
00-01: emu10k1 mic : EMU10K1 MIC : capture 1&lt;br /&gt;
00-02: emu10k1 efx : EMU10K1 EFX : playback 8 : capture 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, the first line suggests this device supports 32 simultaneous PCM audio playback.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This article assumes you have a basic understanding and knowledge of Linux. For instance:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;~/&amp;lt;/code&amp;gt; refers to your HOME directory. If your user name is &amp;lt;code&amp;gt;blah&amp;lt;/code&amp;gt;, then &amp;lt;code&amp;gt;~/&amp;lt;/code&amp;gt; normally would be &amp;lt;code&amp;gt;/home/blah/&amp;lt;/code&amp;gt;. And so &amp;lt;code&amp;gt;~/.asoundrc&amp;lt;/code&amp;gt; would mean &amp;lt;code&amp;gt;/home/blah/.asoundrc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Files with names starting with a dot (&amp;quot;.&amp;quot;) are normally considered as hidden files. If you're using some sort of file manager application, remember to turn on or enable showing these hidden files.&lt;br /&gt;
&lt;br /&gt;
* If a &amp;quot;dot rc&amp;quot; file (e.g. &amp;lt;code&amp;gt;.asoundrc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.openalrc&amp;lt;/code&amp;gt;) does not exist, simply creates it.&lt;br /&gt;
&lt;br /&gt;
This article assumes you have ALSA setup and working with your soundcard(s).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The concept ==&lt;br /&gt;
&lt;br /&gt;
It is simple. You want to get all the applications to use the ALSA &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; plugin for PCM audio playback, and sometimes also the &amp;lt;code&amp;gt;dsnoop&amp;lt;/code&amp;gt; plugin for audio recording.&lt;br /&gt;
&lt;br /&gt;
According to ALSA, &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; plugin is enabled and used by default since ALSA 1.0.9rc2. Though it seems it does not work straight away for everyone.&lt;br /&gt;
&lt;br /&gt;
There are a lot of pages on the net with different customized ALSA configuration (e.g. &amp;lt;code&amp;gt;.asoundrc&amp;lt;/code&amp;gt;) to use &amp;quot;dmix&amp;quot; by default. This article's approach is NOT to touch any ALSA configuration file, but simply per-application setup.&lt;br /&gt;
&lt;br /&gt;
In general, for applications written with ALSA support, usually what you need is to get is to use the device &amp;lt;code&amp;gt;&amp;quot;plug:dmix&amp;quot;&amp;lt;/code&amp;gt;. For example, with the ALSA command line player &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt;, you run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ aplay -D &amp;quot;plug:dmix&amp;quot; test.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It's a good idea to run this to test if your &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; works.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For applications which does not have ALSA support (i.e. using OSS), you have a few choices:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;aoss&amp;lt;/code&amp;gt; : A wrapper script to run any application to use ALSA OSS. This works using simply via &amp;lt;code&amp;gt;LD_PRELOAD&amp;lt;/code&amp;gt; to preload &amp;lt;code&amp;gt;libaoss.so&amp;lt;/code&amp;gt;. It *seems* to use &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; if available automatically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; : A software audio mixing daemon, typically shipped with GNOME. You can use its wrapper &amp;lt;code&amp;gt;esddsp&amp;lt;/code&amp;gt; with other applications. You could run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ esd -d plug:dmix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;artsd&amp;lt;/code&amp;gt; : Another software audio mixing daemon, typically shipped with KDE. You can use its wrapper &amp;lt;code&amp;gt;artsdsp&amp;lt;/code&amp;gt; with other applications. You could run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ artsd -D plug:dmix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, not all apps work with all these wrappers. For example, festival does not seem to work properly with &amp;lt;code&amp;gt;aoss&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;artsd&amp;lt;/code&amp;gt;. If possible it's a good idea to try all three approaches to get an OSS application to do ALSA.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; does not seem to handle recording properly. So if you have an OSS application which does audio recording (say TeamSpeak), &amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;esddsp&amp;lt;/code&amp;gt; will probably not work.&lt;br /&gt;
&lt;br /&gt;
== OSS? ALSA? ==&lt;br /&gt;
&lt;br /&gt;
So how do you tell whether an application uses OSS or ALSA? There are a few simple ways.&lt;br /&gt;
&lt;br /&gt;
Usually if an application uses the audio device via &amp;lt;code&amp;gt;/dev/dsp&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;/dev/dsp0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/dev/dsp1&amp;lt;/code&amp;gt;, etc), then it is probably using OSS. With ALSA, you normally specify an audio device using a string, which might look something like &amp;quot;&amp;lt;code&amp;gt;hw:0,0&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;plug:dmix&amp;lt;/code&amp;gt;&amp;quot;, or sometimes &amp;quot;&amp;lt;code&amp;gt;ALSA:default&amp;lt;/code&amp;gt;&amp;quot;, depending on the application itself.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;'''ldd'''&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ldd&amp;lt;/code&amp;gt; prints what shared libraries an application depends on.&lt;br /&gt;
&lt;br /&gt;
Take &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt; again as an example, you do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ldd /usr/bin/aplay&lt;br /&gt;
linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
libasound.so.2 =&amp;gt; /usr/lib/libasound.so.2 (0x40037000)&lt;br /&gt;
libm.so.6 =&amp;gt; /lib/tls/libm.so.6 (0x400f9000)&lt;br /&gt;
libdl.so.2 =&amp;gt; /lib/tls/libdl.so.2 (0x4011f000)&lt;br /&gt;
libpthread.so.0 =&amp;gt; /lib/tls/libpthread.so.0 (0x40123000)&lt;br /&gt;
libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40135000)&lt;br /&gt;
/lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the &amp;lt;code&amp;gt;libasound.so.2&amp;lt;/code&amp;gt;, which is the ALSA library, which *possibly* means &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt; *CAN* use ALSA. It does not have to, however. It's up to an application to use whatever audio support it wants to use. An example would be applications like &amp;lt;code&amp;gt;mplayer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;xine&amp;lt;/code&amp;gt;, which can do audio playback using many different audio libraries/approaches (OSS, ALSA, ESD, ARTS, and more).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;'''strace'''&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;strace&amp;lt;/code&amp;gt; is a rather powerful tool, which traces and prints system calls of a running application.&lt;br /&gt;
&lt;br /&gt;
Take &amp;lt;code&amp;gt;mpg123&amp;lt;/code&amp;gt; as an example, you do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ strace -f -e open /usr/bin/mpg123 -q test.mp3&lt;br /&gt;
open(&amp;quot;/etc/ld.so.cache&amp;quot;, O_RDONLY)      = 3&lt;br /&gt;
open(&amp;quot;/lib/tls/libm.so.6&amp;quot;, O_RDONLY)    = 3&lt;br /&gt;
open(&amp;quot;/lib/tls/libc.so.6&amp;quot;, O_RDONLY)    = 3&lt;br /&gt;
open(&amp;quot;/dev/dsp&amp;quot;, O_WRONLY)              = 3&lt;br /&gt;
open(&amp;quot;test.mp3&amp;quot;, O_RDONLY)           = 3&lt;br /&gt;
open(&amp;quot;/dev/dsp&amp;quot;, O_WRONLY)              = 4&lt;br /&gt;
open(&amp;quot;/dev/dsp&amp;quot;, O_WRONLY)              = 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This shows all calls to the system call &amp;lt;code&amp;gt;open()&amp;lt;/code&amp;gt; of this running instance of &amp;lt;code&amp;gt;mpg123&amp;lt;/code&amp;gt;. As you can see it is opening &amp;lt;code&amp;gt;/dev/dsp&amp;lt;/code&amp;gt;, which hints it is using OSS.&lt;br /&gt;
&lt;br /&gt;
For an ALSA application, you will see a lot of &amp;lt;code&amp;gt;open()&amp;lt;/code&amp;gt; calls to devices like &amp;lt;code&amp;gt;/dev/snd/controlC0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/dev/aloadC2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/dev/snd/pcmC0D0p&amp;lt;/code&amp;gt;, etc. (Try &amp;lt;code&amp;gt;strace&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt;!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FlightGear ==&lt;br /&gt;
&lt;br /&gt;
FlightGear uses OpenAL (via SimGear) for audio playback, and OpenAL supports ALSA, ESD and ARTS. However you have to make sure your OpenAL is built with the audio support you need. Run &amp;lt;code&amp;gt;configure --help&amp;lt;/code&amp;gt; if you are building your own OpenAL.&lt;br /&gt;
&lt;br /&gt;
=== OpenAL-soft ===&lt;br /&gt;
&lt;br /&gt;
[http://kcat.strangesoft.net/openal.html OpenAL-soft] is a LGPL-licensed implementation of the OpenAL 3D audio API. It is the default OpenAL library in some Linux distribution, among them Debian.&lt;br /&gt;
&lt;br /&gt;
To get OpenAL-soft to use a particular ALSA device, put this in your &amp;lt;code&amp;gt;~/.alsoftrc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
format = AL_FORMAT_STEREO16&lt;br /&gt;
cf_level = 2&lt;br /&gt;
drivers = alsa&lt;br /&gt;
[alsa]  # ALSA backend options&lt;br /&gt;
device = plug:dmix&lt;br /&gt;
capture = plug:dsnoop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[NOTE: format is now &amp;quot;sample-type = uint16&amp;quot;, and cf_level would appear not needed for typical users, or only desired for headphone users.]&lt;br /&gt;
&lt;br /&gt;
See your system wide OpenAL-soft configuration file, typically &amp;lt;code&amp;gt;/etc/openal/alsoft.conf&amp;lt;/code&amp;gt;, for an overview of the available options.&lt;br /&gt;
&lt;br /&gt;
=== OpenAL ===&lt;br /&gt;
&lt;br /&gt;
To get OpenAL to use a particular ALSA device, put these in your &amp;lt;code&amp;gt;~/.openalrc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(define devices '(alsa))&lt;br /&gt;
(define alsa-out-device &amp;quot;plug:dmix&amp;quot;)&lt;br /&gt;
(device alsa-in-device &amp;quot;plug:dsnoop&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get OpenAL to use ESD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(define devices '(esd))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And to get OpenAL to use ARTS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(define devices '(arts))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Festival ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to get Festival to use ALSA.&lt;br /&gt;
&lt;br /&gt;
=== ESD ===&lt;br /&gt;
&lt;br /&gt;
Festival supports a couple of audio method for playback, and one of them is ESD support. To have it use ESD by default, put this in your &amp;lt;code&amp;gt;~/.festivalrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(Parameter.set 'Audio_Method 'esdaudio)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then run &amp;lt;code&amp;gt;festival&amp;lt;/code&amp;gt; as usual. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ festival --server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course, you'll have to make sure your ESD is running, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ esd -d plug:dmix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If for some reasons this does not work, you could always try using &amp;lt;code&amp;gt;esddsp&amp;lt;/code&amp;gt;, which means you would be running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ esddsp festival --server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test your festival server by:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo '(SayText &amp;quot;Hello&amp;quot;)' | festival_client&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the &amp;lt;code&amp;gt;Audio_Command&amp;lt;/code&amp;gt; parameter ===&lt;br /&gt;
&lt;br /&gt;
You can configure festival to run another application for playing audio. In this case, we could use &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt; to help us. In your &amp;lt;code&amp;gt;~/.festivalrc&amp;lt;/code&amp;gt; put:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(Parameter.set 'Audio_Command &amp;quot;aplay -D plug:dmix -q -c 1 -t raw -f s16 -r $SR $FILE&amp;quot;)&lt;br /&gt;
(Parameter.set 'Audio_Method 'Audio_Command)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$SR&amp;lt;/code&amp;gt; is the sampling rate, and &amp;lt;code&amp;gt;$FILE&amp;lt;/code&amp;gt; is the audio data file generated by festival for playback.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TeamSpeak ==&lt;br /&gt;
&lt;br /&gt;
TeamSpeak works with &amp;lt;code&amp;gt;aoss&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;artsd&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;artsdsp&amp;lt;/code&amp;gt;. It does not work with &amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;esddsp&amp;lt;/code&amp;gt;, because &amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; does not seem to handle recording properly.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;'''aoss'''&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
To run TeamSpeak, do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ aoss TeamSpeak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;'''arts'''&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
You have to run &amp;lt;code&amp;gt;artsd&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;, enabling full-duplex. So:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ artsd -d -D plug:duplex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll need this [[ #~/.asoundrc ]] as well.&lt;br /&gt;
&lt;br /&gt;
Then you have you run TeamSpeak.bin, instead of TeamSpeak, because &amp;lt;code&amp;gt;artsdsp&amp;lt;/code&amp;gt; can only handle binary. You will also need to have LD_LIBRARY_PATH set to where TeamSpeak is installed. For example, if you have TeamSpeak installed at /opt/TeamSpeak/, then you should run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ LD_LIBRARY_PATH=/opt/TeamSpeak artsdsp /opt/TeamSpeak.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ~/.asoundrc ==&lt;br /&gt;
&lt;br /&gt;
Usually you shouldn't need a custom ALSA configuration. But just in case, here is a simple &amp;lt;code&amp;gt;~/.asoundrc&amp;lt;/code&amp;gt; to get you started:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pcm.duplex {&lt;br /&gt;
    type asym&lt;br /&gt;
    playback.pcm &amp;quot;dmix&amp;quot;&lt;br /&gt;
    capture.pcm &amp;quot;dsnoop&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pcm.!default {&lt;br /&gt;
    type plug&lt;br /&gt;
    slave.pcm &amp;quot;duplex&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the same as specifying &amp;quot;&amp;lt;code&amp;gt;plug:duplex&amp;lt;/code&amp;gt;&amp;quot; as the audio device for all applications, for instance:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ aplay -D plug:duplex test.wav&lt;br /&gt;
&lt;br /&gt;
$ arecord -D plug:duplex test.wav&lt;br /&gt;
&lt;br /&gt;
$ esd -d plug:duplex&lt;br /&gt;
&lt;br /&gt;
$ artsd -d -D plug:duplex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So with this configuration, you do not have to specify which ALSA device applications should use. As long as the application uses ALSA, it will be using the &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;dsnoop&amp;lt;/code&amp;gt; plugins.&lt;br /&gt;
&lt;br /&gt;
With FlightGear/OpenAL, however, I'm not sure what the issue is, but you may still need to specify &amp;lt;code&amp;gt;alsa-out-device&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;~/.openalrc&amp;lt;/code&amp;gt;, which is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(define devices '(alsa))&lt;br /&gt;
(define alsa-out-device &amp;quot;plug:duplex&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux ALSA Audiophiles avoiding Dmix ===&lt;br /&gt;
For audiophiles using Linux ALSA and with their custom $HOME/.asoundrc file preventing DMix usage, make sure you have both specified &amp;quot;device = plug:dmix&amp;quot; as well as &amp;quot;capture = plug:dsnoop&amp;quot;.  Per ALSA's page, &amp;quot;dsnoop is the equivalent of the dmix plugin, but for recording sound.&amp;quot;  Without specifying using dsnoop for the capture device alongside your $HOME/.asoundrc file preventing DMix usage, you will likely only get silence played back when usage FGCom.  FGCom is not working at this point, as the sound device is likely still locked by your $HOME/.asoundrc file and only recording silence or playing back silence during the echo test!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GNOME and KDE ==&lt;br /&gt;
&lt;br /&gt;
If you're using GNOME or KDE, you will probably have &amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;artsd&amp;lt;/code&amp;gt; running already. In this case, you may also want to try this [[ #~/.asoundrc ]], which set &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;dsnoop&amp;lt;/code&amp;gt; as the default to use for ALSA. You need to restart &amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;artsd&amp;lt;/code&amp;gt; after making changes to &amp;lt;code&amp;gt;~/.asoundrc&amp;lt;/code&amp;gt;. Make sure your &amp;lt;code&amp;gt;esd&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;artsd&amp;lt;/code&amp;gt; is using ALSA, too.&lt;br /&gt;
&lt;br /&gt;
(TODO: Anyone who uses GNOME or KDE could add more descriptions here, thanks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== When things don't work ==&lt;br /&gt;
&lt;br /&gt;
* Try the [[ ~/.asoundrc ]] published within this article.&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;AOSS&amp;lt;/code&amp;gt; (script for ALSA OSS emulation) honours your ALSA configurations, and hence your &amp;lt;code&amp;gt;~/.asoundrc&amp;lt;/code&amp;gt; file. Make sure this &amp;lt;code&amp;gt;~/.asoundrc&amp;lt;/code&amp;gt; file is correct, and typically ALSA aware applications will show problems via stdout. Use &amp;lt;code&amp;gt;aplay&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;arecord&amp;lt;/code&amp;gt; to test your setup, as these simple applications readily display any problems with your configuration files via stdout.&lt;br /&gt;
&lt;br /&gt;
* Temporarily rename or move your current &amp;lt;code&amp;gt;~/.asoundrc&amp;lt;/code&amp;gt;, resorting to the default Linux ALSA configuration (using default DMix), and then test everything again.  (NOTE: Some Linux distributions may further make additional adjustments to the default system ALSA configuration files.)&lt;br /&gt;
&lt;br /&gt;
* See http://gentoo-wiki.com/HOWTO_ALSA_sound_mixer_aka_dmix (even if you're not using Gentoo). It's a pretty detailed HOWTO with ALSA audio including &amp;lt;code&amp;gt;dmix&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;dsnoop&amp;lt;/code&amp;gt; configurations.  (NOTE: This http://gentoo-wiki.com domain no longer is working, and most non-copyrighted material may have been migrated to http://wiki.gentoo.org.  Unfortunately this dmix related material only now exsist within Google Cache.  There are many other well documented Linux Distribution ALSA related Wiki articles.)&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Build_3rdParty_library_for_Windows&amp;diff=71874</id>
		<title>Howto:Build 3rdParty library for Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Build_3rdParty_library_for_Windows&amp;diff=71874"/>
		<updated>2014-05-25T22:53:36Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: Created page with &amp;quot;FlightGear require some 3rd party libraries, sometimes these library require to be updated, here are 2 scripts (one for x86 + one for x64) who build most of these library. You...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FlightGear require some 3rd party libraries, sometimes these library require to be updated, here are 2 scripts (one for x86 + one for x64) who build most of these library. You just need to update the source of the library in order to update the package (and apply any required change if needed, e.g: xcopy *.h file, compilation options...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
build_3rdparty.x64.bat:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;winbatch&amp;quot;&amp;gt;&lt;br /&gt;
set &amp;quot;WORKSPACE=%CD%&amp;quot;&lt;br /&gt;
set &amp;quot;CGAL_PATH=C:\Program Files\CGAL-4.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
md %WORKSPACE%\3rdParty.x64\bin&lt;br /&gt;
md %WORKSPACE%\3rdParty.x64\lib&lt;br /&gt;
md %WORKSPACE%\3rdParty.x64\include&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
call &amp;quot;%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat&amp;quot; amd64&lt;br /&gt;
GOTO SkipMe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile ZLIB&lt;br /&gt;
&lt;br /&gt;
curl http://zlib.net/zlib128.zip -o %WORKSPACE%/zlib.zip&lt;br /&gt;
unzip %WORKSPACE%/zlib.zip&lt;br /&gt;
mv -f %WORKSPACE%/zlib-1.2.8 %WORKSPACE%/zlib-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md zlib-build&lt;br /&gt;
cd zlib-build&lt;br /&gt;
cmake ..\zlib-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\zlib-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\zlib-build\build\include\* %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\zlib-build\build\lib\zlib.lib %WORKSPACE%\3rdParty.x64\lib /y /q&lt;br /&gt;
xcopy %WORKSPACE%\zlib-build\build\bin\zlib.dll %WORKSPACE%\3rdParty.x64\bin /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBTIFF&lt;br /&gt;
&lt;br /&gt;
curl http://download.osgeo.org/libtiff/tiff-4.0.3.zip -o %WORKSPACE%/libtiff.zip&lt;br /&gt;
unzip %WORKSPACE%/libtiff.zip&lt;br /&gt;
mv -f %WORKSPACE%/tiff-4.0.3 %WORKSPACE%/libtiff-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libtiff-source&lt;br /&gt;
nmake -f makefile.vc&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\libtiff.lib %WORKSPACE%\3rdParty.x64\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\libtiff_i.lib %WORKSPACE%\3rdParty.x64\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\libtiff.dll %WORKSPACE%\3rdParty.x64\bin\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiff.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiffconf.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiffio.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiffvers.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBPNG&lt;br /&gt;
&lt;br /&gt;
curl -L http://download.sourceforge.net/libpng/lpng1610.zip -o %WORKSPACE%/libpng.zip&lt;br /&gt;
unzip %WORKSPACE%/libpng.zip&lt;br /&gt;
mv -f %WORKSPACE%/lpng1610 %WORKSPACE%/libpng-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libpng-build&lt;br /&gt;
cd libpng-build&lt;br /&gt;
cmake ..\libpng-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libpng-build\build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%\3rdParty.x64&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libpng-build\build\include\*.h %WORKSPACE%\3rdParty.x64\include /y&lt;br /&gt;
xcopy %WORKSPACE%\libpng-build\build\lib\libpng16.lib %WORKSPACE%\3rdParty.x64\lib /y&lt;br /&gt;
xcopy %WORKSPACE%\libpng-build\build\bin\libpng16.dll %WORKSPACE%\3rdParty.x64\bin /y&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBJPEG&lt;br /&gt;
&lt;br /&gt;
curl http://www.ijg.org/files/jpegsr9a.zip -o %WORKSPACE%/libjpeg.zip&lt;br /&gt;
unzip %WORKSPACE%/libjpeg.zip&lt;br /&gt;
mv -f %WORKSPACE%/jpeg-9a %WORKSPACE%/libjpeg-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libjpeg-source&lt;br /&gt;
&lt;br /&gt;
nmake -f makefile.vc setup-v10&lt;br /&gt;
sed -i &amp;quot;s/Win32/x64/g&amp;quot; jpeg.sln&lt;br /&gt;
sed -i &amp;quot;s/Win32/x64/g&amp;quot; jpeg.vcxproj&lt;br /&gt;
msbuild jpeg.sln /t:Build /p:Configuration=Release;Platform=x64&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\x64\Release\jpeg.lib %WORKSPACE%\3rdParty.x64\lib /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jconfig.h %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jerror.h %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jmorecfg.h %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jpeglib.h %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBCURL&lt;br /&gt;
&lt;br /&gt;
curl http://curl.haxx.se/download/curl-7.35.0.zip -o %WORKSPACE%/libcurl.zip&lt;br /&gt;
unzip %WORKSPACE%/libcurl.zip&lt;br /&gt;
mv -f %WORKSPACE%/curl-7.35.0 %WORKSPACE%/libcurl-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libcurl-build&lt;br /&gt;
cd libcurl-build&lt;br /&gt;
cmake ..\libcurl-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libcurl-build\build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%\3rdParty.x64&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libcurl-build\build\include\* %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcurl-build\build\lib\libcurl_imp.lib %WORKSPACE%\3rdParty.x64\lib /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libcurl-build\build\lib\libcurl.dll %WORKSPACE%\3rdParty.x64\bin /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile GDAL&lt;br /&gt;
&lt;br /&gt;
svn co https://svn.osgeo.org/gdal/trunk/gdal %WORKSPACE%/libgdal-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libgdal-source&lt;br /&gt;
nmake -f makefile.vc MSVC_VER=1600 GDAL_HOME=%WORKSPACE%/libgdal-source BINDIR=%WORKSPACE%\3rdParty.x64\bin LIBDIR=%WORKSPACE%\3rdParty.x64\lib INCDIR=%WORKSPACE%\3rdParty.x64\include WIN64=YES&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_frmts.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_proxy.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_priv.h %WORKSPACE%\3rdParty.x64\include\ /y /f &lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_version.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\alg\gdal_alg.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\alg\gdalwarper.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\frmts\vrt\gdal_vrt.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\ogr\ogr*.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\port\cpl*.h %WORKSPACE%\3rdParty.x64\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gdal_i.lib %WORKSPACE%\3rdParty.x64\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gdal.lib %WORKSPACE%\3rdParty.x64\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gdal*.dll %WORKSPACE%\3rdParty.x64\bin\ /y /f&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBFLTK&lt;br /&gt;
&lt;br /&gt;
curl http://fltk.org/pub/fltk/1.3.2/fltk-1.3.2-source.tar.gz -o %WORKSPACE%/libfltk.tar.gz&lt;br /&gt;
tar xzvf libfltk.tar.gz&lt;br /&gt;
mv -f %WORKSPACE%/fltk-1.3.2 %WORKSPACE%/libfltk-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libfltk-build&lt;br /&gt;
cd libfltk-build&lt;br /&gt;
cmake ..\libfltk-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libfltk-build\build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%\3rdParty.x64&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libfltk-build\build\include\* %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libfltk-build\build\bin\* %WORKSPACE%\3rdParty.x64\bin /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libfltk-build\build\lib\fltk*.lib %WORKSPACE%\3rdParty.x64\lib /y /s /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBBOOST&lt;br /&gt;
&lt;br /&gt;
curl http://flightgear.simpits.org:8080/job/Boost-Win64/lastSuccessfulBuild/artifact/*zip*/archive.zip -o %WORKSPACE%/libboost.zip&lt;br /&gt;
unzip libboost.zip&lt;br /&gt;
mv %WORKSPACE%\archive\Boost %WORKSPACE%\Boost&lt;br /&gt;
rmdir %WORKSPACE%\archive&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile CGAL&lt;br /&gt;
&lt;br /&gt;
curl https://gforge.inria.fr/frs/download.php/32996/CGAL-4.3.zip -o %WORKSPACE%/libcgal.zip&lt;br /&gt;
unzip %WORKSPACE%/libcgal.zip&lt;br /&gt;
mv -f %WORKSPACE%/CGAL-4.3 %WORKSPACE%/libcgal-source&lt;br /&gt;
:SkipMe&lt;br /&gt;
cd %WORKSPACE%\Boost\&lt;br /&gt;
mv lib64 lib&lt;br /&gt;
md include\boost-1_55&lt;br /&gt;
mv boost include\boost-1_55\boost&lt;br /&gt;
xcopy &amp;quot;%CGAL_PATH%&amp;quot;\auxiliary\gmp\include\* %WORKSPACE%\libcgal-source\auxiliary\gmp\include /s /y /i&lt;br /&gt;
xcopy &amp;quot;%CGAL_PATH%&amp;quot;\auxiliary\gmp\lib64\* %WORKSPACE%\libcgal-source\auxiliary\gmp\lib /s /y /i&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libcgal-build&lt;br /&gt;
cd libcgal-build&lt;br /&gt;
cmake ..\libcgal-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_PREFIX_PATH=&amp;quot;%WORKSPACE%\cgal-source\auxiliary\gmp;%WORKSPACE%\Boost&amp;quot; -DCGAL_Boost_USE_STATIC_LIBS:BOOL=ON -DZLIB_LIBRARY=&amp;quot;%WORKSPACE%\3rdParty.x64\lib\zlib.lib&amp;quot; -DZLIB_INCLUDE_DIR=&amp;quot;%WORKSPACE%\3rdParty.x64\include&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libcgal-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-build\build\include\* %WORKSPACE%\3rdParty.x64\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-build\build\bin\*.dll %WORKSPACE%\3rdParty.x64\bin /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-build\build\lib\*.lib %WORKSPACE%\3rdParty.x64\lib /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-source\auxiliary\gmp\lib\*.dll %WORKSPACE%\3rdParty.x64\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-source\auxiliary\gmp\lib\*.lib %WORKSPACE%\3rdParty.x64\lib /s /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile FREETYPE&lt;br /&gt;
&lt;br /&gt;
curl -L http://sourceforge.net/projects/freetype/files/freetype2/2.5.3/ft253.zip/download -o %WORKSPACE%/freetype.zip&lt;br /&gt;
unzip freetype.zip&lt;br /&gt;
mv -f %WORKSPACE%/freetype-2.5.3 %WORKSPACE%/freetype-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md freetype-build&lt;br /&gt;
cd freetype-build&lt;br /&gt;
&lt;br /&gt;
cmake ..\freetype-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%/freetype-build/build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%/3rdParty.x64&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\freetype-build\build\* %WORKSPACE%\3rdParty.x64 /y /s /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBPROJ&lt;br /&gt;
&lt;br /&gt;
curl http://download.osgeo.org/proj/proj-4.8.0.zip -o libproj.zip&lt;br /&gt;
unzip libproj.zip&lt;br /&gt;
mv -f proj-4.8.0 libproj-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libproj-source&lt;br /&gt;
&lt;br /&gt;
nmake -f makefile.vc &lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libproj-source\src\*.lib %WORKSPACE%\3rdParty.x64\lib /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libproj-source\src\*.dll %WORKSPACE%\3rdParty.x64\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libproj-source\src\proj_api.h %WORKSPACE%\3rdParty.x64\include /s /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBGEOS&lt;br /&gt;
&lt;br /&gt;
curl http://download.osgeo.org/geos/geos-3.4.2.tar.bz2 -o %WORKSPACE%/libgeos.tar.bz2&lt;br /&gt;
tar xvjf libgeos.tar.bz2&lt;br /&gt;
mv -f geos-3.4.2 libgeos-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libgeos-build&lt;br /&gt;
cd libgeos-build&lt;br /&gt;
cmake ..\libgeos-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libgeos-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libgeos-build\build\bin\geos_c.dll %WORKSPACE%\3rdParty.x64\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libgeos-build\build\lib\geos_c.lib %WORKSPACE%\3rdParty.x64\lib /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libgeos-build\build\include\geos_c.h %WORKSPACE%\3rdParty.x64\include /s /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBEXPAT&lt;br /&gt;
&lt;br /&gt;
curl -L http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz/download -o %WORKSPACE%/libexpat.tar.gz&lt;br /&gt;
tar xzvf libexpat.tar.gz&lt;br /&gt;
mv -f expat-2.1.0 libexpat-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libexpat-build&lt;br /&gt;
cd libexpat-build&lt;br /&gt;
cmake ..\libexpat-source -G &amp;quot;Visual Studio 10 Win64&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libexpat-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libexpat-build\build\bin\expat.dll %WORKSPACE%\3rdParty.x64\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libexpat-build\build\lib\expat.lib %WORKSPACE%\3rdParty.x64\lib /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libexpat-build\build\include\* %WORKSPACE%\3rdParty.x64\include /s /y /q&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:SkipMe&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
build_3rdparty.bat:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;winbatch&amp;quot;&amp;gt;&lt;br /&gt;
set &amp;quot;WORKSPACE=%CD%&amp;quot;&lt;br /&gt;
set &amp;quot;CGAL_PATH=C:\Program Files\CGAL-4.3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
md %WORKSPACE%\3rdParty\bin&lt;br /&gt;
md %WORKSPACE%\3rdParty\lib&lt;br /&gt;
md %WORKSPACE%\3rdParty\include&lt;br /&gt;
&lt;br /&gt;
call &amp;quot;%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat&amp;quot; x86&lt;br /&gt;
&lt;br /&gt;
REM GOTO SkipMe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile ZLIB&lt;br /&gt;
&lt;br /&gt;
curl http://zlib.net/zlib128.zip -o %WORKSPACE%/zlib.zip&lt;br /&gt;
unzip %WORKSPACE%/zlib.zip&lt;br /&gt;
mv -f %WORKSPACE%/zlib-1.2.8 %WORKSPACE%/zlib-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md zlib-build&lt;br /&gt;
cd zlib-build&lt;br /&gt;
cmake ..\zlib-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\zlib-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\zlib-build\build\include\* %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\zlib-build\build\lib\zlib.lib %WORKSPACE%\3rdParty\lib /y /q&lt;br /&gt;
xcopy %WORKSPACE%\zlib-build\build\bin\zlib.dll %WORKSPACE%\3rdParty\bin /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBTIFF&lt;br /&gt;
&lt;br /&gt;
curl http://download.osgeo.org/libtiff/tiff-4.0.3.zip -o %WORKSPACE%/libtiff.zip&lt;br /&gt;
unzip %WORKSPACE%/libtiff.zip&lt;br /&gt;
mv -f %WORKSPACE%/tiff-4.0.3 %WORKSPACE%/libtiff-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libtiff-source&lt;br /&gt;
nmake -f makefile.vc&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\libtiff.lib %WORKSPACE%\3rdParty\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\libtiff_i.lib %WORKSPACE%\3rdParty\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\libtiff.dll %WORKSPACE%\3rdParty\bin\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiff.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiffconf.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiffio.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libtiff-source\libtiff\tiffvers.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBPNG&lt;br /&gt;
&lt;br /&gt;
curl -L http://download.sourceforge.net/libpng/lpng1610.zip -o %WORKSPACE%/libpng.zip&lt;br /&gt;
unzip %WORKSPACE%/libpng.zip&lt;br /&gt;
mv -f %WORKSPACE%/lpng1610 %WORKSPACE%/libpng-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libpng-build&lt;br /&gt;
cd libpng-build&lt;br /&gt;
cmake ..\libpng-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libpng-build\build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%\3rdParty&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libpng-build\build\include\*.h %WORKSPACE%\3rdParty\include /y&lt;br /&gt;
xcopy %WORKSPACE%\libpng-build\build\lib\libpng16.lib %WORKSPACE%\3rdParty\lib /y&lt;br /&gt;
xcopy %WORKSPACE%\libpng-build\build\bin\libpng16.dll %WORKSPACE%\3rdParty\bin /y&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBJPEG&lt;br /&gt;
&lt;br /&gt;
REM curl http://www.ijg.org/files/jpegsr9a.zip -o %WORKSPACE%/libjpeg.zip&lt;br /&gt;
unzip %WORKSPACE%/libjpeg.zip&lt;br /&gt;
mv -f %WORKSPACE%/jpeg-9a %WORKSPACE%/libjpeg-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libjpeg-source&lt;br /&gt;
&lt;br /&gt;
nmake -f makefile.vc setup-v10&lt;br /&gt;
msbuild jpeg.sln /t:Build /p:Configuration=Release;Platform=Win32&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\Release\jpeg.lib %WORKSPACE%\3rdParty\lib /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jconfig.h %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jerror.h %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jmorecfg.h %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libjpeg-source\jpeglib.h %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBCURL&lt;br /&gt;
&lt;br /&gt;
curl http://curl.haxx.se/download/curl-7.35.0.zip -o %WORKSPACE%/libcurl.zip&lt;br /&gt;
unzip %WORKSPACE%/libcurl.zip&lt;br /&gt;
mv -f %WORKSPACE%/curl-7.35.0 %WORKSPACE%/libcurl-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libcurl-build&lt;br /&gt;
cd libcurl-build&lt;br /&gt;
cmake ..\libcurl-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libcurl-build\build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%\3rdParty&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libcurl-build\build\include\* %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcurl-build\build\lib\libcurl_imp.lib %WORKSPACE%\3rdParty\lib /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libcurl-build\build\lib\libcurl.dll %WORKSPACE%\3rdParty\bin /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile GDAL&lt;br /&gt;
&lt;br /&gt;
svn co https://svn.osgeo.org/gdal/trunk/gdal %WORKSPACE%/libgdal-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libgdal-source&lt;br /&gt;
nmake -f makefile.vc MSVC_VER=1600 GDAL_HOME=%WORKSPACE%/libgdal-source BINDIR=%WORKSPACE%\3rdParty\bin LIBDIR=%WORKSPACE%\3rdParty\lib INCDIR=%WORKSPACE%\3rdParty\include&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_frmts.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_proxy.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_priv.h %WORKSPACE%\3rdParty\include\ /y /f &lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gcore\gdal_version.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\alg\gdal_alg.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\alg\gdalwarper.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\frmts\vrt\gdal_vrt.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\ogr\ogr*.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\port\cpl*.h %WORKSPACE%\3rdParty\include\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gdal_i.lib %WORKSPACE%\3rdParty\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gdal.lib %WORKSPACE%\3rdParty\lib\ /y /f&lt;br /&gt;
xcopy %WORKSPACE%\libgdal-source\gdal*.dll %WORKSPACE%\3rdParty\bin\ /y /f&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBFLTK&lt;br /&gt;
&lt;br /&gt;
curl http://fltk.org/pub/fltk/1.3.2/fltk-1.3.2-source.tar.gz -o %WORKSPACE%/libfltk.tar.gz&lt;br /&gt;
tar xzvf libfltk.tar.gz&lt;br /&gt;
mv -f %WORKSPACE%/fltk-1.3.2 %WORKSPACE%/libfltk-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libfltk-build&lt;br /&gt;
cd libfltk-build&lt;br /&gt;
cmake ..\libfltk-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libfltk-build\build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%\3rdParty&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libfltk-build\build\include\* %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libfltk-build\build\bin\* %WORKSPACE%\3rdParty\bin /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libfltk-build\build\lib\fltk*.lib %WORKSPACE%\3rdParty\lib /y /s /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBBOOST&lt;br /&gt;
&lt;br /&gt;
curl http://flightgear.simpits.org:8080/job/Boost-Win/lastSuccessfulBuild/artifact/*zip*/archive.zip -o %WORKSPACE%/libboost.zip&lt;br /&gt;
unzip libboost.zip&lt;br /&gt;
mv %WORKSPACE%\archive\Boost %WORKSPACE%\Boost&lt;br /&gt;
rmdir %WORKSPACE%\archive&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile CGAL&lt;br /&gt;
&lt;br /&gt;
curl https://gforge.inria.fr/frs/download.php/32996/CGAL-4.3.zip -o %WORKSPACE%/libcgal.zip&lt;br /&gt;
unzip %WORKSPACE%/libcgal.zip&lt;br /&gt;
mv -f %WORKSPACE%/CGAL-4.3 %WORKSPACE%/libcgal-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%\Boost\&lt;br /&gt;
md include\boost-1_55&lt;br /&gt;
mv boost include\boost-1_55\boost&lt;br /&gt;
xcopy &amp;quot;%CGAL_PATH%&amp;quot;\auxiliary\gmp\include\* %WORKSPACE%\libcgal-source\auxiliary\gmp\include /s /y /i&lt;br /&gt;
xcopy &amp;quot;%CGAL_PATH%&amp;quot;\auxiliary\gmp\lib32\* %WORKSPACE%\libcgal-source\auxiliary\gmp\lib /s /y /i&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libcgal-build&lt;br /&gt;
cd libcgal-build&lt;br /&gt;
cmake ..\libcgal-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_PREFIX_PATH=&amp;quot;%WORKSPACE%\cgal-source\auxiliary\gmp;%WORKSPACE%\Boost&amp;quot; -DCGAL_Boost_USE_STATIC_LIBS:BOOL=ON -DZLIB_LIBRARY=&amp;quot;%WORKSPACE%\3rdParty\lib\zlib.lib&amp;quot; -DZLIB_INCLUDE_DIR=&amp;quot;%WORKSPACE%\3rdParty\include&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libcgal-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-build\build\include\* %WORKSPACE%\3rdParty\include /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-build\build\bin\*.dll %WORKSPACE%\3rdParty\bin /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-build\build\lib\*.lib %WORKSPACE%\3rdParty\lib /y /s /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-source\auxiliary\gmp\lib\*.dll %WORKSPACE%\3rdParty\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libcgal-source\auxiliary\gmp\lib\*.lib %WORKSPACE%\3rdParty\lib /s /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile FREETYPE&lt;br /&gt;
&lt;br /&gt;
curl -L http://sourceforge.net/projects/freetype/files/freetype2/2.5.3/ft253.zip/download -o %WORKSPACE%/freetype.zip&lt;br /&gt;
unzip freetype.zip&lt;br /&gt;
mv -f %WORKSPACE%/freetype-2.5.3 %WORKSPACE%/freetype-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md freetype-build&lt;br /&gt;
cd freetype-build&lt;br /&gt;
&lt;br /&gt;
cmake ..\freetype-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%/freetype-build/build&amp;quot; -DCMAKE_PREFIX_PATH:PATH=&amp;quot;%WORKSPACE%/3rdParty&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\freetype-build\build\* %WORKSPACE%\3rdParty /y /s /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBPROJ&lt;br /&gt;
&lt;br /&gt;
curl http://download.osgeo.org/proj/proj-4.8.0.zip -o libproj.zip&lt;br /&gt;
unzip libproj.zip&lt;br /&gt;
mv -f proj-4.8.0 libproj-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%/libproj-source&lt;br /&gt;
&lt;br /&gt;
nmake -f makefile.vc &lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libproj-source\src\*.lib %WORKSPACE%\3rdParty\lib /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libproj-source\src\*.dll %WORKSPACE%\3rdParty\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libproj-source\src\proj_api.h %WORKSPACE%\3rdParty\include /s /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBGEOS&lt;br /&gt;
&lt;br /&gt;
curl http://download.osgeo.org/geos/geos-3.4.2.tar.bz2 -o %WORKSPACE%/libgeos.tar.bz2&lt;br /&gt;
tar xvjf libgeos.tar.bz2&lt;br /&gt;
mv -f geos-3.4.2 libgeos-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libgeos-build&lt;br /&gt;
cd libgeos-build&lt;br /&gt;
cmake ..\libgeos-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libgeos-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libgeos-build\build\bin\geos_c.dll %WORKSPACE%\3rdParty\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libgeos-build\build\lib\geos_c.lib %WORKSPACE%\3rdParty\lib /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libgeos-build\build\include\geos_c.h %WORKSPACE%\3rdParty\include /s /y /q&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ############################# Download &amp;amp; compile LIBEXPAT&lt;br /&gt;
&lt;br /&gt;
curl -L http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz/download -o %WORKSPACE%/libexpat.tar.gz&lt;br /&gt;
tar xzvf libexpat.tar.gz&lt;br /&gt;
mv -f expat-2.1.0 libexpat-source&lt;br /&gt;
&lt;br /&gt;
cd %WORKSPACE%&lt;br /&gt;
md libexpat-build&lt;br /&gt;
cd libexpat-build&lt;br /&gt;
cmake ..\libexpat-source -G &amp;quot;Visual Studio 10&amp;quot; -DCMAKE_INSTALL_PREFIX:PATH=&amp;quot;%WORKSPACE%\libexpat-build\build&amp;quot;&lt;br /&gt;
cmake --build . --config Release --target INSTALL&lt;br /&gt;
&lt;br /&gt;
xcopy %WORKSPACE%\libexpat-build\build\bin\expat.dll %WORKSPACE%\3rdParty\bin /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libexpat-build\build\lib\expat.lib %WORKSPACE%\3rdParty\lib /s /y /q&lt;br /&gt;
xcopy %WORKSPACE%\libexpat-build\build\include\* %WORKSPACE%\3rdParty\include /s /y /q&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:SkipMe&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page is mostly here for the futur guy who will replace me when I will be tired to maintain Windows stuff ;)&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=71707</id>
		<title>Scripted Compilation on Linux Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=71707"/>
		<updated>2014-05-21T09:06:59Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* List of compiled programs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following script takes care of downloading and compiling FlightGear from the git repositories with just one command execution for both 32-bit and 64-bit Debian based systems (Debian, Ubuntu). Pre-existing installed version (if any) of FlightGear are not touched at all since the script builds and installs everything under the directory in which it is launched. You can choose between building all or only specific tools and applications. For redhat-based systems (Fedora, CentOS) you may want to check out [[CentOS]].&lt;br /&gt;
&lt;br /&gt;
Necessary packages are installed via the apt-get system while libraries not included in the repositories are downloaded and compiled on the fly (i.e. [[Plib]], [[Simgear]] and [[OSG]]).&lt;br /&gt;
&lt;br /&gt;
For Hints on Using a RPM based distribution like CentOS, please see [[CentOS]]&lt;br /&gt;
&lt;br /&gt;
Please also see [[Superbuild]].&lt;br /&gt;
&lt;br /&gt;
=== Update Available - Conversion step is built in ===&lt;br /&gt;
&lt;br /&gt;
[[user:F-JJTH|F-JJTH]] has published version 2.23 of the script.&lt;br /&gt;
The new script will not try to do as much housekeeping. It will be easier to maintain.&lt;br /&gt;
&lt;br /&gt;
However, the script does use a slightly different directory structure. For example simgear/simgear has been replaced with just simgear.  OpenSceneGraph becomes openscenegraph and install/fgfs becomes install/flightgear.&lt;br /&gt;
&lt;br /&gt;
If you have used the script before, the script will do a quick conversion step and stop.  You will need to restart the script after the conversion step. During conversion, your download of fgdata is preserved, but other sources may not be.  Read the script for details.  You may want to backup your flightgear build directories before running this version.&lt;br /&gt;
&lt;br /&gt;
download the newest script with this command:&lt;br /&gt;
&lt;br /&gt;
 wget -O download_and_compile.sh https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The conversion will:&lt;br /&gt;
&lt;br /&gt;
* move or remove source directories for compatibility&lt;br /&gt;
* remove the build directory&lt;br /&gt;
* remove the install directory except for fgdata&lt;br /&gt;
&lt;br /&gt;
=== Cut to the Chase: for the impatient ===&lt;br /&gt;
&lt;br /&gt;
 cd  &amp;lt;your working directory for building flightgear&amp;gt;&lt;br /&gt;
 wget download_and_compile.sh  https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh&lt;br /&gt;
 chmod +x download_and_compile.sh&lt;br /&gt;
 mkdir -p stable&lt;br /&gt;
 mkdir -p next&lt;br /&gt;
 cd stable&lt;br /&gt;
 ../download_and_compile.sh -s&lt;br /&gt;
 cd ../next&lt;br /&gt;
 ../download_and_compile.sh -p n &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disk Space Requirements ===&lt;br /&gt;
As of 02/2013, this script will by at least require 24-30 gb of disk space, note that this includes the downloaded source trees and the build files, but also the fgdata checkout (which accounts approx. for 50% of the whole thing).  &lt;br /&gt;
&lt;br /&gt;
=== List of compiled programs ===&lt;br /&gt;
The script is able to download and compile:&lt;br /&gt;
* FlightGear (And all the data needed to use it)&lt;br /&gt;
* [[Fgrun]]&lt;br /&gt;
* [[FGo!]]&lt;br /&gt;
* [[FGX]]&lt;br /&gt;
* [[Terragear]]&lt;br /&gt;
* [[TerraGear_GUI]]&lt;br /&gt;
* [[OpenRadar]]&lt;br /&gt;
* [[FlightGear HLA support (High Level Architecture) | OpenRTI]]&lt;br /&gt;
&lt;br /&gt;
Note that openRTI is just another optional dependency for HLA support: http://wiki.flightgear.org/FlightGear_HLA_support_(High_Level_Architecture)&lt;br /&gt;
&lt;br /&gt;
For the time being, you should be just fine building without HLA support. Eventually, the idea is for HLA to replace the existing MP system and even increasingly distribute the FlightGear architecture such that more and more components can be more easily run in separate threads or even separate processes, possibly even on different machines. So this is going to be an important feature for professional users, using several computers and screens to create a comprehensive and immersive simulation environment.&lt;br /&gt;
&lt;br /&gt;
At the moment, it's probably safe to say that HLA is only of interest to developers and people willing to play with experimental features.&lt;br /&gt;
&lt;br /&gt;
==== When building Next you may see build errors ====&lt;br /&gt;
Keeping in mind that this script compiles bleeding edge software versions, using latest debian derivered distros, it can happen that the program that was successfully compiling last week, today does not. Building the stable version should always work unless there is a problem with the script&amp;lt;BR/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
You can download the script here: &lt;br /&gt;
* Primary site: [https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh download_and_compile.sh]&lt;br /&gt;
* Mirror: [http://assistenza.larasrl.net/brisa/fgfs/download_and_compile.sh download_and_compile.sh] (not recently updated)&lt;br /&gt;
&lt;br /&gt;
*The script is maintained in the FlightGear main repository. Remember to update this script whenever a new FlightGear version is released, so that you'll be able to download the latest stable revision.&lt;br /&gt;
&lt;br /&gt;
There is also another option for building FlightGear and all its dependencies in an automated fashion, please refer to: http://geoffmclane.com/fg/fgfs-052.htm&lt;br /&gt;
&lt;br /&gt;
== Known Pitfalls ==&lt;br /&gt;
FlightGear versions &amp;lt;= 3.0 are known to have a cmake build system issue related to NOT automatically reconfiguring the SG/FG sources after updating the version files in in $SG_SRC and $FG_SRC, which basically means that using &amp;quot;git pull&amp;quot; to update your source trees (via the d&amp;amp;c script) will create the latest binaries, but they may not be looking for the right base package data, because the source trees are still using the old version files found in the cmake cache. This has been encountered by various contributors, including at least one core developer.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, simply switch to your SG/FG build directories and reconfigure each tree by running &amp;quot;cmake .&amp;quot; - for further info, see [http://forum.flightgear.org/viewtopic.php?f=22&amp;amp;t=20304#p186647][http://forum.flightgear.org/viewtopic.php?f=22&amp;amp;p=187413#p186942].&lt;br /&gt;
&lt;br /&gt;
This should probably be removed.  Stable is 3.0.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
To run download_and_compile.sh, just save it in a directory called for example: ~/fgfs&lt;br /&gt;
then execute it (no need to execute it as root).&lt;br /&gt;
&lt;br /&gt;
Here is for example a sequence of commands to get the script from the master branch.  You can replace master with next to get a later version of the script if one is available:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ~/fgfs&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
wget http://www.gitorious.org/fg/fgmeta/raw/download_and_compile.sh&lt;br /&gt;
chmod 755 download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You have two options now: build the latest ''stable'' FlightGear release or build the ''current development'' version (bleeding edge).&lt;br /&gt;
After building stable or the latest, if you need to build a different version, try the instructions for [[Avoiding Multiple Downloads of fgdata]].  &lt;br /&gt;
=== Build the latest stable FlightGear release ===&lt;br /&gt;
When executing the script, use the &amp;quot;-s&amp;quot; option to build the latest stable release:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build the current FlightGear development version ===&lt;br /&gt;
When executing the script without any options, &lt;br /&gt;
the latest development version is built.&lt;br /&gt;
&lt;br /&gt;
'''Warning''': The development version of Flightgear changes on an almost daily basis. It provides the latest features, but is not always guaranteed to work reliably. If you're unfamiliar with software testing, you may prefer to use the latest stable release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the script is finished, you will successfully get Flightgear and Fgrun installed in the ~/fgfs directory.&lt;br /&gt;
&lt;br /&gt;
=== Launching FlightGear ===&lt;br /&gt;
When using brisa's script, the two FG dependencies/libs are usually not installed system-wide, but in a custom location (that makes it possible, to easily use different OSG/SG/FG versions on a single system, i.e. for testing purposes - but also to have separate build trees (optimized/debug) ) - which is why you either need to set LD_LIBRARY_PATH or simply use Brisa's script to run everything (something like run_fgfs.sh, which automatically sets up all environment variables according to your build settings). &lt;br /&gt;
&lt;br /&gt;
To run your new git installation of FlightGear you have to launch the ''run_fgfs.sh'' command under the same folder, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgfs.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgrun ===&lt;br /&gt;
[[File:fgrun-page2.jpg|thumb|right]]&lt;br /&gt;
For many users it's more comfortable having FlightGear launched by the graphical utility Fgrun which is installed as well in the same folder. You have to launch the ''run_fgrun.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgrun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fgrun will save its settings in ~/.fltk/flightgear.org/fgrun.prefs  you may want to save copies of the preferences customized for stable and next.&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgo! ===&lt;br /&gt;
[[File:Fgo01.jpg|thumb|left]]&lt;br /&gt;
This is a graphical utility written in [[python]], You have to launch the ''run_fgo.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgo.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember that the first time you run it, you have to go to preferences and set the binary and fgdata path (Do no set the working directory, you don't need it).&lt;br /&gt;
&lt;br /&gt;
== Additional programs ==&lt;br /&gt;
If you wish to get all the other programs, you need to launch the script adding the &amp;quot;ALL&amp;quot; option to the command line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This, will also install FGCOM, FGComGui and Atlas&lt;br /&gt;
&lt;br /&gt;
=== Launching FGCOM ===&lt;br /&gt;
FGCOM is the system used by FlightGear to simulate radio communications between users. Launch it using the ''run_fgcom.sh'' command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgcom.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Launching Terrasync ===&lt;br /&gt;
Your FlightGear compilation comes with the Terrasync program too, so if you want to use it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_terrasync.sh -S -p 5500 -d /folder/with/sceneries&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where: ''/folder/with/sceneries'' is the folder containing the sceneries data.&lt;br /&gt;
&lt;br /&gt;
Then launch fgfs with the '''--fg-scenery=/folder/with/sceneries --atlas=socket,out,5,localhost,5500,udp''' option&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Compilation errors ===&lt;br /&gt;
Here we are, no fear, if you wish to use programs from the cvs/svn/git repositories, you might face compilation errors that will prevent you to have a working copy of one or more of the programs provided by this script. What can be the causes that prevent us from successfully compiling? As far as I know those:&lt;br /&gt;
# Software developers introduce a new functionality with a new piece of code that prevents the compilation under your architecture, this can happen working with cvs/svn/git sources.&lt;br /&gt;
# The program refuses to compile because of a divergence in the libraries on which it depends. For example FlightGear might not compile because OSG has been modified, while OSG itself compiles fine, FG won't.&lt;br /&gt;
# One or more repositories are down and you can't get the library you need. (Both from cvs/svn/git or apt-get)&lt;br /&gt;
&lt;br /&gt;
There is a simple solution to the above errors: wait and relaunch the script after some time (hours or days), if software developers repair or synchronize their code with the newly updated libraries (which generally happens eventually), your FlightGear will compile fine as if the previous error never took place.&lt;br /&gt;
&lt;br /&gt;
Sometimes it happens that the script fails to compile only fgrun, fgcom or atlas, if you then see the run_fgfs.sh file it means that FlightGear installation was successful and you can safely run it.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
The script by default (without any option) will only compile FlightGear and Fgrun. To make it compile all, you need to launch the script with the ''ALL'' parameter. i.e.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling only one program ===&lt;br /&gt;
If you wish to recompile only one of the programs you can launch the script with one of the following parameters:&lt;br /&gt;
* PLIB (to compile and install only plib)&lt;br /&gt;
* OSG (to compile and install only OpenSceneGraph)&lt;br /&gt;
* SIMGEAR (to compile and install only Simgear)&lt;br /&gt;
* FGFS (to compile and install only FlightGear)&lt;br /&gt;
* DATA (to download / update only data files for FlightGear)&lt;br /&gt;
* FGRUN (to compile and install only Fgrun)&lt;br /&gt;
* TERRAGEAR (to compile and install only terragear!)&lt;br /&gt;
* TERRAGEARGUI (to compile and install only terrageargui!)&lt;br /&gt;
* OPENRADAR (to compile and install only OpenRadar!)&lt;br /&gt;
* FGO (to compile and install only Fgo!)&lt;br /&gt;
&lt;br /&gt;
=== Fast updating ===&lt;br /&gt;
There is a second parameter ''UPDATE'' that allows you to just update your installation. i.e.:&lt;br /&gt;
This will only update FGFS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh FGFS UPDATE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling last stable versions (Experimental) ===&lt;br /&gt;
Even if the script fetches data and sources from bleeding edge developers repositories (which sometimes do not compile), you can still force the script to download latest known versions of the software that were compiling successfully by adding the -s option.  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How does it work? Inside the script there is a small list with latest known versions of successfully compiling revisions, it will download from svn/git those specific revisions, which have been found able to compile together.&amp;lt;BR/&amp;gt;&lt;br /&gt;
Warning: If you run this option inside a folder where you previously compiled fgfs, it will probably fail to compile, you better run the script with this option inside an empty folder or a folder whith the same fgfs version compiled previously.&lt;br /&gt;
&lt;br /&gt;
=== Advanced options ===&lt;br /&gt;
* Skip download of packages using '''-p n''' option&lt;br /&gt;
* Skip compilation of programs using '''-c n''' option&lt;br /&gt;
* Skip retrieving software updates using '''-d n''' option&lt;br /&gt;
* Skip reconfigure (make clean) using '''-r n''' option&lt;br /&gt;
&lt;br /&gt;
For example, if you are a developer and wish to quickly recompile and reinstall only your own modifications for FlightGear do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -p n -d n -r n  FGFS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this will only recompile modifications and reinstall them.&lt;br /&gt;
&lt;br /&gt;
=== Multicore Acceleration ===&lt;br /&gt;
Using the option '''-j x''' (where x is the number of your CPU-Cores you wish to assign to the job) will speed up the whole compilation process considerably.&lt;br /&gt;
&lt;br /&gt;
== Disk usage ==&lt;br /&gt;
Having both compiled program, source code, and data from git requires some hard disk space: It will take something like 13 GB of space.&lt;br /&gt;
If you don't have a fast machine, it will require several hours of compilation time.&lt;br /&gt;
&lt;br /&gt;
== Optimus technology ==&lt;br /&gt;
If your computer has a GPU with optimus technology, you need a dedicated script in order to make FG running with the powerful GPU.&lt;br /&gt;
&lt;br /&gt;
After having installed required tools (Bumblebee) you just need to run this command line in your FG installation directory (where you executed ./download_and_compile.sh) : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed  's|\./fgfs|optirun ./fgfs|' run_fgfs.sh &amp;gt; run_fgfs_optirun.sh &amp;amp;&amp;amp; chmod +x run_fgfs_optirun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run FG with ./run_fgfs_optirun.sh&lt;br /&gt;
&lt;br /&gt;
== Remove warning message for DDS files ==&lt;br /&gt;
You can remove the warning message displayed when DDS files are parsed by SimGear by adding the following line just after '''cd &amp;quot;simgear&amp;quot;''' line :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	sed -i s/SG_ALERT,\ \&amp;quot;Image/SG_WARN,\ \&amp;quot;Image/g simgear/scene/model/ModelRegistry.cxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Building from source]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Compileren met een Script op Linux Debian/Ubuntu]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=71706</id>
		<title>Scripted Compilation on Linux Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=71706"/>
		<updated>2014-05-21T09:05:07Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Update Available - Conversion step is built in */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following script takes care of downloading and compiling FlightGear from the git repositories with just one command execution for both 32-bit and 64-bit Debian based systems (Debian, Ubuntu). Pre-existing installed version (if any) of FlightGear are not touched at all since the script builds and installs everything under the directory in which it is launched. You can choose between building all or only specific tools and applications. For redhat-based systems (Fedora, CentOS) you may want to check out [[CentOS]].&lt;br /&gt;
&lt;br /&gt;
Necessary packages are installed via the apt-get system while libraries not included in the repositories are downloaded and compiled on the fly (i.e. [[Plib]], [[Simgear]] and [[OSG]]).&lt;br /&gt;
&lt;br /&gt;
For Hints on Using a RPM based distribution like CentOS, please see [[CentOS]]&lt;br /&gt;
&lt;br /&gt;
Please also see [[Superbuild]].&lt;br /&gt;
&lt;br /&gt;
=== Update Available - Conversion step is built in ===&lt;br /&gt;
&lt;br /&gt;
[[user:F-JJTH|F-JJTH]] has published version 2.23 of the script.&lt;br /&gt;
The new script will not try to do as much housekeeping. It will be easier to maintain.&lt;br /&gt;
&lt;br /&gt;
However, the script does use a slightly different directory structure. For example simgear/simgear has been replaced with just simgear.  OpenSceneGraph becomes openscenegraph and install/fgfs becomes install/flightgear.&lt;br /&gt;
&lt;br /&gt;
If you have used the script before, the script will do a quick conversion step and stop.  You will need to restart the script after the conversion step. During conversion, your download of fgdata is preserved, but other sources may not be.  Read the script for details.  You may want to backup your flightgear build directories before running this version.&lt;br /&gt;
&lt;br /&gt;
download the newest script with this command:&lt;br /&gt;
&lt;br /&gt;
 wget -O download_and_compile.sh https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The conversion will:&lt;br /&gt;
&lt;br /&gt;
* move or remove source directories for compatibility&lt;br /&gt;
* remove the build directory&lt;br /&gt;
* remove the install directory except for fgdata&lt;br /&gt;
&lt;br /&gt;
=== Cut to the Chase: for the impatient ===&lt;br /&gt;
&lt;br /&gt;
 cd  &amp;lt;your working directory for building flightgear&amp;gt;&lt;br /&gt;
 wget download_and_compile.sh  https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh&lt;br /&gt;
 chmod +x download_and_compile.sh&lt;br /&gt;
 mkdir -p stable&lt;br /&gt;
 mkdir -p next&lt;br /&gt;
 cd stable&lt;br /&gt;
 ../download_and_compile.sh -s&lt;br /&gt;
 cd ../next&lt;br /&gt;
 ../download_and_compile.sh -p n &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disk Space Requirements ===&lt;br /&gt;
As of 02/2013, this script will by at least require 24-30 gb of disk space, note that this includes the downloaded source trees and the build files, but also the fgdata checkout (which accounts approx. for 50% of the whole thing).  &lt;br /&gt;
&lt;br /&gt;
=== List of compiled programs ===&lt;br /&gt;
The script is able to download and compile:&lt;br /&gt;
* FlightGear (And all the data needed to use it)&lt;br /&gt;
* [[Fgrun]]&lt;br /&gt;
* [[FGo!]]&lt;br /&gt;
* [[FGX]]&lt;br /&gt;
* [[Terragear]]&lt;br /&gt;
* [[TerragearGUI]]&lt;br /&gt;
* [[OpenRadar]]&lt;br /&gt;
* [[FlightGear HLA support (High Level Architecture) | OpenRTI]]&lt;br /&gt;
&lt;br /&gt;
Note that openRTI is just another optional dependency for HLA support: http://wiki.flightgear.org/FlightGear_HLA_support_(High_Level_Architecture)&lt;br /&gt;
&lt;br /&gt;
For the time being, you should be just fine building without HLA support. Eventually, the idea is for HLA to replace the existing MP system and even increasingly distribute the FlightGear architecture such that more and more components can be more easily run in separate threads or even separate processes, possibly even on different machines. So this is going to be an important feature for professional users, using several computers and screens to create a comprehensive and immersive simulation environment.&lt;br /&gt;
&lt;br /&gt;
At the moment, it's probably safe to say that HLA is only of interest to developers and people willing to play with experimental features.&lt;br /&gt;
&lt;br /&gt;
==== When building Next you may see build errors ====&lt;br /&gt;
Keeping in mind that this script compiles bleeding edge software versions, using latest debian derivered distros, it can happen that the program that was successfully compiling last week, today does not. Building the stable version should always work unless there is a problem with the script&amp;lt;BR/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
You can download the script here: &lt;br /&gt;
* Primary site: [https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh download_and_compile.sh]&lt;br /&gt;
* Mirror: [http://assistenza.larasrl.net/brisa/fgfs/download_and_compile.sh download_and_compile.sh] (not recently updated)&lt;br /&gt;
&lt;br /&gt;
*The script is maintained in the FlightGear main repository. Remember to update this script whenever a new FlightGear version is released, so that you'll be able to download the latest stable revision.&lt;br /&gt;
&lt;br /&gt;
There is also another option for building FlightGear and all its dependencies in an automated fashion, please refer to: http://geoffmclane.com/fg/fgfs-052.htm&lt;br /&gt;
&lt;br /&gt;
== Known Pitfalls ==&lt;br /&gt;
FlightGear versions &amp;lt;= 3.0 are known to have a cmake build system issue related to NOT automatically reconfiguring the SG/FG sources after updating the version files in in $SG_SRC and $FG_SRC, which basically means that using &amp;quot;git pull&amp;quot; to update your source trees (via the d&amp;amp;c script) will create the latest binaries, but they may not be looking for the right base package data, because the source trees are still using the old version files found in the cmake cache. This has been encountered by various contributors, including at least one core developer.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, simply switch to your SG/FG build directories and reconfigure each tree by running &amp;quot;cmake .&amp;quot; - for further info, see [http://forum.flightgear.org/viewtopic.php?f=22&amp;amp;t=20304#p186647][http://forum.flightgear.org/viewtopic.php?f=22&amp;amp;p=187413#p186942].&lt;br /&gt;
&lt;br /&gt;
This should probably be removed.  Stable is 3.0.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
To run download_and_compile.sh, just save it in a directory called for example: ~/fgfs&lt;br /&gt;
then execute it (no need to execute it as root).&lt;br /&gt;
&lt;br /&gt;
Here is for example a sequence of commands to get the script from the master branch.  You can replace master with next to get a later version of the script if one is available:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ~/fgfs&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
wget http://www.gitorious.org/fg/fgmeta/raw/download_and_compile.sh&lt;br /&gt;
chmod 755 download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You have two options now: build the latest ''stable'' FlightGear release or build the ''current development'' version (bleeding edge).&lt;br /&gt;
After building stable or the latest, if you need to build a different version, try the instructions for [[Avoiding Multiple Downloads of fgdata]].  &lt;br /&gt;
=== Build the latest stable FlightGear release ===&lt;br /&gt;
When executing the script, use the &amp;quot;-s&amp;quot; option to build the latest stable release:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build the current FlightGear development version ===&lt;br /&gt;
When executing the script without any options, &lt;br /&gt;
the latest development version is built.&lt;br /&gt;
&lt;br /&gt;
'''Warning''': The development version of Flightgear changes on an almost daily basis. It provides the latest features, but is not always guaranteed to work reliably. If you're unfamiliar with software testing, you may prefer to use the latest stable release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the script is finished, you will successfully get Flightgear and Fgrun installed in the ~/fgfs directory.&lt;br /&gt;
&lt;br /&gt;
=== Launching FlightGear ===&lt;br /&gt;
When using brisa's script, the two FG dependencies/libs are usually not installed system-wide, but in a custom location (that makes it possible, to easily use different OSG/SG/FG versions on a single system, i.e. for testing purposes - but also to have separate build trees (optimized/debug) ) - which is why you either need to set LD_LIBRARY_PATH or simply use Brisa's script to run everything (something like run_fgfs.sh, which automatically sets up all environment variables according to your build settings). &lt;br /&gt;
&lt;br /&gt;
To run your new git installation of FlightGear you have to launch the ''run_fgfs.sh'' command under the same folder, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgfs.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgrun ===&lt;br /&gt;
[[File:fgrun-page2.jpg|thumb|right]]&lt;br /&gt;
For many users it's more comfortable having FlightGear launched by the graphical utility Fgrun which is installed as well in the same folder. You have to launch the ''run_fgrun.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgrun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fgrun will save its settings in ~/.fltk/flightgear.org/fgrun.prefs  you may want to save copies of the preferences customized for stable and next.&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgo! ===&lt;br /&gt;
[[File:Fgo01.jpg|thumb|left]]&lt;br /&gt;
This is a graphical utility written in [[python]], You have to launch the ''run_fgo.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgo.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember that the first time you run it, you have to go to preferences and set the binary and fgdata path (Do no set the working directory, you don't need it).&lt;br /&gt;
&lt;br /&gt;
== Additional programs ==&lt;br /&gt;
If you wish to get all the other programs, you need to launch the script adding the &amp;quot;ALL&amp;quot; option to the command line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This, will also install FGCOM, FGComGui and Atlas&lt;br /&gt;
&lt;br /&gt;
=== Launching FGCOM ===&lt;br /&gt;
FGCOM is the system used by FlightGear to simulate radio communications between users. Launch it using the ''run_fgcom.sh'' command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgcom.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Launching Terrasync ===&lt;br /&gt;
Your FlightGear compilation comes with the Terrasync program too, so if you want to use it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_terrasync.sh -S -p 5500 -d /folder/with/sceneries&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where: ''/folder/with/sceneries'' is the folder containing the sceneries data.&lt;br /&gt;
&lt;br /&gt;
Then launch fgfs with the '''--fg-scenery=/folder/with/sceneries --atlas=socket,out,5,localhost,5500,udp''' option&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Compilation errors ===&lt;br /&gt;
Here we are, no fear, if you wish to use programs from the cvs/svn/git repositories, you might face compilation errors that will prevent you to have a working copy of one or more of the programs provided by this script. What can be the causes that prevent us from successfully compiling? As far as I know those:&lt;br /&gt;
# Software developers introduce a new functionality with a new piece of code that prevents the compilation under your architecture, this can happen working with cvs/svn/git sources.&lt;br /&gt;
# The program refuses to compile because of a divergence in the libraries on which it depends. For example FlightGear might not compile because OSG has been modified, while OSG itself compiles fine, FG won't.&lt;br /&gt;
# One or more repositories are down and you can't get the library you need. (Both from cvs/svn/git or apt-get)&lt;br /&gt;
&lt;br /&gt;
There is a simple solution to the above errors: wait and relaunch the script after some time (hours or days), if software developers repair or synchronize their code with the newly updated libraries (which generally happens eventually), your FlightGear will compile fine as if the previous error never took place.&lt;br /&gt;
&lt;br /&gt;
Sometimes it happens that the script fails to compile only fgrun, fgcom or atlas, if you then see the run_fgfs.sh file it means that FlightGear installation was successful and you can safely run it.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
The script by default (without any option) will only compile FlightGear and Fgrun. To make it compile all, you need to launch the script with the ''ALL'' parameter. i.e.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling only one program ===&lt;br /&gt;
If you wish to recompile only one of the programs you can launch the script with one of the following parameters:&lt;br /&gt;
* PLIB (to compile and install only plib)&lt;br /&gt;
* OSG (to compile and install only OpenSceneGraph)&lt;br /&gt;
* SIMGEAR (to compile and install only Simgear)&lt;br /&gt;
* FGFS (to compile and install only FlightGear)&lt;br /&gt;
* DATA (to download / update only data files for FlightGear)&lt;br /&gt;
* FGRUN (to compile and install only Fgrun)&lt;br /&gt;
* TERRAGEAR (to compile and install only terragear!)&lt;br /&gt;
* TERRAGEARGUI (to compile and install only terrageargui!)&lt;br /&gt;
* OPENRADAR (to compile and install only OpenRadar!)&lt;br /&gt;
* FGO (to compile and install only Fgo!)&lt;br /&gt;
&lt;br /&gt;
=== Fast updating ===&lt;br /&gt;
There is a second parameter ''UPDATE'' that allows you to just update your installation. i.e.:&lt;br /&gt;
This will only update FGFS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh FGFS UPDATE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling last stable versions (Experimental) ===&lt;br /&gt;
Even if the script fetches data and sources from bleeding edge developers repositories (which sometimes do not compile), you can still force the script to download latest known versions of the software that were compiling successfully by adding the -s option.  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How does it work? Inside the script there is a small list with latest known versions of successfully compiling revisions, it will download from svn/git those specific revisions, which have been found able to compile together.&amp;lt;BR/&amp;gt;&lt;br /&gt;
Warning: If you run this option inside a folder where you previously compiled fgfs, it will probably fail to compile, you better run the script with this option inside an empty folder or a folder whith the same fgfs version compiled previously.&lt;br /&gt;
&lt;br /&gt;
=== Advanced options ===&lt;br /&gt;
* Skip download of packages using '''-p n''' option&lt;br /&gt;
* Skip compilation of programs using '''-c n''' option&lt;br /&gt;
* Skip retrieving software updates using '''-d n''' option&lt;br /&gt;
* Skip reconfigure (make clean) using '''-r n''' option&lt;br /&gt;
&lt;br /&gt;
For example, if you are a developer and wish to quickly recompile and reinstall only your own modifications for FlightGear do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -p n -d n -r n  FGFS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this will only recompile modifications and reinstall them.&lt;br /&gt;
&lt;br /&gt;
=== Multicore Acceleration ===&lt;br /&gt;
Using the option '''-j x''' (where x is the number of your CPU-Cores you wish to assign to the job) will speed up the whole compilation process considerably.&lt;br /&gt;
&lt;br /&gt;
== Disk usage ==&lt;br /&gt;
Having both compiled program, source code, and data from git requires some hard disk space: It will take something like 13 GB of space.&lt;br /&gt;
If you don't have a fast machine, it will require several hours of compilation time.&lt;br /&gt;
&lt;br /&gt;
== Optimus technology ==&lt;br /&gt;
If your computer has a GPU with optimus technology, you need a dedicated script in order to make FG running with the powerful GPU.&lt;br /&gt;
&lt;br /&gt;
After having installed required tools (Bumblebee) you just need to run this command line in your FG installation directory (where you executed ./download_and_compile.sh) : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed  's|\./fgfs|optirun ./fgfs|' run_fgfs.sh &amp;gt; run_fgfs_optirun.sh &amp;amp;&amp;amp; chmod +x run_fgfs_optirun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run FG with ./run_fgfs_optirun.sh&lt;br /&gt;
&lt;br /&gt;
== Remove warning message for DDS files ==&lt;br /&gt;
You can remove the warning message displayed when DDS files are parsed by SimGear by adding the following line just after '''cd &amp;quot;simgear&amp;quot;''' line :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	sed -i s/SG_ALERT,\ \&amp;quot;Image/SG_WARN,\ \&amp;quot;Image/g simgear/scene/model/ModelRegistry.cxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Building from source]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Compileren met een Script op Linux Debian/Ubuntu]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=71703</id>
		<title>Scripted Compilation on Linux Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Scripted_Compilation_on_Linux_Debian/Ubuntu&amp;diff=71703"/>
		<updated>2014-05-21T08:59:34Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Update Available - Conversion step is built in */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following script takes care of downloading and compiling FlightGear from the git repositories with just one command execution for both 32-bit and 64-bit Debian based systems (Debian, Ubuntu). Pre-existing installed version (if any) of FlightGear are not touched at all since the script builds and installs everything under the directory in which it is launched. You can choose between building all or only specific tools and applications. For redhat-based systems (Fedora, CentOS) you may want to check out [[CentOS]].&lt;br /&gt;
&lt;br /&gt;
Necessary packages are installed via the apt-get system while libraries not included in the repositories are downloaded and compiled on the fly (i.e. [[Plib]], [[Simgear]] and [[OSG]]).&lt;br /&gt;
&lt;br /&gt;
For Hints on Using a RPM based distribution like CentOS, please see [[CentOS]]&lt;br /&gt;
&lt;br /&gt;
Please also see [[Superbuild]].&lt;br /&gt;
&lt;br /&gt;
=== Update Available - Conversion step is built in ===&lt;br /&gt;
&lt;br /&gt;
[[user:F-JJTH|F-JJTH]] has published version 2.23 of the script.&lt;br /&gt;
The new script will not try to do as much housekeeping. It will be easier to maintain.&lt;br /&gt;
&lt;br /&gt;
However, the script does use a slightly different directory structure. For example simgear/simgear has been replaced with just simgear.  OpenSceneGraph becomes openscenegraph and install/fgfs becomes install/flightgear.&lt;br /&gt;
&lt;br /&gt;
If you have used the script before, the script will do a quick conversion step and stop.  You will need to restart the script after the conversion step. During conversion, your download of fgdata is preserved, but other sources may not be.  Read the script for details.  You may want to backup your flightgear build directories before running this version.&lt;br /&gt;
&lt;br /&gt;
download the newest script with this command:&lt;br /&gt;
&lt;br /&gt;
 wget -O download_and_compile.sh https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The conversion will:&lt;br /&gt;
&lt;br /&gt;
* move or remove source directories for compatibility&lt;br /&gt;
* remove the build directory&lt;br /&gt;
* remove the install directory except for fgdata&lt;br /&gt;
&lt;br /&gt;
You will have to restart the script after the conversion.&lt;br /&gt;
&lt;br /&gt;
=== Cut to the Chase: for the impatient ===&lt;br /&gt;
&lt;br /&gt;
 cd  &amp;lt;your working directory for building flightgear&amp;gt;&lt;br /&gt;
 wget download_and_compile.sh  https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh&lt;br /&gt;
 chmod +x download_and_compile.sh&lt;br /&gt;
 mkdir -p stable&lt;br /&gt;
 mkdir -p next&lt;br /&gt;
 cd stable&lt;br /&gt;
 ../download_and_compile.sh -s&lt;br /&gt;
 cd ../next&lt;br /&gt;
 ../download_and_compile.sh -p n &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disk Space Requirements ===&lt;br /&gt;
As of 02/2013, this script will by at least require 24-30 gb of disk space, note that this includes the downloaded source trees and the build files, but also the fgdata checkout (which accounts approx. for 50% of the whole thing).  &lt;br /&gt;
&lt;br /&gt;
=== List of compiled programs ===&lt;br /&gt;
The script is able to download and compile:&lt;br /&gt;
* FlightGear (And all the data needed to use it)&lt;br /&gt;
* [[Fgrun]]&lt;br /&gt;
* [[FGo!]]&lt;br /&gt;
* [[FGX]]&lt;br /&gt;
* [[Terragear]]&lt;br /&gt;
* [[TerragearGUI]]&lt;br /&gt;
* [[OpenRadar]]&lt;br /&gt;
* [[FlightGear HLA support (High Level Architecture) | OpenRTI]]&lt;br /&gt;
&lt;br /&gt;
Note that openRTI is just another optional dependency for HLA support: http://wiki.flightgear.org/FlightGear_HLA_support_(High_Level_Architecture)&lt;br /&gt;
&lt;br /&gt;
For the time being, you should be just fine building without HLA support. Eventually, the idea is for HLA to replace the existing MP system and even increasingly distribute the FlightGear architecture such that more and more components can be more easily run in separate threads or even separate processes, possibly even on different machines. So this is going to be an important feature for professional users, using several computers and screens to create a comprehensive and immersive simulation environment.&lt;br /&gt;
&lt;br /&gt;
At the moment, it's probably safe to say that HLA is only of interest to developers and people willing to play with experimental features.&lt;br /&gt;
&lt;br /&gt;
==== When building Next you may see build errors ====&lt;br /&gt;
Keeping in mind that this script compiles bleeding edge software versions, using latest debian derivered distros, it can happen that the program that was successfully compiling last week, today does not. Building the stable version should always work unless there is a problem with the script&amp;lt;BR/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
You can download the script here: &lt;br /&gt;
* Primary site: [https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh download_and_compile.sh]&lt;br /&gt;
* Mirror: [http://assistenza.larasrl.net/brisa/fgfs/download_and_compile.sh download_and_compile.sh] (not recently updated)&lt;br /&gt;
&lt;br /&gt;
*The script is maintained in the FlightGear main repository. Remember to update this script whenever a new FlightGear version is released, so that you'll be able to download the latest stable revision.&lt;br /&gt;
&lt;br /&gt;
There is also another option for building FlightGear and all its dependencies in an automated fashion, please refer to: http://geoffmclane.com/fg/fgfs-052.htm&lt;br /&gt;
&lt;br /&gt;
== Known Pitfalls ==&lt;br /&gt;
FlightGear versions &amp;lt;= 3.0 are known to have a cmake build system issue related to NOT automatically reconfiguring the SG/FG sources after updating the version files in in $SG_SRC and $FG_SRC, which basically means that using &amp;quot;git pull&amp;quot; to update your source trees (via the d&amp;amp;c script) will create the latest binaries, but they may not be looking for the right base package data, because the source trees are still using the old version files found in the cmake cache. This has been encountered by various contributors, including at least one core developer.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, simply switch to your SG/FG build directories and reconfigure each tree by running &amp;quot;cmake .&amp;quot; - for further info, see [http://forum.flightgear.org/viewtopic.php?f=22&amp;amp;t=20304#p186647][http://forum.flightgear.org/viewtopic.php?f=22&amp;amp;p=187413#p186942].&lt;br /&gt;
&lt;br /&gt;
This should probably be removed.  Stable is 3.0.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
To run download_and_compile.sh, just save it in a directory called for example: ~/fgfs&lt;br /&gt;
then execute it (no need to execute it as root).&lt;br /&gt;
&lt;br /&gt;
Here is for example a sequence of commands to get the script from the master branch.  You can replace master with next to get a later version of the script if one is available:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ~/fgfs&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
wget http://www.gitorious.org/fg/fgmeta/raw/download_and_compile.sh&lt;br /&gt;
chmod 755 download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You have two options now: build the latest ''stable'' FlightGear release or build the ''current development'' version (bleeding edge).&lt;br /&gt;
After building stable or the latest, if you need to build a different version, try the instructions for [[Avoiding Multiple Downloads of fgdata]].  &lt;br /&gt;
=== Build the latest stable FlightGear release ===&lt;br /&gt;
When executing the script, use the &amp;quot;-s&amp;quot; option to build the latest stable release:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build the current FlightGear development version ===&lt;br /&gt;
When executing the script without any options, &lt;br /&gt;
the latest development version is built.&lt;br /&gt;
&lt;br /&gt;
'''Warning''': The development version of Flightgear changes on an almost daily basis. It provides the latest features, but is not always guaranteed to work reliably. If you're unfamiliar with software testing, you may prefer to use the latest stable release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the script is finished, you will successfully get Flightgear and Fgrun installed in the ~/fgfs directory.&lt;br /&gt;
&lt;br /&gt;
=== Launching FlightGear ===&lt;br /&gt;
When using brisa's script, the two FG dependencies/libs are usually not installed system-wide, but in a custom location (that makes it possible, to easily use different OSG/SG/FG versions on a single system, i.e. for testing purposes - but also to have separate build trees (optimized/debug) ) - which is why you either need to set LD_LIBRARY_PATH or simply use Brisa's script to run everything (something like run_fgfs.sh, which automatically sets up all environment variables according to your build settings). &lt;br /&gt;
&lt;br /&gt;
To run your new git installation of FlightGear you have to launch the ''run_fgfs.sh'' command under the same folder, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgfs.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgrun ===&lt;br /&gt;
[[File:fgrun-page2.jpg|thumb|right]]&lt;br /&gt;
For many users it's more comfortable having FlightGear launched by the graphical utility Fgrun which is installed as well in the same folder. You have to launch the ''run_fgrun.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgrun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fgrun will save its settings in ~/.fltk/flightgear.org/fgrun.prefs  you may want to save copies of the preferences customized for stable and next.&lt;br /&gt;
&lt;br /&gt;
=== Launching Fgo! ===&lt;br /&gt;
[[File:Fgo01.jpg|thumb|left]]&lt;br /&gt;
This is a graphical utility written in [[python]], You have to launch the ''run_fgo.sh'' command, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgo.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember that the first time you run it, you have to go to preferences and set the binary and fgdata path (Do no set the working directory, you don't need it).&lt;br /&gt;
&lt;br /&gt;
== Additional programs ==&lt;br /&gt;
If you wish to get all the other programs, you need to launch the script adding the &amp;quot;ALL&amp;quot; option to the command line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This, will also install FGCOM, FGComGui and Atlas&lt;br /&gt;
&lt;br /&gt;
=== Launching FGCOM ===&lt;br /&gt;
FGCOM is the system used by FlightGear to simulate radio communications between users. Launch it using the ''run_fgcom.sh'' command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_fgcom.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Launching Terrasync ===&lt;br /&gt;
Your FlightGear compilation comes with the Terrasync program too, so if you want to use it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/fgfs&lt;br /&gt;
sh run_terrasync.sh -S -p 5500 -d /folder/with/sceneries&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where: ''/folder/with/sceneries'' is the folder containing the sceneries data.&lt;br /&gt;
&lt;br /&gt;
Then launch fgfs with the '''--fg-scenery=/folder/with/sceneries --atlas=socket,out,5,localhost,5500,udp''' option&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Compilation errors ===&lt;br /&gt;
Here we are, no fear, if you wish to use programs from the cvs/svn/git repositories, you might face compilation errors that will prevent you to have a working copy of one or more of the programs provided by this script. What can be the causes that prevent us from successfully compiling? As far as I know those:&lt;br /&gt;
# Software developers introduce a new functionality with a new piece of code that prevents the compilation under your architecture, this can happen working with cvs/svn/git sources.&lt;br /&gt;
# The program refuses to compile because of a divergence in the libraries on which it depends. For example FlightGear might not compile because OSG has been modified, while OSG itself compiles fine, FG won't.&lt;br /&gt;
# One or more repositories are down and you can't get the library you need. (Both from cvs/svn/git or apt-get)&lt;br /&gt;
&lt;br /&gt;
There is a simple solution to the above errors: wait and relaunch the script after some time (hours or days), if software developers repair or synchronize their code with the newly updated libraries (which generally happens eventually), your FlightGear will compile fine as if the previous error never took place.&lt;br /&gt;
&lt;br /&gt;
Sometimes it happens that the script fails to compile only fgrun, fgcom or atlas, if you then see the run_fgfs.sh file it means that FlightGear installation was successful and you can safely run it.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
The script by default (without any option) will only compile FlightGear and Fgrun. To make it compile all, you need to launch the script with the ''ALL'' parameter. i.e.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling only one program ===&lt;br /&gt;
If you wish to recompile only one of the programs you can launch the script with one of the following parameters:&lt;br /&gt;
* PLIB (to compile and install only plib)&lt;br /&gt;
* OSG (to compile and install only OpenSceneGraph)&lt;br /&gt;
* SIMGEAR (to compile and install only Simgear)&lt;br /&gt;
* FGFS (to compile and install only FlightGear)&lt;br /&gt;
* DATA (to download / update only data files for FlightGear)&lt;br /&gt;
* FGRUN (to compile and install only Fgrun)&lt;br /&gt;
* TERRAGEAR (to compile and install only terragear!)&lt;br /&gt;
* TERRAGEARGUI (to compile and install only terrageargui!)&lt;br /&gt;
* OPENRADAR (to compile and install only OpenRadar!)&lt;br /&gt;
* FGO (to compile and install only Fgo!)&lt;br /&gt;
&lt;br /&gt;
=== Fast updating ===&lt;br /&gt;
There is a second parameter ''UPDATE'' that allows you to just update your installation. i.e.:&lt;br /&gt;
This will only update FGFS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh FGFS UPDATE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling last stable versions (Experimental) ===&lt;br /&gt;
Even if the script fetches data and sources from bleeding edge developers repositories (which sometimes do not compile), you can still force the script to download latest known versions of the software that were compiling successfully by adding the -s option.  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How does it work? Inside the script there is a small list with latest known versions of successfully compiling revisions, it will download from svn/git those specific revisions, which have been found able to compile together.&amp;lt;BR/&amp;gt;&lt;br /&gt;
Warning: If you run this option inside a folder where you previously compiled fgfs, it will probably fail to compile, you better run the script with this option inside an empty folder or a folder whith the same fgfs version compiled previously.&lt;br /&gt;
&lt;br /&gt;
=== Advanced options ===&lt;br /&gt;
* Skip download of packages using '''-p n''' option&lt;br /&gt;
* Skip compilation of programs using '''-c n''' option&lt;br /&gt;
* Skip retrieving software updates using '''-d n''' option&lt;br /&gt;
* Skip reconfigure (make clean) using '''-r n''' option&lt;br /&gt;
&lt;br /&gt;
For example, if you are a developer and wish to quickly recompile and reinstall only your own modifications for FlightGear do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./download_and_compile.sh -p n -d n -r n  FGFS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this will only recompile modifications and reinstall them.&lt;br /&gt;
&lt;br /&gt;
=== Multicore Acceleration ===&lt;br /&gt;
Using the option '''-j x''' (where x is the number of your CPU-Cores you wish to assign to the job) will speed up the whole compilation process considerably.&lt;br /&gt;
&lt;br /&gt;
== Disk usage ==&lt;br /&gt;
Having both compiled program, source code, and data from git requires some hard disk space: It will take something like 13 GB of space.&lt;br /&gt;
If you don't have a fast machine, it will require several hours of compilation time.&lt;br /&gt;
&lt;br /&gt;
== Optimus technology ==&lt;br /&gt;
If your computer has a GPU with optimus technology, you need a dedicated script in order to make FG running with the powerful GPU.&lt;br /&gt;
&lt;br /&gt;
After having installed required tools (Bumblebee) you just need to run this command line in your FG installation directory (where you executed ./download_and_compile.sh) : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed  's|\./fgfs|optirun ./fgfs|' run_fgfs.sh &amp;gt; run_fgfs_optirun.sh &amp;amp;&amp;amp; chmod +x run_fgfs_optirun.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can run FG with ./run_fgfs_optirun.sh&lt;br /&gt;
&lt;br /&gt;
== Remove warning message for DDS files ==&lt;br /&gt;
You can remove the warning message displayed when DDS files are parsed by SimGear by adding the following line just after '''cd &amp;quot;simgear&amp;quot;''' line :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	sed -i s/SG_ALERT,\ \&amp;quot;Image/SG_WARN,\ \&amp;quot;Image/g simgear/scene/model/ModelRegistry.cxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Building from source]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Compileren met een Script op Linux Debian/Ubuntu]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_3.2&amp;diff=70701</id>
		<title>Changelog 3.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_3.2&amp;diff=70701"/>
		<updated>2014-05-08T13:13:30Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Major enhancements in this release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear 3.2 release. To see what is being worked on, check out [[Changelog 3.2]].&lt;br /&gt;
Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.&amp;lt;br/&amp;gt;It's a good idea to check [[:Category:Changes_after_3.00|the newsletters since the last release]], and the git commit history.&lt;br /&gt;
To view the changelog for the most recent release, please see [[Changelog 3.0]]. &lt;br /&gt;
We also encourage people to help by translating the changelog and appreciate all contributions, however please keep in mind that this changelog is not yet final!&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Upcoming FlightGear Changelog==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The FlightGear development team is delighted to announce the v3.2 release of FlightGear, the free, open-source flight simulator.  This new version contains many exciting new features, enhancements and bugfixes.  Highlights in this release include integration of the FGCom voice communications client within the simulator, improved terrain rendering, faster scenery loading, and improved usability.  This release also coincides with the release of FlightGear World Scenery 2.0 - massively improved scenery data covering the entirety of the planet and incorporating OpenStreetMap roads and detailed terrain information from a variety of sources.  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create &lt;br /&gt;
the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world &lt;br /&gt;
by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multi-player environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v3.2 for free from [http://www.flightgear.org FlightGear.org]&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
&lt;br /&gt;
'''Surface Light Effects &amp;amp; OpenSceneGraph 3.2'''&lt;br /&gt;
&lt;br /&gt;
Stuart committed a change that brings surface lights, including VASI/PAPI/taxi/runway etc. into the xml-defined Effects  framework.  Kudos to Tim Moore for his original Effects work - it made it very straightforward to enhance with support for point sprites and a custom texture generator required.&lt;br /&gt;
&lt;br /&gt;
The relevant effect is data/Effects/surface-lights.eff.  It should allow development of ALS and Rembrandt variants.&lt;br /&gt;
&lt;br /&gt;
Stuart also replaced some OSG color/normal binding calls that were removed  in OSG3.2.0, apparently because they were slow.  So, if your&lt;br /&gt;
build fails, please check you've got a recent OSG build installed.&lt;br /&gt;
&lt;br /&gt;
'''Core'''&lt;br /&gt;
* [[Reset &amp;amp; re-init]] is merged and now enabled&lt;br /&gt;
* A segfault related to scripted Nasal fgcommands (like used in joystick and other bindings) has been fixed {{Issue|1397}}&lt;br /&gt;
* yasim versioning support for maintenance fixes (TorstenD)&lt;br /&gt;
* FLITE TTS support&lt;br /&gt;
* Windows dependencies have been updated&lt;br /&gt;
&lt;br /&gt;
'''Aircraft Modeling'''&lt;br /&gt;
* galvedro's work: [[A Failure Management Framework for FlightGear]]&lt;br /&gt;
* extra 500&lt;br /&gt;
* Tu-154B2 version 3.1&lt;br /&gt;
* additional aircraft have started adopting Gijs' [[NavDisplay]]&lt;br /&gt;
&lt;br /&gt;
'''JSBSim'''&lt;br /&gt;
* ground effects (see newsletter 02/2014)&lt;br /&gt;
&lt;br /&gt;
'''Environment Rendering'''&lt;br /&gt;
* EarthView: Orbital Rendering (Thorsten) [http://sourceforge.net/p/flightgear/mailman/message/32262904/]&lt;br /&gt;
&lt;br /&gt;
'''Performance'''&lt;br /&gt;
* F-JJTH and Stuart have started working on using osg::Simplifier [https://gitorious.org/fg/simgear/commit/3429e0072103a8c90d8e456f1f6b711099851225]: http://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/CAP3ntysifK34TxANKUj1s4Of_dJRg7dvJ74Gbko4zXVFHdV-YQ%40mail.gmail.com/#msg32016452&lt;br /&gt;
&lt;br /&gt;
'''Misc/Uncategorized'''&lt;br /&gt;
* AIModels use PagedLOD&lt;br /&gt;
* Optimise NavCache airport query&lt;br /&gt;
* osg::Switch for masking scenery rendering&lt;br /&gt;
* Torsten's metar work, newradio, mongoose httpd&lt;br /&gt;
* HTTP: improve handling of connection errors&lt;br /&gt;
* [[FGCamera]] (external addon, not yet reviewed/committed as of 03/2014)&lt;br /&gt;
* Windows installer has been reworked&lt;br /&gt;
* Windows installer creates 3 news directories pre-configured in FGRun:&lt;br /&gt;
** {user}\Documents\FlightGear\Aircraft&lt;br /&gt;
** {user}\Documents\FlightGear\TerraSync&lt;br /&gt;
** {user}\Documents\FlightGear\Custom Scenery&lt;br /&gt;
&lt;br /&gt;
''' Usability '''&lt;br /&gt;
* Windows users are now able to use scrollwheel in dialog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Internationalization '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Scenery '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvas System'''&lt;br /&gt;
&lt;br /&gt;
FlightGear's fully scriptable 2D rendering system now includes improved APIs for creating maps and navigation displays amongst many other improvements. People no longer need to have programming experience to add a working ND to their aircraft, it can  now  be all done by copying and pasting 30 lines of text and customizing a few properties. The so called MapStructure back-end handles efficient updating of all ND layers transparently.&lt;br /&gt;
&lt;br /&gt;
* Tom has pushed an update to git (simgear) which removes a lot of unneeded OpenGL state changes for Canvas paths. Depending on the GPU/driver this can lead to quite a noticeable performance improvement. For example, he was able to get from ~120ms down to ~45ms [http://forum.flightgear.org/viewtopic.php?f=71&amp;amp;t=16984&amp;amp;p=204730#p204730].&lt;br /&gt;
* Hooray is working on adding shader support to Canvas {{Progressbar|30}}&lt;br /&gt;
* Gijs is currently working on additional projections as part of {{Issue|550}}&lt;br /&gt;
* The [[MapStructure]] back-end used by the [[NavDisplay]] now supports symbol instancing, so that performance is improved&lt;br /&gt;
* MapStructure-based layers can now be customized and styled&lt;br /&gt;
* Tom added support for button/modifiers (mouse handling) [http://wiki.flightgear.org/index.php?title=Canvas_Event_Handling&amp;amp;curid=10777&amp;amp;diff=68569&amp;amp;oldid=68422]&lt;br /&gt;
* CanvasImage now supports the ''http://'' protocol for dynamically retrieving raster images. See the renamed [[Canvas_Image#src|src attribute]] (''file'' is now deprecated).&lt;br /&gt;
* As part of the ongoing effort on [[Unifying the 2D rendering backend via canvas]], we have started re-implementing the integrated [[Map]] dialog using Nasal &amp;amp; Canvas instead of C++ {{Progressbar|30}}&lt;br /&gt;
&lt;br /&gt;
'''Nasal Scripting'''&lt;br /&gt;
&lt;br /&gt;
* getprop()/setprop() arguments (those that form a path) can now be numeric to specify a index, so:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
getprop(&amp;quot;canvas/by-index&amp;quot;, &amp;quot;texture&amp;quot;, 1, &amp;quot;name&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: is now the same as:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
getprop(&amp;quot;canvas/by-index/texture[1]/name&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: (see [https://gitorious.org/fg/flightgear/commit/5eee5e42ae4f5cf56283b3bf5a3be46efc2b51c4 merge request 54] and [https://gitorious.org/fg/flightgear/commit/34ed79e5f88ffdfc5e651a1fe3e639cb8f4d3353 actual commit])&lt;br /&gt;
* A new fully-interactive Nasal GUI console based on [[Canvas]] has been added: [[Interactive Nasal Console]]&lt;br /&gt;
 &lt;br /&gt;
'''Documentation'''&lt;br /&gt;
&lt;br /&gt;
'''Highlighted new and improved aircraft'''&lt;br /&gt;
&lt;br /&gt;
'''Other'''&lt;br /&gt;
&lt;br /&gt;
'''Bug fixes'''&lt;br /&gt;
&lt;br /&gt;
* See [http://code.google.com/p/flightgear-bugs/issues/list?can=1&amp;amp;q=Milestone%3D3.2 our bugtracker] for an extensive, yet incomplete, list of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_3.2&amp;diff=70328</id>
		<title>Changelog 3.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_3.2&amp;diff=70328"/>
		<updated>2014-05-01T09:17:02Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* Major enhancements in this release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear 3.2 release. To see what is being worked on, check out [[Changelog 3.2]].&lt;br /&gt;
Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.&amp;lt;br/&amp;gt;It's a good idea to check [[:Category:Changes_after_3.00|the newsletters since the last release]], and the git commit history.&lt;br /&gt;
To view the changelog for the most recent release, please see [[Changelog 3.0]]. &lt;br /&gt;
We also encourage people to help by translating the changelog and appreciate all contributions, however please keep in mind that this changelog is not yet final!&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Upcoming FlightGear Changelog==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The FlightGear development team is delighted to announce the v3.2 release of FlightGear, the free, open-source flight simulator.  This new version contains many exciting new features, enhancements and bugfixes.  Highlights in this release include integration of the FGCom voice communications client within the simulator, improved terrain rendering, faster scenery loading, and improved usability.  This release also coincides with the release of FlightGear World Scenery 2.0 - massively improved scenery data covering the entirety of the planet and incorporating OpenStreetMap roads and detailed terrain information from a variety of sources.  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create &lt;br /&gt;
the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world &lt;br /&gt;
by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multi-player environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v3.2 for free from [http://www.flightgear.org FlightGear.org]&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
&lt;br /&gt;
'''Surface Light Effects &amp;amp; OpenSceneGraph 3.2'''&lt;br /&gt;
&lt;br /&gt;
Stuart committed a change that brings surface lights, including VASI/PAPI/taxi/runway etc. into the xml-defined Effects  framework.  Kudos to Tim Moore for his original Effects work - it made it very straightforward to enhance with support for point sprites and a custom texture generator required.&lt;br /&gt;
&lt;br /&gt;
The relevant effect is data/Effects/surface-lights.eff.  It should allow development of ALS and Rembrandt variants.&lt;br /&gt;
&lt;br /&gt;
Stuart also replaced some OSG color/normal binding calls that were removed  in OSG3.2.0, apparently because they were slow.  So, if your&lt;br /&gt;
build fails, please check you've got a recent OSG build installed.&lt;br /&gt;
&lt;br /&gt;
'''Core'''&lt;br /&gt;
* [[Reset &amp;amp; re-init]] is merged and now enabled&lt;br /&gt;
* A segfault related to scripted Nasal fgcommands (like used in joystick and other bindings) has been fixed {{Issue|1397}}&lt;br /&gt;
* yasim versioning support for maintenance fixes (TorstenD)&lt;br /&gt;
* FLITE TTS support&lt;br /&gt;
* Windows dependencies have been updated&lt;br /&gt;
&lt;br /&gt;
'''Aircraft Modeling'''&lt;br /&gt;
* galvedro's work: [[A Failure Management Framework for FlightGear]]&lt;br /&gt;
* extra 500&lt;br /&gt;
* Tu-154B2 version 3.1&lt;br /&gt;
* additional aircraft have started adopting Gijs' [[NavDisplay]]&lt;br /&gt;
&lt;br /&gt;
'''JSBSim'''&lt;br /&gt;
* ground effects (see newsletter 02/2014)&lt;br /&gt;
&lt;br /&gt;
'''Environment Rendering'''&lt;br /&gt;
* EarthView: Orbital Rendering (Thorsten) [http://sourceforge.net/p/flightgear/mailman/message/32262904/]&lt;br /&gt;
&lt;br /&gt;
'''Performance'''&lt;br /&gt;
* F-JJTH and Stuart have started working on using osg::Simplifier [https://gitorious.org/fg/simgear/commit/3429e0072103a8c90d8e456f1f6b711099851225]: http://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/CAP3ntysifK34TxANKUj1s4Of_dJRg7dvJ74Gbko4zXVFHdV-YQ%40mail.gmail.com/#msg32016452&lt;br /&gt;
&lt;br /&gt;
'''Misc/Uncategorized'''&lt;br /&gt;
* AIModels use PagedLOD&lt;br /&gt;
* Optimise NavCache airport query&lt;br /&gt;
* osg::Switch for masking scenery rendering&lt;br /&gt;
* Torsten's metar work, newradio, mongoose httpd&lt;br /&gt;
* HTTP: improve handling of connection errors&lt;br /&gt;
* [[FGCamera]] (external addon, not yet reviewed/committed as of 03/2014)&lt;br /&gt;
* Windows installer has been reworked&lt;br /&gt;
* Windows installer creates 3 news directories pre-configured in FGRun:&lt;br /&gt;
** {user}\Documents\FlightGear\Aircraft&lt;br /&gt;
** {user}\Documents\FlightGear\TerraSync&lt;br /&gt;
** {user}\Documents\FlightGear\Custom Scenery&lt;br /&gt;
&lt;br /&gt;
''' Usability '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Internationalization '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Scenery '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvas System'''&lt;br /&gt;
&lt;br /&gt;
FlightGear's fully scriptable 2D rendering system now includes improved APIs for creating maps and navigation displays amongst many other improvements. People no longer need to have programming experience to add a working ND to their aircraft, it can  now  be all done by copying and pasting 30 lines of text and customizing a few properties. The so called MapStructure back-end handles efficient updating of all ND layers transparently.&lt;br /&gt;
&lt;br /&gt;
* Tom has pushed an update to git (simgear) which removes a lot of unneeded OpenGL state changes for Canvas paths. Depending on the GPU/driver this can lead to quite a noticeable performance improvement. For example, he was able to get from ~120ms down to ~45ms [http://forum.flightgear.org/viewtopic.php?f=71&amp;amp;t=16984&amp;amp;p=204730#p204730].&lt;br /&gt;
* Hooray is working on adding shader support to Canvas {{Progressbar|30}}&lt;br /&gt;
* Gijs is currently working on additional projections as part of {{Issue|550}}&lt;br /&gt;
* The [[MapStructure]] back-end used by the [[NavDisplay]] now supports symbol instancing, so that performance is improved&lt;br /&gt;
* MapStructure-based layers can now be customized and styled&lt;br /&gt;
* Tom added support for button/modifiers (mouse handling) [http://wiki.flightgear.org/index.php?title=Canvas_Event_Handling&amp;amp;curid=10777&amp;amp;diff=68569&amp;amp;oldid=68422]&lt;br /&gt;
* CanvasImage now supports the ''http://'' protocol for dynamically retrieving raster images. See the renamed [[Canvas_Image#src|src attribute]] (''file'' is now deprecated).&lt;br /&gt;
* As part of the ongoing effort on [[Unifying the 2D rendering backend via canvas]], we have started re-implementing the integrated [[Map]] dialog using Nasal &amp;amp; Canvas instead of C++ {{Progressbar|30}}&lt;br /&gt;
&lt;br /&gt;
'''Nasal Scripting'''&lt;br /&gt;
&lt;br /&gt;
* getprop()/setprop() arguments (those that form a path) can now be numeric to specify a index, so:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
getprop(&amp;quot;canvas/by-index&amp;quot;, &amp;quot;texture&amp;quot;, 1, &amp;quot;name&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: is now the same as:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
getprop(&amp;quot;canvas/by-index/texture[1]/name&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: (see [https://gitorious.org/fg/flightgear/commit/5eee5e42ae4f5cf56283b3bf5a3be46efc2b51c4 merge request 54] and [https://gitorious.org/fg/flightgear/commit/34ed79e5f88ffdfc5e651a1fe3e639cb8f4d3353 actual commit])&lt;br /&gt;
* A new fully-interactive Nasal GUI console based on [[Canvas]] has been added: [[Interactive Nasal Console]]&lt;br /&gt;
 &lt;br /&gt;
'''Documentation'''&lt;br /&gt;
&lt;br /&gt;
'''Highlighted new and improved aircraft'''&lt;br /&gt;
&lt;br /&gt;
'''Other'''&lt;br /&gt;
&lt;br /&gt;
'''Bug fixes'''&lt;br /&gt;
&lt;br /&gt;
* See [http://code.google.com/p/flightgear-bugs/issues/list?can=1&amp;amp;q=Milestone%3D3.2 our bugtracker] for an extensive, yet incomplete, list of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=69892</id>
		<title>FGCom 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FGCom_3.0&amp;diff=69892"/>
		<updated>2014-04-22T20:37:50Z</updated>

		<summary type="html">&lt;p&gt;F-JJTH: /* FGCom Builtin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
|title               = FGCom 3.0&lt;br /&gt;
|logo                = FGCom_logo.png|128px&lt;br /&gt;
|developedby         = Holger Wirtz&amp;lt;br/&amp;gt;Martin Spott&amp;lt;br/&amp;gt;Csaba Halasz&amp;lt;br/&amp;gt;Clément de l'Hamaide&lt;br /&gt;
|developmentstatus   = Active&lt;br /&gt;
|license             = GNU GPL v2&lt;br /&gt;
|website             = http://gitorious.org/fg/flightgear&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= What is FGCom ? =&lt;br /&gt;
FGCom is a voice communication feature. That way you can communicate with other pilots and airspace controllers during your flight.&lt;br /&gt;
&lt;br /&gt;
The main idea is to reproduce the real aviation communication, in other words this feature is designed to make radio communication as real as possible during your flights.&lt;br /&gt;
&lt;br /&gt;
FGCom is available by two ways:&lt;br /&gt;
* Integrated into FlightGear (FGCom builtin): this is certainly the better solution because easier to use&lt;br /&gt;
* External software (FGCom standalone): you should use this one only if you plan to use FGCom in a special case&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A web interface is available where you can see who is connected in live, the history, and statistics: http://fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' &lt;br /&gt;
* FGCom builtin is available for FlightGear 3.0 or higher and is certainly the solution you are looking for because really easy to use. &lt;br /&gt;
* FGCom standalone is only for those who want a complex, yet more flexible, setup or don't use FlightGear 3.0 or higher. &lt;br /&gt;
* If you are not using FlightGear 3.0 or higher you have to read the [[FGCom_3.0#FGCom_standalone|FGCom standalone section]] and follow &amp;quot;If FlightGear is not installed&amp;quot; instructions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
= FGCom Builtin =&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The good news here is that FlightGear has now an FGCom client built in the software. That means there is no additional installation step. If you have installed FlightGear you can immediately use FGCom.&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom builtin ? ===&lt;br /&gt;
# Start FlightGear&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enable&amp;quot; checkbox&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
You can also use the command line if you prefer:&lt;br /&gt;
 --enable-fgcom (equivalent to --prop:/sim/fgcom/enabled=true )&lt;br /&gt;
 --disable-fgcom (equivalent to --prop:/sim/fgcom/enabled=false )&lt;br /&gt;
&lt;br /&gt;
FGCom will be automatically enabled for your future sessions until you uncheck the &amp;quot;Enable&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
In order to check that your microphone and speakers are correctly connected and functional you can test it with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Start FlightGear (if not yet done of course)&lt;br /&gt;
# Open the dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot;&lt;br /&gt;
# Check the &amp;quot;Enabled&amp;quot; checkbox (If not yet already done.)&lt;br /&gt;
# Check the &amp;quot;Display messages&amp;quot; checkbox.  (Displays FGCom's messages on screen)&lt;br /&gt;
# Check the &amp;quot;Echo test&amp;quot; checkbox &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;At this moment you should hear your own voice with a delay. If you can't hear your own voice it means your microphone or your speakers are wrongly set.&amp;lt;br/&amp;gt;To further check your &amp;quot;Echo test&amp;quot;, see [http://fgcom.flightgear.org/history.php Live FGCom]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
# Unckeck the &amp;quot;Echo test&amp;quot; checkbox, and/or other boxes as desired.&lt;br /&gt;
# Close the dialog&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom builtin ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_builtin_.3F|How to start FGCom builtin]] procedure, you can simply use your radio stack like it done in real life.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
[[File:FGCom dialog.png|thumb|FGCom dialog]]&lt;br /&gt;
&lt;br /&gt;
NOTE: It maybe desirable to keep FGCom's Settings &amp;quot;Display messages&amp;quot; activated, to verify these FGCom related keys are working properly.&lt;br /&gt;
&lt;br /&gt;
=== Dialog details ===&lt;br /&gt;
The dialog located in &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; provide some features described here:&lt;br /&gt;
&lt;br /&gt;
* Enable : you can check/uncheck this for enable/disable FGCom feature&lt;br /&gt;
* Display messages : display FGCom transaction message for debug only&lt;br /&gt;
* Test : check/uncheck this for testing server communication (Echo-Box)&lt;br /&gt;
* Speaker volume : set speaker volume for FGCom built-in&lt;br /&gt;
* Server &amp;gt; List : Select the server to be connected (immediat effect)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FGCom standalone =&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
The good news here is that if you have FlightGear installed on your computer you already have FGCom standalone !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
If you haven't installed FlightGear on the computer where you want to use FGCom standalone you can simply download FGCom standalone with the following steps:&lt;br /&gt;
&lt;br /&gt;
# Download FGCom standalone: [http://fgcom.flightgear.org/download/fgcom-3.0.0_win32.zip Windows] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux32.zip Linux 32 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_linux64.zip Linux 64 bits] | [http://fgcom.flightgear.org/download/fgcom-3.0.0_mac.zip Mac] (take care to select the correct version for your computer !)&lt;br /&gt;
# Unzip the downloaded file&lt;br /&gt;
# That's all ! Of course you can place the &amp;quot;FGCom&amp;quot; folder where you want on your computer&lt;br /&gt;
&lt;br /&gt;
On Linux, you have to [http://www.pilotlogic.com/sitejoom/index.php/95-wiki/codetyphon-studio/installation/linux-install/206-linux-give-executable-permission#h1-method-1 setup the permission as &amp;quot;executable&amp;quot;] for the files &amp;quot;run_fgcom.sh&amp;quot; and &amp;quot;test_fgcom.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How to start FGCom standalone ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom&lt;br /&gt;
&lt;br /&gt;
On Mac you have to enable &amp;quot;Enable FGCOM in Multi Player mode&amp;quot; located in the tab &amp;quot;Network&amp;quot; of the Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;run_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;run_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;run_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now a terminal has been opened and you should be able to see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
&lt;br /&gt;
=== How to test your setup ? ===&lt;br /&gt;
'''If FlightGear is installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows you have to execute FGCom located in your Start menu &amp;gt; FlightGear &amp;gt; Tools &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Linux you have to execute FGCom located in your Application menu &amp;gt; Games &amp;gt; FGCom-testing&lt;br /&gt;
&lt;br /&gt;
On Mac FIXME: require to be implemented in Mac launcher&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''If FlightGear is not installed:'''&lt;br /&gt;
&lt;br /&gt;
On Windows, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.bat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Linux, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (double clic on it) the file &amp;quot;test_fgcom.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Mac, in your unzipped &amp;quot;FGCom&amp;quot; folder, you have to execute (right-clic &amp;gt; open with &amp;gt; Terminal.app) the file &amp;quot;test_fgcom.command&amp;quot;. After the first time you can simply double click on &amp;quot;test_fgcom.command&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case'''&lt;br /&gt;
&lt;br /&gt;
Now you should be able to hear your own voice with a delay and see the following lines:&lt;br /&gt;
 Successfully parsed commandline options&lt;br /&gt;
 Loaded file [../share/flightgear/special_frequencies.txt].&lt;br /&gt;
 Reading airports [../share/flightgear/positions.txt]&lt;br /&gt;
 loaded 46927 entries&lt;br /&gt;
 Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org&lt;br /&gt;
 Originating an audio only call&lt;br /&gt;
 Call 0 accepted&lt;br /&gt;
 Echo Box - For testing FGCOM&lt;br /&gt;
 Call 0 answered&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}}&lt;br /&gt;
&lt;br /&gt;
=== How to use FGCom standalone ? ===&lt;br /&gt;
Once you started FGCom from the [[FGCom_3.0#How_to_start_FGCom_standalone_.3F|How to start FGCom standalone]] procedure, you have to [[FGCom_3.0#FAQ|start FlightGear with the following option]]: &lt;br /&gt;
 --generic=socket,out,2,127.0.0.1,16661,udp,fgcom&lt;br /&gt;
&lt;br /&gt;
Now you have to leave FGCom standalone running and simply use FlightGear without taking care of FGCom standalone.&lt;br /&gt;
&lt;br /&gt;
When you want to talk you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots.&lt;br /&gt;
&lt;br /&gt;
You can switch between COM1 and COM2 by pressing {{Key press|Shift}} + {{Key press|Space}}&lt;br /&gt;
&lt;br /&gt;
You can control the sound volume with the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog (even if ATC is unchecked)&lt;br /&gt;
&lt;br /&gt;
During your FlightGear session you should be able to see some lines in the FGCom standalone, it's totally normal, they are here to inform you about the state of FGCom standalone (when you are listening, talking, changing frequency, changing COM1/2...)&lt;br /&gt;
&lt;br /&gt;
In order to stop FGCom standalone you have to press {{Key press|Control}} + {{Key press|c}} or simply close the window.&lt;br /&gt;
&lt;br /&gt;
=== Options details ===&lt;br /&gt;
&lt;br /&gt;
Starting FGCom standalone with &amp;quot;-h&amp;quot; argument will show you all available options. &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Keep in mind that FGCom standalone works fine for a standard operating system without options at all ! Use them only if you know exactly what they do.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
''' How to add the --generic option for FGCom standalone ? '''&lt;br /&gt;
&lt;br /&gt;
Since FlightGear 3.0 you can select &amp;quot;FGCom standalone&amp;quot; in the [[FlightGear_Launch_Control#Network|FlightGear Launcher &amp;gt; Advanced &amp;gt; Network]] section else:&lt;br /&gt;
&lt;br /&gt;
On the [[FlightGear_Launch_Control#Page_four_-_Options_and_Run|last page of the FlightGear Launcher]], press &amp;quot;Advanced&amp;quot; then [[FlightGear_Launch_Control#Input.2FOutput|select &amp;quot;Input/Output&amp;quot; item]]. Press &amp;quot;New&amp;quot; and set the fields as:&lt;br /&gt;
* Protocol  : generic&lt;br /&gt;
* Medium    : socket&lt;br /&gt;
* Direction : out&lt;br /&gt;
* Hz        : 5&lt;br /&gt;
* Hostname  : 127.0.0.1&lt;br /&gt;
* Port      : 16661&lt;br /&gt;
* Select UDP&lt;br /&gt;
* Generic   : fgcom&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom builtin but I haven't any item &amp;quot;Multiplayer &amp;gt; FGCom Settings&amp;quot; in FlightGear '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom builtin is only available for FlightGear 3.0 or higher. You have to use FGCom standalone until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I want to use FGCom standalone but I haven't any FGCom item in &amp;quot;Start menu &amp;gt; FlightGear &amp;gt; Tools&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
Because you are not using FlightGear 3.0 or higher. FGCom standalone is automatically installed only for FlightGear 3.0 or higher. &lt;br /&gt;
&lt;br /&gt;
You have to follow &amp;quot;If FlightGear is not installed&amp;quot; instructions until you upgrade your FlightGear installation.&lt;br /&gt;
&lt;br /&gt;
''' I'm using FGCom standalone, other pilots can hear me but I can't hear other pilots '''&lt;br /&gt;
&lt;br /&gt;
Be sure the slider &amp;quot;ATC&amp;quot; from the File &amp;gt; Sound configuration dialog is at full right.&lt;br /&gt;
&lt;br /&gt;
= Linux ALSA Sound =&lt;br /&gt;
By defaults, most Linux ALSA systems should just work.  This is because by default Linux ALSA utilizes the DMix plugin when there is no $HOME/.asoundrc file.  Linux ALSA also, by default when using DMix unless further customized, resamples all audio to 48000hz.  If this is not the case, or if you speculate customizations have been performed by your Linux distribution, you may need to read further below on how to ensure ALSA's DMix and DSnoop plugins are used with FlightGear &amp;amp; FGCom.  The common side effect of possible customizations, FGCom does not playback (or record) sound.&lt;br /&gt;
&lt;br /&gt;
(Reference [[Linux software audio mixing with FlightGear]]) &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check your Home-directory (“~/” or $HOME) for a file &amp;quot;'''.alsoftrc'''&amp;quot;&lt;br /&gt;
(Remember that the “show hidden files” must be enabled!)&lt;br /&gt;
&lt;br /&gt;
Copied over from [[FGCOM Testing]] or FGCOM Testing Wiki page.&lt;br /&gt;
&lt;br /&gt;
=== If using Creative Labs' OpenAL library (or older OpenAL version)  ===&lt;br /&gt;
Check if you are using the old Creative Labs OpenAL library (or old version) which uses the &amp;quot;.openalrc&amp;quot; configuration file.  If so, you can put something like this within &amp;quot;.openalrc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
$HOME/.openalrc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(define devices '(alsa))&lt;br /&gt;
(define alsa-out-device &amp;quot;plug:dmix&amp;quot;)&lt;br /&gt;
(device alsa-in-device &amp;quot;plug:dsnoop&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== If using OpenAL Soft (or newer OpenAL version) ===&lt;br /&gt;
It is more likely users of more recent Linux distributions are using this newer OpenAL Soft package, instead of the previously mentioned older Create Labs' OpenAL.  (Hence, the likely rational for renaming the default configuration file to something other than the more common previous naming format.)&lt;br /&gt;
&lt;br /&gt;
Copy either the be /etc/openal/alsoft.conf, /usr/share/doc/openal-1.15.1-r2/alsoftrc.sample.bz2, or create a new $HOME/.alsoftrc file and insert the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
format = AL_FORMAT_STEREO16&lt;br /&gt;
cf_level = 1&lt;br /&gt;
drivers = alsa&lt;br /&gt;
[alsa]&lt;br /&gt;
device = plug:dmix&lt;br /&gt;
capture = plug:dsnoop&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[NOTE: format is now &amp;quot;sample-type = uint16&amp;quot;, and cf_level would appear not needed for typical users, or only desired for headphone users.]&lt;br /&gt;
&lt;br /&gt;
The system wide OpenAL-soft configuration file may be /etc/openal/alsoft.conf or similar. It usually contains comments describing all possible configuration options.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux ALSA Audiophiles avoiding Dmix ===&lt;br /&gt;
For audiophiles using Linux ALSA and with their custom $HOME/.asoundrc file preventing DMix usage, make sure you have both specified &amp;quot;device = plug:dmix&amp;quot; as well as &amp;quot;capture = plug:dsnoop&amp;quot;.  Per ALSA's page, &amp;quot;dsnoop is the equivalent of the dmix plugin, but for recording sound.&amp;quot;  Without specifying using dsnoop for the capture device alongside your $HOME/.asoundrc file preventing DMix usage, you will likely only get silence played back when usage FGCom.  FGCom is not working at this point, as the sound device is likely still locked by your $HOME/.asoundrc file and only recording silence or playing back silence during the echo test!&lt;br /&gt;
&lt;br /&gt;
=== Using ALSA Custom &amp;quot;plug:&amp;quot; Filters ===&lt;br /&gt;
The OpenAL Soft (or the newer version of OpenAL) $HOME/.alsoftrc file also accepts using other $HOME/.asoundrc &amp;quot;plug:&amp;quot; incanatations, such as sections containing Dmix - alsa.opensrc.org's &amp;quot;pcm.dmixs51&amp;quot; customization for using DMix with 5.1 Surround Sound, and called as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ aplay -D &amp;quot;plug:dmixs51&amp;quot; Some_PCM_WAV_File.wav &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$HOME/.alsoftrc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;device = plug:dmixs51&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just remember to also uncomment layout_surround51, and note the likely fact FlightGear is still only using Stereo sound (or two channel audio) and is only set here for an example!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:FGCom 3.0]]&lt;br /&gt;
[[Category:FGCom]]&lt;/div&gt;</summary>
		<author><name>F-JJTH</name></author>
	</entry>
</feed>