FlightGear Newsletter October 2016: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (Update {{func link}} form)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.<br>You can read the latest newsletter at [[FlightGear Newsletter September 2016]].}}
{{Newsletter-header|October 2016}}
{{Newsletter-header|October 2016}}
<div style="border-bottom:3px double #BBB;">
<div style="border-bottom:3px double #BBB;">
Line 6: Line 4:
  | valign="top" width="33%" |
  | valign="top" width="33%" |
{{Newsletter-cover-header|Development news}}<br>
{{Newsletter-cover-header|Development news}}<br>
[[#Next default airport|Next default airport]]<br>
[[#Git multimail script updated|Git multimail script updated]]<br>
[[#Git multimail script updated|Git multimail script updated]]<br>
[[#Local apt.dat versions support|Local apt.dat versions support]]<br>
[[#Standalone Canvas NavDisplay dialog|Standalone Canvas NavDisplay dialog]]<br>
[[#Benchmarking Canvas path performance|Benchmarking Canvas path performance]]<br>
[[#Streaming a Canvas via HTTP|Streaming a Canvas via HTTP]]<br>
| valign="top" width="33%" |
{{Newsletter-cover-header|In the hangar}}<br>
{{Newsletter-cover-header|In the hangar}}<br>
| valign="top" width="33%" |
[[#MBB/Kawasaki BK 117|MBB/Kawasaki BK 117]]<br>
[[#2016 Camaro SS|2016 Camaro SS]]<br>
{{Newsletter-cover-header|Scenery Corner}}<br>
{{Newsletter-cover-header|Scenery Corner}}<br>
[[#Scenery/LOD experiments|Scenery/LOD experiments]]<br>
[[#New experimental terrain engine|New experimental terrain engine]]<br>
{{Newsletter-cover-header|Community News}}<br>
  | valign="top" width="33%" |
  | valign="top" width="33%" |
{{Newsletter-cover-header|Contributing}}<br>
{{Newsletter-cover-header|Contributing}}<br>
Line 21: Line 25:


== Development news ==
== Development news ==
[[LSZH]] (Zürich) has been chosen as the FlightGear v2016.4 default airport.
=== Next default airport ===
[[Zurich airport|Zürich Airport]] (LSZH) has been chosen as the default airport for the next FlightGear version, v2016.4.<ref>{{cite web
|url    = https://forum.flightgear.org/viewtopic.php?f=42&t=30541&p=295599#p296045
|title  = Re: Please vote for the next default airport
|author = chris_blues
|date  = Oct 4th, 2016
}}</ref> Some details about the airport can be found [https://forum.flightgear.org/viewtopic.php?p=295274#p295274 here].


=== Git multimail script updated ===
=== Git multimail script updated ===
For all git repositories on SourceForge, Edward d'Auvergne has updated the git-multimail repository hook script to 1.5-dev (the current master branch) from 1.2-dev, with a few customisations/simplifications for our commitlogs ML [1,2]. If you see any error messages when committing, please report these. A failure of the git-multimail Python script will only result in a failure of the sending of an email to the ML, as this is a post-receive hook - the commit will have been successfully pushed/etc.<ref>{{cite web
For all Git repositories on SourceForge, Edward d'Auvergne has updated the git-multimail repository hook script to 1.5-dev (the current master branch) from 1.2-dev, with a few customisations/simplifications for our commitlogs ML. If you see any error messages when committing, please report these. A failure of the git-multimail Python script will only result in a failure of the sending of an email to the ML, as this is a post-receive hook - the commit will have been successfully pushed/etc.<ref>{{cite web
  |url    = https://sourceforge.net/p/flightgear/mailman/message/35435904/  
|url    = https://sourceforge.net/p/flightgear/mailman/message/35435904/  
  |title  = <nowiki> Re: [Flightgear-devel] Git-multimail repository hook script
|title  = <nowiki>Re: [Flightgear-devel] Git-multimail repository hook script merge-request bug (was Re: apt.dat - add local version ?)</nowiki>
merge-request bug (was Re: apt.dat - add local version ?) </nowiki>  
|author = Edward d'Auvergne
  |author = <nowiki> Edward d'Auvergne </nowiki>
|date  = Oct 18th, 2016  
  |date  = Oct 18th, 2016  
|added  = Oct 18th, 2016  
  |added  = Oct 18th, 2016  
|script_version = 0.40  
  |script_version = 0.40  
}}</ref>
  }}</ref>
 
{{Appendix}}


=== Local apt.dat versions support ===
=== Local apt.dat versions support ===
apt.dat now supports local versions:
Thanks to work by Florent Rougon, multiple apt.dat files (which contain airport data) can now be loaded, rather than the single <tt>''[[$FG_ROOT]]/Airports/apt.dat.gz''</tt>.<ref>{{cite web
 
|url    = https://forum.flightgear.org/viewtopic.php?p=296919#p296919
Local NavData directory support was added very recently, it wasn't included in 2016.3.1. But even when you do have a more recent version, you still need to use TerraGear to actually generate the visible terrain. NavData is only used for maps, startup locations etc., while the physical layout including runways and taxiways has to be generated in advance with TerraGear.<ref>{{cite web
|title  = apt.dat - local version(s)
  |url    = https://forum.flightgear.org/viewtopic.php?p=297382#p297382
|author = Alant
  |title  = <nowiki> Re:  </nowiki>
|date  = Oct 18th, 2016
  |author = <nowiki> Gijs </nowiki>
|added  = Oct 18th, 2016
  |date  = Oct 25th, 2016  
|script_version = 0.40
  |added  = Oct 25th, 2016  
}}</ref> These files (either <tt>*.dat</tt> or <tt>*.dat.gz</tt>) can be loaded from <tt>'''''Scenery path'''/NavData/apt/''</tt>, where '''Scenery path''' is any path specified by the <code>--fg-scenery</code> command line option. These will take precedence over the default one (<tt>''[[$FG_ROOT]]/Airports/apt.dat.gz''</tt>). Note that any change to apt.dat files should continue to be submitted to the [https://gateway.x-plane.com/ X-Plane gateway] so that they will eventually be included in the main distribution.
  |script_version = 0.40  
  }}</ref>
 
the NavData/apt/*.dat[.gz] files will allow you to see airports on the map, but to see actual 3D terrain different from what is already in TerraSync, running TerraGear and using its output(*) will be necessary.
 
<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=297391#p297391
  |title  =  <nowiki> Re:  </nowiki>  
  |author =  <nowiki> rominet </nowiki>  
  |date  =  Oct 25th, 2016
  |added  =  Oct 25th, 2016
  |script_version = 0.40
  }}</ref>
 
 
It is now possible to have one or more local apt.dat files each containing data for one or more airfields.  The airfields in the local apt.dat files take precedence over the contents of the apt.dat.g file that is distributed as part of fgdata. - in much the same way as local custom scenery takes preference over terragear scenery.
If you are using WED, the apt.dat output by that program is suitable.
To use it add a folder NavData/apt in your fg-scenery and place your private files in that folder. <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=296919#p296919
  |title  =  <nowiki> apt.dat - local version(s) </nowiki>  
  |author =  <nowiki> Alant </nowiki>
  |date  =  Oct 18th, 2016
  |added  =  Oct 18th, 2016
  |script_version = 0.40
  }}</ref>
Of course, your apt.dat changes should continue to be submitted to the Xplane gateway so that they will eventually be included in the main distribution.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=296919#p296919
  |title  =  <nowiki> apt.dat - local version(s) </nowiki>
  |author =  <nowiki> Alant </nowiki>
  |date  =  Oct 18th, 2016
  |added  =  Oct 18th, 2016
  |script_version = 0.40
  }}</ref>


=== Standalone Canvas NavDisplay dialog ===
[[File:ND-dialog-customizable-size-and-instances.png|thumb|Screenshot showing the dialog with two independent NavDisplay instances]]


No need for any command-line option. As I wrote in <https://sourceforge.net/p/flightgear/mailman/message/35424973/>;, you have to put your apt.dat files (any name ending with .dat or .dat.g is OK) in a structure like the following:
Hooray has been working on a dialog to easily develop, test and prototype new [[NavDisplay]] styles. It is capable of showing multiple NavDisplay instances, which can be controlled and tested independently (using different settings for range, modes, traffic, etc.). The dialog will also reload the styles file (navdisplay.mfd) when it is reopened (or the selected style changed), meaning that FlightGear doesn't have to be restarted every time changes are made.
<pre>
Scenery path
├── NavData
│  ├── apt
|  |  ├── vrmg.dat
|  |  ├── vrmh.dat
|  |  ├── vrmk.dat
        ├── vrmm.dat
        ├── vrmo.dat.gz
        └── vrmt.dat
</pre>


where "Scenery path" can be any of you scenery paths (e.g., any component of --fg-scenery/$FG_SCENERY; the path given to --terrasync-dir is also one). The files read are all NavData/apt/*.dat[.gz] files inside each scenery path, followed by the default $FG_ROOT/Airports/apt.dat.gz (last in precedence order, thus allowing your custom sceneries to override airports already present in $FG_ROOT/Airports/apt.dat.gz). In the typical case, just put your apt.dat files(*) in the NavData/apt subdirectory of your custom scenery and they will be picked up automatically. In each of these files, you may include as many airport definitions as you want. (*) Actually, any name ending with .dat or .dat.gz---but the syntax inside, of course, must be valid "apt.dat syntax". And if the file name ends in .gz, of course the contents must be gzipped-compressed. <ref>{{cite web
As of 10/2016, this is pending review by Gijs and Hyde before it can be committed to the base package.
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35432391/
  |title  =  <nowiki> Re: [Flightgear-devel] apt.dat - add local version ? </nowiki>
  |author =  <nowiki> Florent Rougon </nowiki>
  |date  =  Oct 17th, 2016
  |added  =  Oct 17th, 2016
  |script_version = 0.40
  }}</ref>


The rule is that your file(s) must end in .dat (or .dat.g if gzip-compressed), there is no requirement to use the airport code in the file name, although of course it is clearer this way if you have one apt.dat file per airport. But it is also possible to have many airports in one big apt.dat or apt.dat.gz file like the $FG_ROOT/Airports/apt.dat.gz that comes with FG.<ref>{{cite web
''Continue reading at [[Howto:Prototyping a new NavDisplay Style]]…''
  |url    =  https://forum.flightgear.org/viewtopic.php?p=297374#p297374
  |title  =  <nowiki> Re:  </nowiki>
  |author =  <nowiki> rominet </nowiki>
  |date  =  Oct 25th, 2016
  |added  =  Oct 25th, 2016
  |script_version = 0.40
  }}</ref>
you shouldn't add things yourself to the TerraSync folder or even, in this case, to K:\Program Files (x86)\FlightGear 2016.3.1\data created by the FG installation. You should just create a '''new''' folder for your custom scenery (k:\myflightgear\myscenery was an example, choose whatever you want) and declare it as a scenery path to FG. The Airports, Objects and Terrain subfolders are standard folders inside custom sceneries, so in the end if your custom scenery is non-empty, you'll have at least Objects or Terrain.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=297374#p297374
  |title  =  <nowiki> Re:  </nowiki>
  |author =  <nowiki> rominet </nowiki>
  |date  =  Oct 25th, 2016
  |added  =  Oct 25th, 2016
  |script_version = 0.40
  }}</ref>
As for the startup locations, it is definitely good for the future to include them in these files, but current FG only takes them from groundnet.xml files AFAIK, not apt.dat files (however, I've seen people post links about conversion tools from apt.dat format to groundnet.xml format, so probably the best way currently is to use apt.dat/WED as your primary data source even for startup locations/parkings and generate the groundnet.xml files from that). FFGo does read startup locations from $FG_ROOT/Airports/apt.dat.g, not yet from NavData/apt/*.dat[.gz] files inside scenery paths, but this is coming...<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=297391#p297391
  |title  =  <nowiki> Re:  </nowiki>
  |author =  <nowiki> rominet </nowiki>
  |date  =  Oct 25th, 2016
  |added  =  Oct 25th, 2016
  |script_version = 0.40
  }}</ref>


=== Benchmarking Canvas path performance ===
[[File:Shuttle avionics meds pfd orbit.jpg|thumb|A screenshot of the ADI ball]]
As part of the development of the [[Space Shuttle]], Thorsten has added a [[Canvas]]-based [[Shuttle ADI ball|ADI ball]]. However, it is somewhat of a resource hog.<ref>{{cite web
|url    = https://forum.flightgear.org/viewtopic.php?p=297596#p297596
|title  = Re: Nasal must go
|author = Thorsten
|date  = Oct 28th, 2016
|added  = Oct 28th, 2016
|script_version = 0.40
}}</ref> As can be seen from the screenshot of it, it is very complex and involves a lot of calculations.<ref>{{cite web
|url    = https://forum.flightgear.org/viewtopic.php?p=297665#p297665
|title  = Re: Nasal must go
|author = Thorsten
|date  = Oct 29th, 2016
|added  = Oct 29th, 2016
|script_version = 0.40
}}</ref> However, performance tests indicate that the cause of the bottleneck is the huge amount of [[Property Tree|property]] manipulation involved during each update, ''after'' the actual calculations have been completed. This has also been shown to be a problem for any very complex Canvas.


{{Appendix}}
Some ways to help reduce bottlenecks include using {{func link|getprop()}}/{{func link|setprop()}} instead of [[Nasal library/props|props.nas APIs]] and using variables instead of properties where possible.<ref>{{cite web
|url    = https://sourceforge.net/p/flightgear/mailman/message/30724363/
|title  = <nowiki>Re: [Flightgear-devel] Nasal props API relative path support</nowiki>
|author = Thorsten Renk
|date  = Apr 15th, 2013
|added  = Apr 15th, 2013
|script_version = 0.40
}}</ref>


=== A standalone Canvas NavDisplay Dialog ===
''Continue reading at [[Howto:Canvas Path Benchmarking]]…''
[[File:ND-dialog-customizable-size-and-instances.png|left|thumb|Screenshot showing a [[PUI]] dialog with two [[NavDisplay]] instances, featuring support for customizable resolution/size of the ND as well as selectable number of NDs to be shown.]]
[[File:ND-Airbus-Style-With-Route.png|thumb|Screenshot showing Gijs' [[NavDisplay]] using the Airbus style created by artix in a [[PUI]] dialog with an embedded [[Canvas]] widget to render the ND and the corresponding widgets.]]


In the last couple of days, we have created a new dialog that can be used to easily prototype new [[NavDisplay]] styles, showing multiple ND instances for each pilot, which can be controlled/tested independently (using different settings for range, modes, traffic etc). Once the dialog is closed/reopened, the underlying navdisplay.mfd/styles files are also automatically reloaded from disk, so that you don't need to exit/restart fgfs to test your changes.
=== Streaming a Canvas via HTTP ===
[[File:Canvas-ND-live-streaming-via-httpd.png|thumb|Screenshot showing a [[NavDisplay]]) streamed to Mozilla Firefox]]
ThomasS has created a patch for FlightGear for downloading any [[Canvas]] image from a running FlightGear process via HTTP.<ref>{{cite web
|url    = https://forum.flightgear.org/viewtopic.php?p=296627#p296627
|title  = Re: Canvas remote drawing
|author = ThomasS
|date  = Oct 10th, 2016
|added  = Oct 10th, 2016
|script_version = 0.40
}}</ref> This is useful for situations such as displaying instruments on a separate monitor. This should be considered as merely the groundwork needed for more sophisticated use-cases and a corresponding implementation.


Under the hood, this is a conventoinal PUI/XML dialog with multiple embedded CanvasWidget areas that instantiate independent ND instances using a subset of the code commonly found in the aircraft specific ND.nas file, adapted to use the embedded Canvas region for rendering multiple NDs and GUI buttons/widgets added to control the whole thing without necessarily requiring a fully developed cockpit.
''Continue reading at [[Read canvas image by HTTP]]…''
 
Thus, this is also a great tool for people flying aircraft that may not even have access to n ND.
 
Obviously, this is particularly useful for rapid prototyping ("RAD"), i.e. quickly testing additions and changes without having to exit/restart fgfs and without having a full aircraft developed yet.
 
[[File:Canvas-nd-menubar-entry.png|thumb|Screenshot showing  [[PUI]] menubar with added '''Canvas NavDisplay''' entry for the Canvas ND dialog.]]
 
 
This is currently pending review by Gijs and Hyde before it can be committed to the  base package.
 
Continue reading at [[Howto:Prototyping a new NavDisplay Style]]...
 
=== Benchmarking Canvas Path Performance ===
 
Thorsten has done a few performance tests, and the [[Shuttle ADI ball]] at full glory is a resource hog (mainly property throughput, canvas isn't good at that kind of problem...).<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=289447#p289447
  |title  =  <nowiki> Re: Space Shuttle </nowiki>
  |author =  <nowiki> Thorsten </nowiki
  |date  =  Aug 26th, 2016
  |added  =  Aug 26th, 2016
  |script_version = 0.40
  }}</ref>
 
The bottleneck is rendering the ADI-created property IO when this is at high quality if the GPU is fast enough.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293165#p293165
  |title  =  <nowiki> Re: Space Shuttle </nowiki>
  |author =  <nowiki> Thorsten </nowiki>
  |date  =  Aug 26th, 2016
  |added  =  Aug 26th, 2016
  |script_version = 0.40
  }}</ref>
 
[[File:Shuttle avionics meds pfd orbit.jpg|left|thumb|The center portion of the ADI ball consists of the line grid which is generated by projecting a pattern of meridians and coordinate circles on a sphere into 2d space and then clipping the central portion out of it.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=297665#p297665
  |title  =  <nowiki> Re: Nasal must go </nowiki>
  |author =  <nowiki> Thorsten </nowiki>
  |date  =  Oct 29th, 2016
  |added  =  Oct 29th, 2016
  |script_version = 0.40
  }}</ref>
]]
 
 
The actual bottleneck is the ADI ball canvas code, because all needs to be done in the same frame, and the ADI should be updating reasonably fast. Also, getting the properties to display is not the issue, setting the points for canvas is.
 
For the MFDs... let's go through the numbers. We have 40 pages by now, each displays on average something like 50 properties. That's 2000 getprop calls for the data provider to manage. At 3 Hz, and 30 fps, that's 200 requests per frame.
 
Now, if these 40, no more than 9 different ones can actually be on at any given time - so that's 450 getprop calls if you do it without data provider.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=297596#p297596
  |title  =  <nowiki> Re: Nasal must go </nowiki>
  |author =  <nowiki> Thorsten </nowiki>
  |date  =  Oct 28th, 2016
  |added  =  Oct 28th, 2016
  |script_version = 0.40
  }}</ref>
 
Assembling a property path by string manipulation may be in theory less appealing, but it is in practice 3 to 10 times faster than using the props module (implemented in scripting space)- Thorsten has made several benchmark tests, all leading to the same result. Large-scale property manipulation from Nasal is performance hungry and should be avoided if possible by using Nasal-internal variables instead, and if it needs to be done, getprop() /setprop() offer significantly superior performance. If you dig a bit in the mailing list archive, there should be a post with the actual benchmark test results.<ref>{{cite web
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/30724363/
  |title  =  <nowiki> Re: [Flightgear-devel] Nasal props API relative path support </nowiki>
  |author =  <nowiki> Renk Thorsten </nowiki>
  |date  =  Apr 15th, 2013
  |added  =  Apr 15th, 2013
  |script_version = 0.40
  }}</ref>
 
In the second case the property tree is being walked trough by the C++ code while in the first case it's done in Nasal. <ref>{{cite web
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/26170047/
  |title  =  <nowiki> Re: [Flightgear-devel] Musings on optimizing Nasal code </nowiki>
  |author =  <nowiki> Erik Hofman </nowiki>
  |date  =  Sep 15th, 2010
  |added  =  Sep 15th, 2010
  |script_version = 0.40
  }}</ref>
 
[[File:Canvas-path-benchmarking.png|thumb|Screenshot showing a Canvas GUI dialog with 3000 random OpenVG paths (line segments) drawn (for benchmarking purposes) <ref>https://forum.flightgear.org/viewtopic.php?f=71&t=30864&hilit=removeAllChildren</ref>]]
 
 
Continue reading at [[Howto:Canvas Path Benchmarking]] ...
 
=== Live-Streaming a Canvas via HTTP ===
 
[[File:Canvas-ND-live-streaming-via-httpd.png|left|thumb|Screenshot showing a single Canvas texture ([[NavDisplay]]) streamed to firefox via httpd at 2hz <ref>https://forum.flightgear.org/viewtopic.php?f=71&t=30642&p=297716#p297716</ref>]]
 
There are situations, e.g., for home cockpit builders <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=296448#p296448
  |title  =  <nowiki> Canvas remote drawing </nowiki>
  |author =  <nowiki> ThomasS </nowiki>
  |date  =  Oct 10th, 2016
  |added  =  Oct 10th, 2016
  |script_version = 0.40
  }}</ref>, where it is useful to display instruments like a [[PFD]], [[ND]], EICAS or any [[MFD]] externally from the FlightGear 3D main window in a separate window or on a separate monitor, computer or a mobile device <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=214980#p214980
  |title  =  <nowiki> Need to Create a Standalone PFD </nowiki>
  |author =  <nowiki> deena102 </nowiki>
  |date  =  Jul 18th, 2014
  |added  =  Jul 18th, 2014
  |script_version = 0.40
  }}</ref> <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=199428#p199428
  |title  =  <nowiki> Re: TQ/Panel for FG made with Kivy </nowiki>
  |author =  <nowiki> pommesschranke </nowiki>
  |date  =  Jan 31st, 2014
  |added  =  Jan 31st, 2014
  |script_version = 0.40
  }}</ref> <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=169150#p169150
  |title  =  <nowiki> Re: using FGpanel to display various instruments and electri </nowiki>
  |author =  <nowiki> someguy </nowiki>
  |date  =  Oct 23rd, 2012
  |added  =  Oct 23rd, 2012
  |script_version = 0.40
  }}</ref>.
 
Many of these avionics/graphics are created by FlightGear's 2D drawing [[Canvas]] system internally.
 
 
In addition there, are a number of other use-cases where being able to obtain a Canvas from fgfs using a network protocol like http may be desirable (e.g. imagine getting a tilemap based on actual scenery from FlightGear <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=203495#p203495
  |title  =  <nowiki> Re: Atlas still in use ? </nowiki>
  |author =  <nowiki> Torsten </nowiki>
  |date  =  Mar 17th, 2014
  |added  =  Mar 17th, 2014
  |script_version = 0.40
  }}</ref>) <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=192817#p192817
  |title  =  <nowiki> How to simulate capturing an image using a camera </nowiki>
  |author =  <nowiki> roy111 </nowiki>
  |date  =  Oct 29th, 2013
  |added  =  Oct 29th, 2013
  |script_version = 0.40
  }}</ref><ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=219105#p219105
  |title  =  <nowiki> FGWebPanel aka FGPanel 2.0 or: FGPanel goes html </nowiki>
  |author =  <nowiki> Torsten </nowiki>
  |date  =  Sep 22nd, 2014
  |added  =  Sep 22nd, 2014
  |script_version = 0.40
  }}</ref>.
 
 
ThomasS has created a patch for FlightGear for downloading any canvas image from a running FlightGear process by HTTP by serializing it to a raster image and serving that via the built-in mongoose based httpd server created by Torsten <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=213146#p213146
  |title  =  <nowiki> Serializing a  </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jun 22nd, 2014
  |added  =  Jun 22nd, 2014
  |script_version = 0.40
  }}</ref> <ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=203550#p203550
  |title  =  <nowiki> Re: Atlas still in use ? </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Mar 18th, 2014
  |added  =  Mar 18th, 2014
  |script_version = 0.40
  }}</ref>.
 
This could be considered the groundwork needed for more sophisticated use-cases such as e.g. actually streaming a live video of a certain MFD to a browser.
 
 
Continue reading at [[Read canvas image by HTTP]]


== In the hangar ==
== In the hangar ==
=== MBB BK117 ===
=== MBB/Kawasaki BK 117 ===
[[User:HHS|HHS]], the author of the [[Eurocopter EC135|Eurocopter EC 135 P2]], [[EC130|EC 130 B4]] and [[Cessna 182S|Cessna 182 S]] will try again to get the [[MBB Bk 117|MBB BK 117]] model ready for FGAddon. Unfortunately time is limited, so he will need help.
User {{usr|HHS}}, the author of the [[Eurocopter EC135|Eurocopter EC135 P2]], [[EC130|Eurocopter EC130 B4]] and [[Cessna 182S|Cessna 182S Skylane]] is trying to the '''[[MBB Bk 117|MBB/Kawasaki BK 117]]''' into FlightGear. Unfortunately time is limited, so he will need help.


When you have some spare time left, interested in heliopters and always wished to improve things, you might want to apply to this job. More informations on: [[MBB Bk 117|MBB Bk 117 wiki-page]]
When you have some spare time, are interested in helicopters, and always wished to improve things, you might want to apply for this job. Find out more on the [[MBB Bk 117|wiki page]].


=== 2016 Camaro SS and more ===
=== 2016 Camaro SS ===
Auskunst is currently seeking help to improve the handling of his 2016 Camaro SS and another future automobile project. If you have experience of tweaking YASIM FDM, you can apply the job by clicking [https://bulldogrs.wordpress.com/2016/10/16/help-request-1-0-yasim-fdm-expert/ here]
Auskunst is seeking help to improve the handling of his '''2016 Camaro SS''' and another future automobile project. If you have experience in tweaking [[YASim]] [[FDM]]s, you can find out more [https://bulldogrs.wordpress.com/2016/10/16/help-request-1-0-yasim-fdm-expert/ here].


== Scenery corner ==
== Scenery corner ==
=== Scenery/LOD experiments ===
=== New experimental terrain engine ===
psadro_gm has the normal calculations, now.  Everything is being generated on the fly.  psadro_gm sees very little CPU usage.
psadro_gm has been working on an experimental terrain engine. It works by using shaders and raster images to form the terrain. As of 10/2016, it allows for terrain generation on-the-fly and changes in the level of detail (LOD).<ref>{{cite web
Still lot's to do - e.g. need to sample 1 extra pixel in the DEM so edges of tiles get correct normals ( you can see the edges )
|url    = https://forum.flightgear.org/viewtopic.php?p=295882#p295882
 
|title  = Re: Next-generation scenery generating?
Also, psadro_gm hasn't created skirts, yet, so there are gaps between levels.
|author = psadro_gm
 
|date  = Oct 1st, 2016
psadro_gm will add to Mathias' tunables to select grid spacing at each LOD level, to see if we can minimie the popping.
|added  = Oct 1st, 2016
Note: the texture is just 1 4096x4096 sheet for the whole planet.  It'll be nice to see what we can do with procedural texturing.<ref>{{cite web
|script_version = 0.40
  |url    = https://forum.flightgear.org/viewtopic.php?p=295882#p295882  
}}</ref> If the does get integrated fully, it will render [[TerraGear]] obsolete. However, there is still a lot of development work to do. The below videos show the change in LOD as one flies closer to the terrain.
  |title  = <nowiki> Re: Next-generation scenery generating? </nowiki>
  |author = <nowiki> psadro_gm </nowiki>
  |date  = Oct 1st, 2016  
  |added  = Oct 1st, 2016  
  |script_version = 0.40  
  }}</ref>


As far as creating ws3.0, let's see how the experimental engine works out. It basically does away with terragear, and uses standard gis tools for all elevation, landclass editing.<ref>{{cite web
''To learn more, see [[Experimental terrain engine]]…''
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35448526/
  |title  =  <nowiki> Re: [Flightgear-devel] apt.dat - add local version ? </nowiki>
  |author =  <nowiki> Peter Sadrozinski </nowiki>
  |date  =  Oct 24th, 2016
  |added  =  Oct 24th, 2016
  |script_version = 0.40
  }}</ref>


Terragear was never meant as a 'users' tool.  It was designed to generate world scenery ( the whole planet at once ), not individual custom scenery locations.
{{#ev:youtube|-eWEB0-j7zk}}
 
{{#ev:youtube|v9M2La8ZN1U}}
That said, there have been some ( mostly unsuccessful ) attempts to make it more user friendly.  We will see how far the new scenery experiments get us.  If it shows enough promise, perhaps it will become the way forward, and terragear will mostly disappear.  QGIS or GRASS, along with a few scripts will all that you would need to generate custom scenery, then.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=296211#p296211
  |title  =  <nowiki> Re: terragear wont build </nowiki>
  |author =  <nowiki> psadro_gm </nowiki>
  |date  =  Oct 7th, 2016
  |added  =  Oct 7th, 2016
  |script_version = 0.40
  }}</ref>
 
 
 
To learn more, see [[Experimental terrain engine]]
 
{{#ev:youtube|-eWEB0-j7zk}} {{#ev:youtube|v9M2La8ZN1U}}
 
{{Appendix}}
 
== Community news ==


== Contributing ==
== Contributing ==
Line 390: Line 165:




If you want to participate in the screenshot contest of November 2016, you can submit your candidate to [https://forum.flightgear.org/viewtopic.php?f=19&t=30902 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&t=30902#p297955 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of November 2016.
If you want to participate in the screenshot contest of November 2016, you can submit your candidate to [https://forum.flightgear.org/viewtopic.php?f=19&t=30902 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?p=297955#p297955 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of November 2016.
 
{{Appendix}}


[[Category:FlightGear Newsletter|2016 10]]
[[Category:FlightGear Newsletter|2016 10]]

Latest revision as of 15:41, 16 November 2016

Magagazine.png
Enjoy reading the latest edition!
Please help us write the coming edition!
October 2016

Development news
Next default airport
Git multimail script updated
Local apt.dat versions support
Standalone Canvas NavDisplay dialog
Benchmarking Canvas path performance
Streaming a Canvas via HTTP

In the hangar
MBB/Kawasaki BK 117
2016 Camaro SS
Scenery Corner
New experimental terrain engine

Contributing
Translators required
FlightGear logos
Screenshots
Screenshot of the Month

Development news

Next default airport

Zürich Airport (LSZH) has been chosen as the default airport for the next FlightGear version, v2016.4.[1] Some details about the airport can be found here.

Git multimail script updated

For all Git repositories on SourceForge, Edward d'Auvergne has updated the git-multimail repository hook script to 1.5-dev (the current master branch) from 1.2-dev, with a few customisations/simplifications for our commitlogs ML. If you see any error messages when committing, please report these. A failure of the git-multimail Python script will only result in a failure of the sending of an email to the ML, as this is a post-receive hook - the commit will have been successfully pushed/etc.[2]

Local apt.dat versions support

Thanks to work by Florent Rougon, multiple apt.dat files (which contain airport data) can now be loaded, rather than the single $FG_ROOT/Airports/apt.dat.gz.[3] These files (either *.dat or *.dat.gz) can be loaded from Scenery path/NavData/apt/, where Scenery path is any path specified by the --fg-scenery command line option. These will take precedence over the default one ($FG_ROOT/Airports/apt.dat.gz). Note that any change to apt.dat files should continue to be submitted to the X-Plane gateway so that they will eventually be included in the main distribution.

Standalone Canvas NavDisplay dialog

Screenshot showing the dialog with two independent NavDisplay instances

Hooray has been working on a dialog to easily develop, test and prototype new NavDisplay styles. It is capable of showing multiple NavDisplay instances, which can be controlled and tested independently (using different settings for range, modes, traffic, etc.). The dialog will also reload the styles file (navdisplay.mfd) when it is reopened (or the selected style changed), meaning that FlightGear doesn't have to be restarted every time changes are made.

As of 10/2016, this is pending review by Gijs and Hyde before it can be committed to the base package.

Continue reading at Howto:Prototyping a new NavDisplay Style

Benchmarking Canvas path performance

A screenshot of the ADI ball

As part of the development of the Space Shuttle, Thorsten has added a Canvas-based ADI ball. However, it is somewhat of a resource hog.[4] As can be seen from the screenshot of it, it is very complex and involves a lot of calculations.[5] However, performance tests indicate that the cause of the bottleneck is the huge amount of property manipulation involved during each update, after the actual calculations have been completed. This has also been shown to be a problem for any very complex Canvas.

Some ways to help reduce bottlenecks include using getprop() /setprop() instead of props.nas APIs and using variables instead of properties where possible.[6]

Continue reading at Howto:Canvas Path Benchmarking

Streaming a Canvas via HTTP

Screenshot showing a NavDisplay) streamed to Mozilla Firefox

ThomasS has created a patch for FlightGear for downloading any Canvas image from a running FlightGear process via HTTP.[7] This is useful for situations such as displaying instruments on a separate monitor. This should be considered as merely the groundwork needed for more sophisticated use-cases and a corresponding implementation.

Continue reading at Read canvas image by HTTP

In the hangar

MBB/Kawasaki BK 117

User HHS, the author of the Eurocopter EC135 P2, Eurocopter EC130 B4 and Cessna 182S Skylane is trying to the MBB/Kawasaki BK 117 into FlightGear. Unfortunately time is limited, so he will need help.

When you have some spare time, are interested in helicopters, and always wished to improve things, you might want to apply for this job. Find out more on the wiki page.

2016 Camaro SS

Auskunst is seeking help to improve the handling of his 2016 Camaro SS and another future automobile project. If you have experience in tweaking YASim FDMs, you can find out more here.

Scenery corner

New experimental terrain engine

psadro_gm has been working on an experimental terrain engine. It works by using shaders and raster images to form the terrain. As of 10/2016, it allows for terrain generation on-the-fly and changes in the level of detail (LOD).[8] If the does get integrated fully, it will render TerraGear obsolete. However, there is still a lot of development work to do. The below videos show the change in LOD as one flies closer to the terrain.

To learn more, see Experimental terrain engine

Contributing

Translators required

En.gif The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at Help:Translate.
Fr.gif Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire Help:Traduire.
De.gif Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem Help:Übersetzen an.
Nl.gif De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij Help:Vertalen.
Es.gif La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en Help:Traducir.
Cat.gif La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a Help:Traduir.
Pt.gif A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em Help:Traduzir.

FlightGear logos

If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit FlightGear logos for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.

Screenshots

The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings (anti-aliasing, texture sharpening, etc.). More info at Howto:Make nice screenshots.

Screenshot of the Month

FlightGear's Screenshot of the month October 2016 is C182 takeoff at dawn by xcvb

C182 takeoff at dawn


If you want to participate in the screenshot contest of November 2016, you can submit your candidate to this forum topic. Be sure to see the first post for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of November 2016.

References
  1. chris_blues (Oct 4th, 2016). Re: Please vote for the next default airport.
  2. Edward d'Auvergne (Oct 18th, 2016). Re: [Flightgear-devel] Git-multimail repository hook script merge-request bug (was Re: apt.dat - add local version ?).
  3. Alant (Oct 18th, 2016). apt.dat - local version(s).
  4. Thorsten (Oct 28th, 2016). Re: Nasal must go.
  5. Thorsten (Oct 29th, 2016). Re: Nasal must go.
  6. Thorsten Renk (Apr 15th, 2013). Re: [Flightgear-devel] Nasal props API relative path support.
  7. ThomasS (Oct 10th, 2016). Re: Canvas remote drawing.
  8. psadro_gm (Oct 1st, 2016). Re: Next-generation scenery generating?.