Changes

Jump to: navigation, search

Changelog 2.10

2,761 bytes removed, 23:52, 17 January 2013
Significant re-structuring and re-writing
{{Draft|changelog|This changelog is currently being written for the FG 2.10.0 release - FG 2.10.0 has not yet been released! But starting to write the changelog early, should make it much easier to come up with a comprehensive list of changes. }}
==FlightGear 2.10.0 ChangeLogChange Log==
The FlightGear development team is happy to announce the v2.10.0 release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. New features Highlights in this release include an experimental renderer supporting real-time lighting and shadows, and improved usability, better terrain renderingand a fully scriptable 2D rendering system.
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create
FlightGear - Fly Free!
=== Some of the major changes include: Major Enhancement in this release ===
'''Initial work on dynamic subsystem creation''' James has added initial code to work on dynamic subsystem creation, so that subsystems become create-able and removable from commands. Only some subsystems are supported so far, since many have non-default constructors or other complexities (see [[FlightGear Run Levels]] for further details). With this, change, it's now possible to dynamically add and remove the traffic-manager at runtime, for example: <syntaxhighlight lang="php"> fgcommand( "add-subsystem", props.Node.new( { "subsystem": "traffic-manager", "name":"traffic-manager", "do-bind-init":1}) );</syntaxhighlight> The idea is to improve this further so that more and more subsystems in FlightGear can be optionally toggled on/off at runtime, which should help facilitate other ongoing efforts, like the [[FGCanvas]] project for example - ultimately, this will help make FlightGear become more configurable and scalable, but also better usable for other purposes, such as distributed (multi-machine) setups-so that a single binary can be easily used for different purposes.  In addition, it will be much easier for developers to do regression testing and benchmarking once subsystems can be completely disabled, which is another long-standing feature request (see [[FlightGear Headless]]), that should also simplify release preparations.  '''Aircraft operations'''* Several aircraft have been equiped with virtual checklists, making use of a new [[Aircraft Checklists|checklist dialog]]. '''AI system'''* AI tankers can now be found using the HUD target marker. '''AI TrafficImproved modularization'''
Architecture improvements introduced in this release mean that subsystems such as the traffic manager may be stopped and re-started dynamically within a simulation session. In future releases it is expected that more and more subsystems will support this function, making FG more scalable, and more flexible for distributed multi-machine simulators.
'''Atmospheric Light Scattering'''
[[Atmospheric light scattering]] is an alternative rendering framework, containing its own set of effects and shaders focusing on rendering using exceptionally realistic environment-dependent fog and light computations for clouds and terrain. The simulation includesthe following lighting models.* Rayleigh, Mie and diffuse multiple scattering of light in the atmosphere, on haze and on clouds, for more realistic atmospheric lighting.* a volumetric Volumetric ground fog simulation, so fog varies in thickness both horizontally and vertically.* realistic Realistic ambient and diffuse light curves for sunset and sunrise conditions measured from a large collection of photographs, making evening flights more realistic.* Improved night VFR flying due to a simple moonlight illumination model.
Together with Advanced Weather, it functions as an integrated environment simulation in which the individual elements mutually influence each other. For instance
 
* clouds and winds are influenced by the distribution of terrain elevation
* prevailing winds, terrain slopes and stability of the lower atmosphere determine the shape of visible clouds
* light at sunrise and sunset is position and altitude dependent, allowing for phenomena such as Alpenglow or brightly illuminated high-altitude clouds while the ground is dark
For more powerful graphics cards, the framework includes procedural terrain texturing, including features such asthe following.* Non-tiling slope dependent terrain texturing, so scenery looks more featured but with fewer tiling artefacts.* High resolution close-up texturing effects with up to 10 cm detail resolution and dynamically added bumpmap for low-level flight and better depth perception* Environmental effects such as terrain wetness (including puddles), dustiness, mossiness, and snow cover. All adjustable by the user and respecting the terrain slope where appropriate.
* terrain slope dependent non-tiling texturing* hires close-up texturing effects with up to 10 cm detail resolution and dynamically added bumpmap for low-level flight* terrain appearance changes with user-controlled environment''' Improved performance, terrain may appear wet and covered in puddles, dry and dusty, moss-overgrown or covered in a snow-layer of adjustable thickness, all of which respect terrain slope where appropriate.reduced memory occupancy '''
Startup time and memory occupancy has been reduced by the implementation of a cache of navigation data. Further memory occupancy reductions have been made by improved random buildings. Frame-rates have been improved when using 3D clouds, particularly in overcast conditions.
 '''Flight dynamics''' '''Navigation Database''' '''Scripting (Nasal)'''* The "flightplan" Nasal extension function has been improved, which makes it possible to retrieve a hash representation of the flight plan stored in the route manager. With these changes in place, it is possible to directly show a SVG image for each waypoint and connect them using OpenVG paths.   '''NavCache''' * Navigation data is cached and only rebuilt when you install new data. This results in lower memory consumption and faster startup. '''Environment'''* The weather configuration GUIs have been combined and rationalized into a single Weather GUI, making it easier to select a nice VFR day, or a difficult CATIII approach.* Random Buildings memory occupancy has been improved significantly, making this feature available to more users. '''Usability'''
Improving FlightGear's usability has been a focus for a number of developers for this release. Changes include:
* The About dialog now includes additional system information, and the ability to copy information to the clipboard, making remote diagnosis of users problems faster and more straightforward.
* The Select Airport option now displays an overhead view of the selected airport, allowing users to preview their new location, and making it easier to choose the correct runway or parking position.
* We In-sim checklists have added an integrated been introduced for a number of aircraft.* An in-sim documentation browser is included, so that users can more easily browse all the documentation available in the base package.* The weather configuration UIs have been combined and rationalized into a single Weather UI, making it easier to select a nice VFR day, or a difficult CATIII approach.* AI tankers can now be found using the HUD target marker. ''' Internationalization ''' FlightGear continued to benefit from contributions from across the globe.* The FlightGear Manual is now included in both English and French* System messages on startup are available in eight languages, just like the in-sim menu. ''' Scripting (Nasal) ''' The "flightplan" Nasal extension function has been improved, making it possible to retrieve a hash representation of the flight plan stored in the route manager. It is now possible to directly show a SVG image for each waypoint and connect them using OpenVG paths.
'''Canvas System'''
( The "canvas" system is FlightGear's fully scriptable 2D rendering system, which makes it possible for users to easily create new instruments, HUDs and even dialogs and custom GUI widgets using FlightGear's built-in scripting language [[Nasal]]. The Canvas can also be used for the creation of complex glass cockpit displays like navigational displays and other MFDs - none of this requires writing C++ code or rebuilding FlightGear from source, it can all be done by editing text files using a conventional text editor ) The Nasal API wrappers for the Canvas system have been committed to $FG_ROOT, so that people no longer need to manually load the required modules.Furthermore, the fully scriptable [[Canvas]] 2D drawing system in FlightGear 2.10.0 has now support for:
Canvas improvements in this release include:
* lazy updating/rendering to improve performance in situations where a texture doesn't need to be redrawn
* creating GUI windows (not just widgets, but also windows - which can be used for including popup menus or menubars)* native copy/paste via 2 new [[Nasal]] extension functions, see [[ Howto:Clipboard access using Nasal]]* nested canvases, where a canvas may contain images created by another canvas texture [[Howto:Using raster images and nested canvases]]
* window stacking
* raster images (vector images were already supported)
* improved event handling GUI events using osgGA
* a new DOM-based event handling system
* the canvas system has been generalized and refactored such that it can now be found in SimGear, so that it can be more easily reused by other projects (no longer FG specific).
* in addition, a completely new Nasal/C++ bindings system was added (currently only used by the Canvas system)
Support for nested canvases will make it possible to also load canvas textures into other canvases, so that you can, for example, easily load an instrument into a GUI dialog, or even use GUI widgets in MFD instruments, which is a feature based on real avionics, i.e. as used in modern airliners like the A380 or the 787 - which are based on the ARINC661 standard.'''Rembrandt'''
Nested canvases also make it possible for people to easily implement GUI tools using the Canvas system, for example a GUI instrument or panel editor can be entirely implemented in scripting space now, without touching any C++ code. Similarly, GUI widgets could also be created in a WYSIWYG-fashion, too - so that even a dialog editor or full GUI builders can be built using the Canvas system. In addition, Tom has also implemented support for window stacking in 08/2012. Check out the demo video below, which demonstrates how "nested" canvases and window stacking works: {{#ev:youtube|llVaasTEf44}} Missing features, and features currently under development, are listed at [[Canvas Widgets#Missing_.2F_Todo|Missing Canvas Features]]  '''Interface'''* System messages on startup are available in eight languages, just like the in-sim menu. '''Highlighted new and improved aircraft''' '''Project infrastructure''' '''Visual effects'''* The [[Project Rembrandt|Rembrandt renderer]] has been extended with a couple number of post-processing filters:
** Night vision including amplification grain and restrained field of view
** Cinema effect including:
*** Lateral chromatic aberration (purple fringing)
*** Film wear simulation
 
'''Highlighted new and improved aircraft'''
 
TODO
'''Other'''
 
* Additional joysticks and rudder pedals are supported out-of-the-box.
'''Bug fixes'''
 
* See [http://code.google.com/p/flightgear-bugs/issues/list?can=1&q=Milestone%3D2.10.0 our bugtracker] for an extensive, yet incomplete, list of the bugs fixed in this release.
[[Category:FlightGear changelogs]]

Navigation menu