Changelog 3.2: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(https is not implemented...)
mNo edit summary
Line 70: Line 70:
FlightGear's fully scriptable 2D rendering system now includes improved APIs for creating maps and navigation displays amongst many other improvements.
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.
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.
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].
Technically, this works such that any multisampling is disabled now for FBOs as it is not supported anyway. We now just restore GL_BLEND and GL_STENCIL_TEST manually and get rid of the huge load of glPushAttrib/glPopAttrib, which gets us a huge performance boost, especially for drivers with slow state stack implementations.


* Hooray is working on adding shader support to Canvas {{Progressbar|30}}
* Hooray is working on adding shader support to Canvas {{Progressbar|30}}

Revision as of 11:51, 1 April 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.0. 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.00. 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

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

Aircraft Modeling

  • extra 500
  • Tu-154B2 version 3.1
  • additional aircraft have started adopting Gijs' NavDisplay

JSBSim

  • ground effects (see newsletter 02/2014)

Environment Rendering

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)

Usability


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.

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

Technically, this works such that any multisampling is disabled now for FBOs as it is not supported anyway. We now just restore GL_BLEND and GL_STENCIL_TEST manually and get rid of the huge load of glPushAttrib/glPopAttrib, which gets us a huge performance boost, especially for drivers with slow state stack implementations.


  • Hooray is working on adding shader support to Canvas 30}% completed
  • Gijs is currently working on additional projections as part of ticket #550
  • 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).

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)

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.