Changelog 3.2: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Updated changelog after trawl through git logs)
Line 7: Line 7:


==Upcoming FlightGear Changelog==
==Upcoming FlightGear Changelog==
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 ... 
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 an experimental aircraft manager allowing users to download and load aircraft in-sim, a very capable built-in HTTP server, built-in voice synthesizer for ATIS messages, and many improvements to the Canvas rendering framework.


Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create  
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create  
Line 18: Line 18:


FlightGear - Fly Free!
FlightGear - Fly Free!
=== Breaking Changes ===


=== Major enhancements in this release ===
=== Major enhancements in this release ===
'''Surface Light Effects & OpenSceneGraph 3.2'''
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.
The relevant effect is data/Effects/surface-lights.eff.  It should allow development of ALS and Rembrandt variants.
Stuart also replaced some OSG color/normal binding calls that were removed  in OSG3.2.0, apparently because they were slow.  So, if your
build fails, please check you've got a recent OSG build installed.
'''Core'''
* [[Reset & re-init]] is merged and now enabled
* A segfault related to scripted Nasal fgcommands (like used in joystick and other bindings) has been fixed {{Issue|1397}}
* YASim now has versioning support. The YASim FDM now checks a version tag in it's configuration file to eventually provide backward compatibility.
* A text-to-speech system based on flite+hts_engine has been implemented.
* ATIS messages, previously hard coded in C++, are now generated based on customizable XML configuration files. Their audio now gets generated by the new text-to-speech system.
* Windows dependencies have been updated
* The integrated [[Map]] dialog now uses an azimuthal equidistant projection, for better representation in polar regions and across the International Date Line.
* A new internal web server (aka httpd) based on mongoose httpd has been added. It supports various AJAX requests, a screenshot server, a property tree browser and much more.
* A web browser based moving map has been added using the new AJAX capabilities of FlightGear


'''Aircraft Modeling'''
'''Aircraft Modeling'''
* [[A Failure Management Framework for FlightGear]] has been added
* [[A Failure Management Framework for FlightGear]] has been added
* 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.
* YASim now has versioning support. The YASim FDM now checks a version tag in it's configuration file to allow improvements to the YASim FDM without risking breaking older aircraft.
* Additional aircraft have started adopting the [[NavDisplay|Canvas navigation display]] that was introduced with FlightGear 3.0.
* Additional aircraft have started adopting the [[NavDisplay|Canvas navigation display]] that was introduced with FlightGear 3.0.


'''JSBSim'''
'''Graphics'''
* 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.
* Improved rendering of VASI, PAPI, runway and taxiway lights.
 
* Additions to the Atmospheric Light Scattering (ALS) rendering include:
'''Atmospheric Light Scattering'''
** an experimental framework to render cloud shadows on the ground (requires Advanced Weather)
 
** a substantial extension of cloud layer visibility using impostor techniques to 150 km
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.
** a new agriculture effect allowing to render fields without tiling artifacts
 
** a new forest effect to simulate managed forest, varying tree size by patch
Additions to ALS in version 3.2 include:
** sparkle and fog effect on runway lights
 
** much improved visual appearance of rock faces
* an experimental framework to render cloud shadows on the ground (requires Advanced Weather)
* a substantial extension of cloud layer visibility using impostor techniques to 150 km
* a new agriculture effect allowing to render fields without tiling artifacts
* a new forest effect to simulate managed forest, varying tree size by patch
* sparkle and fog effect on runway lights
* much improved visual appearance of rock faces
 
 
'''Environment Rendering'''
 
* 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.
* New deciduous and needle tree textures with much improved visuals
* New regional texture definitions for Ireland, Alaska/Northwest territories and US Southwest
 
'''Performance'''
As a side effect of a fixed bug, a huge performance boost with respect to frame rate can be seen on some machines. The implementation of a Uniform-Cache for shader-effects has reduced the CPU workload significantly.
 
 
'''Misc/Uncategorized'''
* AIModels use PagedLOD
* Optimise NavCache airport query
* osg::Switch for masking scenery rendering
* Torsten's metar work, newradio, mongoose httpd
* HTTP: improve handling of connection errors
* Windows installer has been reworked
* Windows installer creates 3 news directories pre-configured in FGRun:
** {user}\Documents\FlightGear\Aircraft
** {user}\Documents\FlightGear\TerraSync
** {user}\Documents\FlightGear\Custom Scenery


