Howto:Start core development: Difference between revisions

Jump to navigation Jump to search
→‎Ongoing efforts: copy from the company wiki
(→‎Ongoing efforts: copy from the company wiki)
Line 157: Line 157:


= Ongoing efforts =
= Ongoing efforts =
A list of the latest development efforts can be found at http://wiki.flightgear.org/Category:Core_development_projects
 
Anybody working on FG's source code, should be aware of the [[FGViewer]] trend (decoupling the viewer from the simulation using a [http://wiki.flightgear.org/FlightGear_Headless headless mode] 1) to improve frame rate and latencies, but 2) also to support distributed multi-screen setups) and also the long-term goal to use [http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00108.html OSG's CompositeViewer] for all of the FG views - so modifications to the existing viewer in $FG_SRC/Viewer should probbaly keep these things in mind to align well with other ongoing developments: http://wiki.flightgear.org/Howto:Use_a_Camera_View_in_an_Instrument#osgViewer::CompositeViewer
 
An old PDF describing some of the challenges that FlightGear developers are trying to solve through HLA/[[FlightGear CIGI Support (Common Image Generator Interface)|CIGI]] adoption can be found at: http://wiki.flightgear.org/flightgear_wiki/images/1/1e/New_FG_architecture.pdf
 
The FlightGear state of all HLA things is documented at: http://wiki.flightgear.org/FlightGear_HLA_support_(High_Level_Architecture)
 
Introductory HLA resources are collected at: http://wiki.flightgear.org/Developing_with_HLA#Resources
 
In developer's terms, that mostly boils down to:
* expect more and more viewer functionality to be decoupled from the simulator (fgviewer being the prototype here)
* expect more and more viewer/GUI features to be made optional through a "headless" mode during startup
* expect the 2D rendering backend (GUI, instruments, HUDs etc) to be increasingly unified through the [[Canvas]] system
* expect more work towards better system-wide reinit/reset support: http://wiki.flightgear.org/Reset_%26_re-init
* expect more subsystem to become re-initializable at runtime, so that they can be dynamically enabled/disabled to facilitate the fgviewer or headless mode: http://wiki.flightgear.org/FlightGear_Run_Levels
* expect more and and more mainloop subsystems to eventually become standalone threads/processes (really HLA federates) (FDM, AI traffic, scripting etc) to guarantee better viewer performance
* expect OSG CompositeViewer to be eventually adopted (almost certainly not during the next 12 months though)
 
Basically, help prepare these change by at least not making these things more difficult through your own code :)
 
For doxygen docs, see: http://docs.freeflightsim.org/
 
In less broader (and more outdated) terms, a list of the latest development efforts can be found at http://wiki.flightgear.org/Category:Core_development_projects
If you have anything to add, please feel free to create a new wiki article.
If you have anything to add, please feel free to create a new wiki article.
Also, contributing such news to the FlightGear [[Next newsletter|newsletter]] is another good idea.
Also, contributing such news to the FlightGear [[Next newsletter|newsletter]] is another good idea.
Line 163: Line 185:
If you are looking for ideas to get involved one way or another, some of the more long-term issues and most annoying glitches are discussed at [[Request for comments]].  
If you are looking for ideas to get involved one way or another, some of the more long-term issues and most annoying glitches are discussed at [[Request for comments]].  


However, please take everything you'll find there with a grain of salt, because many of these articles haven't been updated over the years, so what may have seemed like a great idea 2-3 years ago, may already be depreciated meanwhile. On the other hand, those articles may still help you get a better understanding of architectural issues.
However, please take everything you'll find there with a grain of salt, because many of these articles haven't been updated over the years, so what may have seemed like a great idea 2-3 years ago, may already be depreciated meanwhile. On the other hand, those articles may still help you get a better understanding of architectural issues. In case of doubt, please get in touch with fellow developers.


Also, there's another outdated category titled "Code Cleanup": http://wiki.flightgear.org/Category:Code_Cleanup
Also, there's another outdated category titled "Code Cleanup": http://wiki.flightgear.org/Category:Code_Cleanup

Navigation menu