FlightGear: Difference between revisions

Jump to navigation Jump to search
351 bytes removed ,  28 December 2008
m
re-arranging of sub-articles
m (infobox added)
m (re-arranging of sub-articles)
Line 20: Line 20:
[[Image:OV10A-NASA-in-action.jpg|thumb|right|270px|NASA OV-10 in FlightGear 1.0]]
[[Image:OV10A-NASA-in-action.jpg|thumb|right|270px|NASA OV-10 in FlightGear 1.0]]


'''FlightGear''' Flight Simulator is a sophisticated free, completely open-source flight simulator framework, created by volunteers.
'''FlightGear Flight Simulator''' (often shortened to '''FlightGear''' or '''FGFS''') is a sophisticated free, completely open-source flight simulator framework, created by volunteers.  


The project was started in 1996, with the first release in 1997. The latest public release is 1.9.0 in December 2008, with specific builds for a variety of operating systems including Microsoft Windows (Win 32), Mac OS X, Linux, IRIX, and Solaris. ([http://www.flightgear.org/Downloads/ FlightGear Download Central])
The project was started back in 1996, with the first release in 1997. The latest public release is 1.9.0 in December 2008, with specific builds for a variety of operating systems including Microsoft Windows (Win 32), Mac OS X, Linux, IRIX, and Solaris.


Released under the terms of the [[GNU General Public License]], FlightGear is free software. Flightgear is mostly written in C++  with some in C programming languages.
FlightGear is released under the terms of the [[GNU General Public License]]. Flightgear is mostly written in C++  with some in C programming languages.


==History==
==History==
===Beginnings (1996-1997)===
===Beginnings (1996-1997)===
Development formally started in the late-1990s with an online proposal  and code being written in 1996, but using custom 3D graphics code. Development of an OpenGL based version was spearheaded by Curtis Olsen starting in 1997, after the initial start in 1996. A large community response lead to many contributing to the project from its start in late '90s up to the present.
Development formally started in the late-1990s with an online proposal  and code being written in 1996, but using custom 3D graphics code. Development of an [[OpenGL]] based version was spearheaded by Curtis Olsen starting in 1997, after the initial start in 1996. A large community response lead to many contributing to the project from its start in late '90s up to the present.


Rather than start entirely from scratch, FlightGear developers made use of the LaRCsim flight model from NASA, with OpenGL for 3D graphic code, and freely available elevation data. First working binaries came out in 1997, with an intense updating of newer versions for several years resulting in progressively more stable and advanced programs.  
Rather than start entirely from scratch, FlightGear developers made use of the LaRCsim flight model from NASA, with OpenGL for 3D graphic code, and freely available elevation data. First working binaries came out in 1997, with an intense updating of newer versions for several years resulting in progressively more stable and advanced programs.  


===Versions 0.7–0.9 (2001–2003)===
By 2001, the team was releasing new beta versions regularly (0.7.x, 0.8.x over 2001-2003). Later in the decade, the rate of final public releases slowed, but had larger amounts of content (0.9.8, 0.9.10, etc.). The maturity of software by 2005 lead to more widespread reviews, and increased popularity. The use of version numbers slowed dramatically after the late 2002 release of version 0.9.0. Versions 0.9.9 (2005) and 0.9.10 (2006) had about 8 all-new or redone [[aircraft]] adding to a total of 70-90 aircraft, while 0.9.11 has about 33 new or redone designs.
By 2001, the team was releasing new beta versions regularly (0.7.x, 0.8.x over 2001-2003). Later in the decade, the rate of final public releases slowed, but had larger amounts of content (0.9.8, 0.9.10, etc.). The maturity of software by 2005 lead to more widespread reviews, and increased popularity. The use of version numbers slowed dramatically after the late 2002 release of version 0.9.0. Versions 0.9.9 (2005) and 0.9.10 (2006) had about 8 all-new or redone [[aircraft]] adding to a total of 70-90 aircraft, while 0.9.11 has about 33 new or redone designs.
===Versions 0.7–0.9 (2001–2003)===
By 2001, the team was releasing new beta versions regularly (0.7.x, 0.8.x over 2001-2003). Later in the decade, the rate of final public releases slowed, but had larger amounts of content (0.9.8, 0.9.10, etc.). The maturity of software by 2005 lead to more widespread reviews, and increased popularity. The use of version numbers slowed dramatically after the late 2002 release of version 0.9.0. Versions 0.9.9 (2005) and 0.9.10 (2006) had about 8 all-new or redone aircraft adding to a total of 70-90 aircraft, while 0.9.11 has about 33 new or redone designs.


===Version 0.9.0-1.0 (2002-2007)===
===Version 0.9.0-1.0 (2002-2007)===
[[Image:FG-A-10.jpg|thumb|250px|3D Cockpit panel for [[A-10]] in version 1.0.0 in 2008]]
[[Image:FG-A-10.jpg|thumb|250px|3D Cockpit panel for [[A-10]] in version 1.0.0 in 2008]]


Nearly the whole world is well represented using the freely available SRTM elevation data, and a number of special features are available, such as sloped runways. Over 20,000 runways, 3d clouds, multi-platform support, multiple open FDM choices, roughly 100 aircraft choices by version 0.9.10 provide a well-rounded feature set.  
Nearly the whole world is well represented using the freely available SRTM elevation data, and a number of special features are available, such as sloped runways. Over 20,000 runways, [[3D clouds]], multi-platform support, multiple open [[FDM]] choices, roughly 100 [[aircraft]] choices by version 0.9.10 provide a well-rounded feature set.  


Hardware needed for FlightGear is narrow to machines that support [[OpenGL]] and 3D hardware acceleration, with [[NVIDIA]] hardware having better support. Early versions had support for 3dfx cards, though this dropped as hardware requirements increased.
Hardware needed for FlightGear is narrow to machines that support [[OpenGL]] and 3D hardware acceleration, with NVIDIA hardware having better support. Early versions had support for 3dfx cards, though this dropped as hardware requirements increased.


FlightGear has been used in a range of projects in academia and industry.
FlightGear has been used in a range of projects in academia and industry.


===Version 1.9.0===
===Version 1.9.0 (2008)===
At the time version 1.9.0 was released FlightGear switched from PLIB to OSG.
At the time version 1.9.0 was released FlightGear switched from [[PLIB]] to [[OSG]], which caused the temporarily lost of some of the features like 3D clouds and shadows. Most aircraft developed for OSG do not work with older versions.


===Release timeline===
===Release timeline===
Line 169: Line 167:
The simulation engine in FlightGear is called [[SimGear]]. It is used both as an end-user application and in academic and research environments, for the development and pursuit of flight simulation ideas.
The simulation engine in FlightGear is called [[SimGear]]. It is used both as an end-user application and in academic and research environments, for the development and pursuit of flight simulation ideas.


This customizability of FlightGear is illustrated by the wide range of aircraft models that are available in FlightGear, from [[glider]]s to [[helicopter]]s, and from [[airliner]]s to [[military aircraft|fighter jets]]. These aircraft models have been contributed by many different people.
This customizability of FlightGear is illustrated by the wide range of aircraft models that are available in FlightGear, from [[:Category:Gliders|glider]]s to [[Helicopter]]s, and from [[:Category:Airliners|airliners]] to [[Military aircraft|fighter jets]]. These aircraft models have been contributed by many different people.


The FlightGear aircraft use one of three main data models JSBSim, YAsim, or UIUC as of version 0.9.10. Currently only one terrain engine is used, TerraGear. Weather effects include 3D clouds, lighting effects, and time of day.
The FlightGear aircraft use one of three main data models JSBSim, YAsim, or UIUC as of version 0.9.10. Currently only one terrain engine is used, TerraGear. Weather effects include 3D clouds, lighting effects, and time of day.
Line 176: Line 174:
[[Flight Dynamics Models]] (FDM) are how the flight for an aircraft is simulated in the program. FlightGear uses a variety of internally written and imported flight model projects. Any aircraft must be programmed to use one of these models. Currently FlightGear is the only flight  graphical flight simulator all the FDM are used for, and UIUC and YASim were developed specifically for FlightGear.  
[[Flight Dynamics Models]] (FDM) are how the flight for an aircraft is simulated in the program. FlightGear uses a variety of internally written and imported flight model projects. Any aircraft must be programmed to use one of these models. Currently FlightGear is the only flight  graphical flight simulator all the FDM are used for, and UIUC and YASim were developed specifically for FlightGear.  


Early version used a FDM based on [[LaRCsim]] by [[NASA]], which was replaced with more flexible FDM.  
Early version used a FDM based on [[LaRCsim]] by NASA, which was replaced with more flexible FDM.  


*[[JSBSim]] - the default flight dynamics model software since 2000.
*[[JSBSim]] - the default flight dynamics model software since 2000.
*[[YASim]] - another FDM using different calculation method. Introduced starting in 0.7.9 in 2002.
*[[YASim]] - another FDM using different calculation method. Introduced starting in 0.7.9 in 2002.
*[[UIUC]] - another included FDM, developed by the UIUC Applied Aerodynamics Group at University of Illinois at Urbana-Champaign, also made use of LaRCsim.
*[[UIUC]] - another included FDM, developed by the UIUC Applied Aerodynamics Group at University of Illinois at Urbana-Champaign, also made use of LaRCsim.
*Flight Gear can also be setup to render using inputs from an external FDM source, such as from [[Matlab]].
*Flight Gear can also be setup to render using inputs from an external FDM source, such as from Matlab.
*Other custom FDM for a specific aircraft type have been written, such as for lighter than air aircraft.
*Other custom FDM for a specific aircraft type have been written, such as for lighter than air aircraft.


===FlightGear dependencies===
===FlightGear dependencies===
Unlike commercial software titles, the main output of the project is simply the release of a collection of code. To turn it into a usable program it must be compiled for a given platform. The software libraries used to create FlightGear have varied over time. The main one is [[SimGear]], which is the underlying sim engine for FlightGear. [[TerraGear]] is not a dependency, but simply a name for the default terrain data program in FlightGear. OpenAL is used for sound/audio software, including support for SDL (since 0.9.5). PLIB is used for hardware support routines, formerly used for sound support also which was taken over by OpenAL. [[OpenGL]] is used for its integrated 3D graphics routines, and other hardware acceleration (namely DirectX) is not supported. [[OpenSceneGraph]] is also integrated into FlightGear. Finally, [[Simple DirectMedia Layer]] is a software library which is used for compiling. Some of the dependencies vary depending on which platform the code is being compiled for. FlightGear users must either compile the code themselves, or find a third party to release a binary, if it is not among the ones available from the project.
Unlike commercial software titles, the main output of the project is simply the release of a collection of code. To turn it into a usable program it must be compiled for a given platform. The software libraries used to create FlightGear have varied over time. The main one is [[SimGear]], which is the underlying sim engine for FlightGear. [[TerraGear]] is not a dependency, but simply a name for the default terrain data program in FlightGear. OpenAL is used for sound/audio software, including support for SDL (since 0.9.5). PLIB is used for hardware support routines, formerly used for sound support also which was taken over by OpenAL. [[OpenGL]] is used for its integrated 3D graphics routines, and other hardware acceleration (namely DirectX) is not supported. [[OpenSceneGraph]] is also integrated into FlightGear. Finally, Simple DirectMedia Layer is a software library which is used for compiling. Some of the dependencies vary depending on which platform the code is being compiled for. FlightGear users must either compile the code themselves, or find a third party to release a binary, if it is not among the ones available from the project.
 
==Add-ons and customization==
There are programs that are either integrated into FlightGear (dependencies) or perform a function with it. Some of these are included in the release of FlightGear for a specific platform but made by the project, while others are independently distributed but are hosted by the FlightGear project.
 
One major additional software is the actual interface for launching an executable of FlightGear. For most of its early life FlightGear was only run through command line interfaces. However, the FlightGear Launch Control has been included with the ''[[FG launcher]]'' front-end since 0.9.3 in 2003. ''[[KFreeFlight]]'' is a launcher/front-end for KDE. ''FGTools'' is an alternative windows launcher front-end. ''FGKicker'' is a GTK+ based front-end.


===Networking and multi-display===
Other significant programs include editors and projects for Terrain Data. ''[[Atlas]]'' is a chart/map support for FlightGear; ''[[Kelpie Flight Planner]]'' is a Java based flight planner for FlightGear. ''[[FlightGear Scenery Designer]]'' is a FlightGear scenery editor for working with terrain data. The ''[[World Custom Scenery Project]]'' is a project coordinating custom scenery efforts. Finally, ''[[TaxiDraw]]'' is an editor for airport runways and taxiways.
Several networking options allow FlightGear to communicate with other instances of FlightGear. A [[Multiplayer Howto|multiplayer]] protocol is available for using FlightGear on a local network in a multi aircraft environment. This could be used for formation flight or [[ATC|control tower]] simulation. Multiplayer was soon expanded to allow playing over the internet. Other features include a Google maps based moving up that allows users to observe where other players are.


Several instances of FlightGear can be synchronized to allow for a [[multi-monitor]] environment. If all instances are running at the same frame rate consistently, it is possible to get good and tight synchronization between displays.
===Aircraft===
{{Main article|Table of models}}


===Additional software===
FlightGear started out with an aircraft included in NASA's LaRCsim, a Navion, which was replaced by a Cessna 172 by 2000. UIUC as well as JSBsim development brought several more aircraft with them, as did the development of YASim which have since become the main FDM used in FG.  
There are programs that are either integrated into FlightGear (dependencies) or perform a function with it. Some of these are included in the release of FlightGear for a specific platform but made by the project, while others are independently distributed but are hosted by the FlightGear project.  


One major additional software is the actual interface for launching an executable of FlightGear. For most of its early life FlightGear was only run through command line interfaces. However, the FlightGear Launch Control has been included with the ''[[FG launcher]]'' front-end since 0.9.3 in 2003. ''[[KFreeFlight]]'' is a launcher/front-end for KDE. ''[[FGTools]]'' is an alternative windows launcher front-end. ''[[FGKicker]]'' is a GTK+ based front-end.
===Scenery===
{{Main article|Scenery}}
FlightGears [[world scenery]] project contains the enitre world in  


Other significant programs include editors and projects for Terrain Data. ''[[Atlas]]'' is a chart/map support for FlightGear; ''[[Kelpie Flight Planner]]'' is a Java based flight planner for FlightGear. ''[[FlightGear Scenery Designer]]'' is a FlightGear scenery editor for working with terrain data. The ''[[World Custom Scenery Project]]'' is a project coordinating custom scenery efforts. Finally, ''[[TaxiDraw]]'' is an editor for airport runways and taxiways.
===Networking and multi-display===
Several networking options allow FlightGear to communicate with other instances of FlightGear. A [[Multiplayer Howto|multiplayer]] protocol is available for using FlightGear on a local network in a multi aircraft environment. This could be used for formation flight or [[ATC|control tower]] simulation. Multiplayer was soon expanded to allow playing over the internet. Other features include a Google maps based moving up that allows users to observe where other players are.


''See also [[Recommended Software]]''
Several instances of FlightGear can be synchronized to allow for a multi-monitor environment. If all instances are running at the same frame rate consistently, it is possible to get good and tight synchronization between displays.


==FlightGear code vs. binaries==
==FlightGear code vs. binaries==
Line 208: Line 213:
*Win-32 has ~138 Mb package (v0.9.10) (For Windows 98, 2000, ME, 32-bit XP)  
*Win-32 has ~138 Mb package (v0.9.10) (For Windows 98, 2000, ME, 32-bit XP)  
*Linux- pre-built packages for specific Linux distributions
*Linux- pre-built packages for specific Linux distributions
**[[Slackware]] package (v0.9.10), [[Fedora Core]] 2,3,4 packages (v0.9.10), [[Pardus]] (v0.9.10), Debian (v0.9.9)  
**Slackware package (v0.9.10), Fedora Core 2,3,4 packages (v0.9.10), Pardus (v0.9.10), Debian (v0.9.9)  
*Solaris packages either for it running on either SPARC or x86 processors.
*Solaris packages either for it running on either SPARC or x86 processors.
** SPARC (v0.9.8),  x86 (v0.9.9)  
** SPARC (v0.9.8),  x86 (v0.9.9)  
*Silicon Graphics IRIX
*Silicon Graphics IRIX
**SGI binaries for (v0.9.9)  
**SGI binaries for (v0.9.9)  
*[[Mac OS X]]
*Mac OS X
**Mac OS 10.4 (v0.9.10)  
**Mac OS 10.4 (v0.9.10)  
**Mac OS 10.3 (v0.9.9)  
**Mac OS 10.3 (v0.9.9)  
*[[FreeBSD]] has a package for(v0.9.10)
*FreeBSD has a package for(v0.9.10)


==FlightGear reviews==
==FlightGear reviews==
{{Main article|FlightGear Reviews}}
{{Main article|FlightGear Reviews}}
==Models & aircraft==
{{Main article|Table of models}}
FlightGear started out with an aircraft included in NASA's LaRCsim, a Navion, which was replaced by a Cessna 172 by 2000. UIUC as well as JSBsim development brought several more aircraft with them, as did the development of YASim which have since become the main FDM used in FG.


==External links==
==External links==

Navigation menu