Changelog 3.2: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Update aircraft, some tidying)
Line 15: Line 15:
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.  
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 [http://www.flightgear.org FlightGear.org]
Download FlightGear v3.0 for free from [http://www.flightgear.org FlightGear.org].
Version 3.2 will be released soon.
 
A video created by one of the testers showing some of the major new features of FlightGear v3.2.
 
{{#ev:youtube|EoNQ1NpcnMw}}


FlightGear - Fly Free!
FlightGear - Fly Free!

Revision as of 17:34, 23 August 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 ...

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.0 for free from FlightGear.org. Version 3.2 will be released soon.

A video created by one of the testers showing some of the major new features of FlightGear v3.2.

FlightGear - Fly Free!

Breaking Changes

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 ticket #1397
  • YASim versioning support for maintenance fixes (TorstenD)
  • FLITE TTS support
  • 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.

Aircraft Modeling

JSBSim

  • ground effects (see newsletter 02/2014)

Atmospheric Light Scattering

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.

Additions to ALS in version 3.2 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


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 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

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
  • FGCamera (external addon, not yet reviewed/committed as of 03/2014)
  • 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

  • Windows users are now able to use the scrollwheel in dialog lists


Internationalization


Scenery


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).

  • 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 [2].
  • 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
  • Tom added support for button/modifiers (mouse handling) [3]
  • CanvasImage now supports the http:// protocol for dynamically retrieving raster images. See the renamed src attribute (file is now deprecated).
  • 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++ 80}% completed
  • Custom event handlers can now be registered.
  • Canvas Layout Engine
  • Canvas-based dialog for downloading aircraft Aircraft Center

Nasal Scripting

  • getprop()/setprop() arguments (those that form a path) can now be numeric to specify a index, so:
getprop("canvas/by-index", "texture", 1, "name");
is now the same as:
getprop("canvas/by-index/texture[1]/name");
(see merge request 54 and actual commit)
  • 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.
Usage:
var hist = aircraft.history(); debug.dump(hist.pathForHistory(50));
  • 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

Highlighted new and improved aircraft

Other

Bug fixes

  • See our bugtracker for an extensive, yet incomplete, list of the bugs fixed in this release.