''' Usability '''
''' Usability '''
* An experimental aircraft package manager allows the download of new aircraft, and changing the current aircraft in-sim.
* A new internal web server (aka httpd) based on mongoose httpd has been added. It supports various AJAX requests, a screenshot server, a property tree browser, and a web-based moving map and much more.
* The integrated [[Map]] dialog now uses an azimuthal equidistant projection, for better representation in polar regions and across the International Date Line.
* Windows users are now able to use the scroll wheel in dialog lists
* Windows users are now able to use the scroll wheel in dialog lists
''' Scenery '''


'''Canvas System'''
'''Canvas System'''


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).
Improvements to Canvas, FlightGear's scriptable 2D rendering system include
 
* Better performance
* 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&t=16984&p=204730#p204730].
<!-- code freeze ...
* Hooray is working on adding shader support to Canvas {{Progressbar|30}}
-->
* The [[MapStructure]] back-end used by the [[NavDisplay]] now supports symbol instancing, so that performance is improved
* MapStructure-based layers can now be customized and styled
* MapStructure-based layers can now be customized and styled
* Tom added support for button/modifiers (mouse handling) [http://wiki.flightgear.org/index.php?title=Canvas_Event_Handling&curid=10777&diff=68569&oldid=68422]
* Support for mouse button and modifiers
* CanvasImage now supports the ''http://'' protocol for dynamically retrieving raster images. See the renamed [[Canvas_Image#src|src attribute]] (''file'' is now deprecated).
* CanvasImage now supports the ''http://'' protocol for dynamically retrieving raster images.
* 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 & Canvas instead of C++ {{Progressbar|80}}
* An experimental Map dialog using Canvas is available under the Equipment menu.
* Custom event handlers can now be registered.
* Canvas Layout Engine
* Canvas Layout Engine
* Canvas-based dialog for downloading aircraft [[Aircraft Center]]


'''Nasal Scripting'''
'''Nasal Scripting'''
* getprop()/setprop() arguments (those that form a path) can now be numeric to specify a index, so:
<syntaxhighlight lang="nasal">
getprop("canvas/by-index", "texture", 1, "name");
</syntaxhighlight>
: is now the same as:
<syntaxhighlight lang="nasal">
getprop("canvas/by-index/texture[1]/name");
</syntaxhighlight>
: (see [https://gitorious.org/fg/flightgear/commit/5eee5e42ae4f5cf56283b3bf5a3be46efc2b51c4 merge request 54] and [https://gitorious.org/fg/flightgear/commit/34ed79e5f88ffdfc5e651a1fe3e639cb8f4d3353 actual commit])
* A new fully-interactive Nasal GUI console based on [[Canvas]] has been added: [[Interactive Nasal Console]]
* A new fully-interactive Nasal GUI console based on [[Canvas]] has been added: [[Interactive Nasal Console]]
* 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. 
* the hard-coded '''flight path history''' subsystem which samples aircraft position is now exposed via Nasal.
: Usage:
<syntaxhighlight lang="nasal">
var hist = aircraft.history(); debug.dump(hist.pathForHistory(50));
</syntaxhighlight>
* cppbind: Nasal ghosts can now support arbitrary setters/getters for when members are not mapped to a C++ member/method.
* Language enhancements
** Bitwise operators (|, &, ^, ~, |=, &=, ^=)
** Support for octal, decimal and hexadecimal numbers in literals as well as in strings
   
   
'''Documentation'''
'''Documentation'''
* Nasal documentation is now included,


'''Highlighted new and improved aircraft'''
'''Highlighted new and improved aircraft'''
Line 142: Line 68:


'''Other'''
'''Other'''
* A text-to-speech system based on flite+hts_engine has been implemented, which is used for ATIS and other messages.
* Improved loading behaviour for AI/MP aircraft


'''Bug fixes'''
'''Bug fixes'''
A serious bug has prevented FlightGear version 3.2 being released on time. Identified by the clumsy name "crash in SGPropertyNode::fireValueChanged", this bug clearly was a release blocker and it took a lot of effort to identify the cause for the crash. Finding a solution was even harder but was finally accomplished and presented the nice side-effect of a noticeable performance boost.
* A serious bug was found late in the release causing large numbers of crashes. Fixing this delayed he release, but had a nice side-effect of improving performance on some systems that were previously CPU-limited.
* See [http://code.google.com/p/flightgear-bugs/issues/list?can=1&q=Milestone%3D3.2 our bugtracker] for an extensive, yet incomplete, list of the bugs fixed in this release.
* See [http://code.google.com/p/flightgear-bugs/issues/list?can=1&q=Milestone%3D3.2 our bugtracker] for an extensive, yet incomplete, list of the bugs fixed in this release.


[[Category:FlightGear changelogs]]
[[Category:FlightGear changelogs]]

Revision as of 19:30, 13 October 2014

This changelog is a draft.

This changelog is currently being written for the FlightGear 3.2 release. To see what is being worked on, check out Changelog 3.2. Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.
It's a good idea to check the newsletters since the last release, and the git commit history. To view the changelog for the most recent release, please see Changelog 3.0. 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!



Upcoming FlightGear Changelog

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 an experimental aircraft manager allowing users to download and load aircraft in-sim, a very capable built-in HTTP server, built-in voice synthesizer for ATIS messages, and many improvements to the Canvas rendering framework.

Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.

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.

Download FlightGear v3.2 for free from FlightGear.org.

FlightGear - Fly Free!

Major enhancements in this release

Aircraft Modeling

  • A Failure Management Framework for FlightGear has been added
  • 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.
  • YASim now has versioning support. The YASim FDM now checks a version tag in it's configuration file to allow improvements to the YASim FDM without risking breaking older aircraft.
  • Additional aircraft have started adopting the Canvas navigation display that was introduced with FlightGear 3.0.

Graphics

  • Improved rendering of VASI, PAPI, runway and taxiway lights.
  • Additions to the Atmospheric Light Scattering (ALS) rendering include:
    • an experimental framework to render cloud shadows on the ground (requires Advanced Weather)
    • a substantial extension of cloud layer visibility using impostor techniques to 150 km
    • a new agriculture effect allowing to render fields without tiling artifacts
    • a new forest effect to simulate managed forest, varying tree size by patch
    • sparkle and fog effect on runway lights
    • much improved visual appearance of rock faces

Usability

  • An experimental aircraft package manager allows the download of new aircraft, and changing the current aircraft in-sim.
  • A new internal web server (aka httpd) based on mongoose httpd has been added. It supports various AJAX requests, a screenshot server, a property tree browser, and a web-based moving map and much more.
  • The integrated Map dialog now uses an azimuthal equidistant projection, for better representation in polar regions and across the International Date Line.
  • Windows users are now able to use the scroll wheel in dialog lists

Canvas System

Improvements to Canvas, FlightGear's scriptable 2D rendering system include

  • Better performance
  • MapStructure-based layers can now be customized and styled
  • Support for mouse button and modifiers
  • CanvasImage now supports the http:// protocol for dynamically retrieving raster images.
  • An experimental Map dialog using Canvas is available under the Equipment menu.
  • Canvas Layout Engine

Nasal Scripting

  • A new fully-interactive Nasal GUI console based on Canvas has been added: Interactive Nasal Console
  • the hard-coded flight path history subsystem which samples aircraft position is now exposed via Nasal.

Documentation

  • Nasal documentation is now included,

Highlighted new and improved aircraft

Other

  • A text-to-speech system based on flite+hts_engine has been implemented, which is used for ATIS and other messages.
  • Improved loading behaviour for AI/MP aircraft

Bug fixes

  • A serious bug was found late in the release causing large numbers of crashes. Fixing this delayed he release, but had a nice side-effect of improving performance on some systems that were previously CPU-limited.
  • See our bugtracker for an extensive, yet incomplete, list of the bugs fixed in this release.