Portal:Developer: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
mNo edit summary
m (+-link: Category:Aircraft Resources → Category:Aircraft resources)
(109 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{{PortalMenu}}
{{Main page/Header
  |title=Welcome to the developer portal
  |introduction=Please visit [http://forum.flightgear.org our forum] if you cannot find what you're looking for.
  |rightbox=
<!-------------------------------------------------------------
                    Portal overview
-------------------------------------------------------------->
  |rightcolumn1= </div>
<span style="font-size:105%; font-weight:bold">[[FlightGear and Git|Development repository status]]</span><br />
<center style="padding-top:.9em;">{{GitStatus}}</center>


{|style="border-spacing:8px; margin:0px -8px;"
  |rightcolumn2= </div>
|class="MainPageBG" style="width:100%; border:1px solid #d9e2e2; background:#efefef; vertical-align:top; color:#000;"|
<span style="font-size:105%; font-weight:bold">Getting started</span><br />
{|width="100%" cellpadding="1" cellspacing="5" style="vertical-align:top; background:#efefef;"
<span style="font-style:italic;">
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">The Developer Portal</h2>
[[How the FlightGear project works]] <br/>
|-
[[Howto: Understand the FlightGear development process|The development process]] · [[Release plan]]<br/>
|style="color:#000;"|
[[Building FlightGear]] · [[FlightGear and Git|Git]] · [[FlightGear Build Server|Build server]]<br/>
This portal is for developers contributing to FlightGear. If you want to help with FlightGears development, it's a good idea to subscribe yourself to the [http://lists.sourceforge.net/lists/listinfo/flightgear-devel FlightGear devel] mailing list. The [http://sourceforge.net/mailarchive/forum.php?forum_name=flightgear-devel list archive] is also available and should be searched before posting the same question.<br><br>
[[Property tree]] · [[File formats]] · [[Tools of the Trade]]</span>
'''Please choose a sub-portal:'''
* [[Portal:Developer/3D Modelers|3D Modelers]]
* [[Portal:Developer/Aircraft|Aircraft]]
* [[Portal:Developer/Scenery|Scenery]]<br><br>
'''The FlightGear project is looking for organizations/individuals who would be willing to help sponsor a fulltime project coordinator/manager to help oversee the overall development process If you are interested in helping or have anything else to contribute to this issue, please subscribe to the the [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg11813.html FlightGear Devel mailing list] to discuss details.''' (Note that the FlightGear project can apply for free funding/sponsoring with [http://www.nlnet.nl nlnet]-applications are to be sent [http://www.nlnet.nl/foundation/request/index.html here]-you can help prepare a template for applying: [[Funding Application]])
|}
|}
<!--


-------------------------Today's featured article, Did you know------------------------>
  |rightcolumn3= </div>
{|style="border-spacing:8px; margin:0px -8px;"
<span style="font-size:105%; font-weight:bold">General</span><br />
|class="MainPageBG" style="width:50%; border:1px solid #d9e2e2; background:#efefef; vertical-align:top; color:#000;"|
<span style="font-style:italic;">
{|width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background:#efefef;"
[[Long Term Goals|Long term goals]] · [[:Category:Popular Community Requests|Popular Ideas]] · [[Google Summer of Code]]<br/>
|-
[[Project Infrastructure Enhancements|Project infrastructure enhancements]]<br/>
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Current Events, Efforts/Branches & Work in Progress</h2>
[[Improving Glider Realism|Improving glider realism]] / [[Improving Helicopter Realism|helicopter realism]]<br/>
|-
[[Howto:Set up a multiplayer server|Setting up a multiplayer server]] · [[FlightGear Expo Checklist|Expo checklist]]</span>
|style="color:#000;"|  
*[[FlightGear Package Manager]] (New! Alpha release of [[Java]]/[[XML]] package manager!)
*[[Walk View‎]] (New! walk view code!)
*[[FlightGear Contest]]
'''[[Work in progress|More...]]'''


|-
  |rightcolumn4= [[File:Portal aircraft.png|40px]]</div>
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Latest Organizational Issues</h2>
<span style="font-size:105%; font-weight:bold">[[Portal:Developer/Aircraft|Aircraft]]</span><br />
|-
<span style="font-style:italic;">
|style="color:#000;"|
[[Howto:Troubleshooting Aircraft Performance Issues]]·
* [[ Project Infrastructure Enhancements ]]
[[Howto: Make an aircraft|Making an aircraft]] · [[Flight Dynamics Model|Flight dynamics model]]<br/>
* [[ Source Code Management Issues ]]
[[Howto: 3D Aircraft Models|3D aircraft models]] · [[Howto: Edit a livery|Liveries]] · [[:Category:Aircraft resources|Resources]]<br/>
* [[Google Summer of Code Candidate Projects]] - application template to allow community members to prepare a possible application to decrease the effort required to actually apply
[[Soaring instrumentation sdk]] · [[Creating instruments for FG|Creating instruments]] · [[System dependent instruments|System dependent instruments]]<br/>
* [[Programming Resources]]
[[Howto: Design an autopilot|Designing an autopilot]]</span>
* [[ Tools of the Trade ]]
|-
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">FlightGear Issues</h2>
|-
|style="color:#000;"|  
* [[Pending Patches]] (2 listed for the moment)
* [[Segfaults]] - Reproducible Critical Bugs in FlightGear
* [[Showstoppers]] - Annoying Issues in FlightGear
* [[FlightGear Glitches]] (graphical/scenery related glitches)
|-
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Improvement Initiatives</h2>
|-
|style="color:#000;"|
* [[Improving Helicopter Realism]]
* [[Improving Glider Realism]]
* [[Usability Improvements]] (list of related feature requests)
* [[Proposals:Eye_Candy_related|Eye Candy & Effects]] (list of related feature requests)
'''[[:Category:Code_Cleanup|More...]]'''


|-
  |rightcolumn5= [[File:Nuvola apps kaboodle.png|40px]] </div>
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Compiling</h2>
<span style="font-size:105%; font-weight:bold">Animations</span><br />
|-
<span style="font-style:italic;">
|style="color:#000;"|
[[Howto: Animate models|Animate models]] · [[Howto: Illuminate faces|Illuminate objects]]<br/>
* [[ Building FlightGear - Linux]]
[[Howto: Animate gear scissors|Gear scissors]] · [[Tracking animation]]<br/>
* [http://macflightgear.sourceforge.net/home/documents/how-to-build-flightgear-cvs-on-mac-os-x/ Building FlightGear - Mac OS X]
[[Howto: Make a clickable panel|Clickable panels]] · [[Knob / slider animation]]</span>
* [[ Building FlightGear - Windows]]
* [[ Building FlightGear Launch Control ]]
* [[ Building Terragear ]]
* [[ Building_terragear-cs_in_Ubuntu_64|Building Terragear in Ubuntu]]
* [[ Updating FlightGear on Windows]]
* [[ OpenSceneGraph ]]
* [[ Using TortoiseCVS with FlightGear ]]
* [[ FlightGear and Git ]]
* [[ FlightGear Package Manager ]]


|-
|rightcolumn6=  [[File:Portal developer.png|40px]] </div>
|}
<span style="font-size:105%; font-weight:bold">Core</span><br />
<span style="font-style:italic;">
[[:Category:FlightGear Core developers|List of Core Developers]] · [[:Category:Developer Plans|Developer Plans]] · [[:Category:Core development projects|Projects]] <br/>
[[Howto: Start core development|Getting started]] · [[Programming resources]] · [[Nasal/CppBind|Adding scripting bindings]]<br/>
[[Howto:Add new fgcommands to FlightGear|Adding fgcommands]] · [[Howto:Create new subsystems|Creating subsystems]] <br/>
[[Built-in Profiler]] · [[Howto:Extend Nasal]] · [[Howto:Using Ada in FlightGear]] <small>(<font color="red">updated!</font>)</small><br/>
[[Howto:Use Property Tree Objects]] · [[Code cleanup]] <br/>
[[FlightGear-Points of Interest]] · [[Request for comments]] <br/>
[[OpenSceneGraph]] · [[Rendering system improvements]]</span>


|class="MainPageBG" style="width:50%; border:1px solid #d9e2e2; background:#efefef; vertical-align:top"|
  |rightcolumn7= [[File:Portal scenery.png|40px]] </div>
{| width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background:#efefef;"
<span style="font-size:105%; font-weight:bold">[[Portal:Developer/Scenery|Scenery]]</span><br />
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Contributing</h2>
<span style="font-style:italic;">
|-
[[Procedural Texturing]]<br/>
|style="color:#000;"|
[[Howto: Place 3D objects with the UFO|Placing objects]] · [[Signs|Airport signs]]<br/>
* [[Howto:Extending Nasal]]
[[Howto: Convert objects from X-Plane|Converting from X-Plane/MSFS]]<br/>
* [[Howto:Creating new Subsystems]]
[[Howto: Make an airport|Making an airport]] · [[Using TerraGear|Generating terrain]]<br/>
* [[Howto:Working with the Property Tree API]]
[[AI Traffic]]</span>
* [[ Code Cleanup ]]  
* [[ Contributor Repositories ]] mirrors, branches and forks privately maintained by contributors
* [[ Submitting Patches ]]
* [[ Technical Reports ]]
|-
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Code Internals</h2>
|-
|style="color:#000;"|
* [[Command Parameters]]
* [[ File Formats ]]
* [[ Initialization Sequence ]]
* [[ Nasal scripting language ]]
* [[ Property Tree ]]
* [[ UML Diagrams ]]
* [[ YASim ]]
* [[ FlightGear 1.0 aircraft names for command line‎|1.0.0 a/c names for command line]]
|-
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Todo</h2>
|-
|style="color:#000;"|  
* [[ Bugs ]]
* [[ Feature Requests / Proposals / Ideas ]]
* [[ FGFS Todo ]]
* [[ FlightGear Expo Checklist ]]
* [[ Long Term Goals ]]
|-
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Done</h2>
|-
|style="color:#000;"|
* [[ Changes since 0.9.10 ]]
|-
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">HowTos</h2>
|-
|style="color:#000;"|


* [[Howto: Set up a multiplayer server|Set up a multiplayer server]]
  |rightcolumn8= [[File:Nasallogo3.png|40px]] </div>
'''[[:Category:Howto|More...]]'''
<span style="font-size:105%; font-weight:bold">[[Nasal|Scripting]]</span><br />
|-
<span style="font-style:italic;">
! <h2 style="margin:0; background:#0f7a71; font-size:120%; font-weight:bold; border:1px solid #d9e2e2; text-align:left; color:white; padding:0.2em 0.4em;">Nasal scripting</h2>
[[Nasal FAQ|Frequently asked questions]] · [[Howto:Write simple scripts in Nasal|Writing simple scripts]] <br />
|-
[[Nasal for C++ programmers]] · [[Nasal Variables|Variables and their types]] <br />
|style="color:#000;"|
[[Nasal Conditionals|Conditionals]] · [[Nasal Loops|Loops]] · [[Nasal Operators|Operators]] · [[Nasal Console|In-sim console]]</span>
* [[ Nasal FAQ ]]
* [[ Nasal scripting language ]]
* [[ Nasal Snippets ]]
* [[ Nasal Modules ]]
* [[ Nasal Style Guide ]]
* [[ Writing simple scripts in %22nasal%22 ]]
* [[ Walk View‎]]
* [[Howto: Nasal in scenery object XML files]]
* [[Howto:Extending Nasal]]
|}
|}


__NOTOC__
  |rightcolumn9= [[File:Animation Icon.png|40px]] </div>
__NOEDITSECTION__
<span style="font-size:105%; font-weight:bold">Effects and shaders</span><br />
<span style="font-style:italic;">
[[Shaders]] · [[Project Rembrandt]]<br/>
[[Howto:Shader Programming in FlightGear|Shader programming in FlightGear]]<br/>
[[Shader Coding - Best Practices|Best Practices]] · [[GLSL Shader Programming Resources|GLSL resources]]</span>
 
<!-------------------------------------------------------------
                    Main sections
-------------------------------------------------------------->
  |sections=


== Developer Documentation ==
{{Main page/Leftbox|title=Put a piece of yourself into FlightGear!
=== RFC Topics ===
  |contents=In FlightGear, "development" is [[Howto:Understand the FlightGear development process|anything that improves the project]]. So, it's not just code-related [[Howto:Start core development|core development]]. There's also [[Portal:Developer/Scenery|scenery development]], [[Portal:Developer/Aircraft|aircraft development]] and all the stuff you can see in the column here on the left. If you want an extended overview, check out the [[Volunteer]] page.
'''Clarification:''' In its current form, the RFC section is exclusively based on and covered by previous mailing list and forum discussions (as well as various wiki entries), as such it is not supposed to reflect work in progress (RFC="Request For Comments" and not WIP), but is rather to be seen as an attempt to provide comprehensive analyses and summaries of key issues identified in various FlightGear related discussions and feature requests (which are to be linked to in the corresponding resource sections, if that didn't yet take place, it's because of most of these RFCs being indeed WIP).
Thus, RFC entries are not meant to imply anyone "working" on any of these issues, in fact only because an RFC entry is listed here doesn't necessarily mean that work on that particular issue is prioritized or generally endorsed by the FlightGear community.  
These RFC documents are however intended to hopefully help increase and maintain awareness of long-standing issues and challenges affecting FlightGear's evolution and overall development progress in order to solicit community feedback about possible approaches to address these in an efficient and structured fashion.
Anybody is welcome to comment on, help refine and develop new strategies to tackle the challenges presented in these and future RFCs.


* [[A local weather system]] - improving the FlightGear weather system to make it more configurable and feature rich
Actually that's not all you can contribute. There's also documentation, with the [[FlightGear Manual]]... and this wiki of course! To contribute to the wiki, head off to the [[Portal:Wiki|Wiki Portal]]. There's a lot to do there too.
* [[Autopilot Enhancements]] - enhancing the autopilot infrastructure.
* [[Backwards Compatibility Initiative]] - discussing possible ways to improve FlightGear's backwards compatibility.
* [[Canvas Properties]] - discussing ways to add a 2D drawing API to FlightGear that is property driven
* [[CDI instrument]] - collection of information relating to creating a formal CDI instrument in FG
* [[Decoupling the AI Traffic System]] - discussing possible ways to decouple the AI traffic system from FlightGear in order to improve overall performance and synchronize AI state across multiplayer clients
* [[Distributed Interactive Simulation|Multiplayer Enhancements]] - discussing possible steps to enhance FlightGear's Multiplayer support.
* [[Modularizing, parallelizing and distributing FlightGear]] - splitting fgfs into distinct components that are to be run as separate processes using the property tree for IPC purposes in order to leverage SMP platforms and distribution/remoting to help FlightGear become more scalable.
* [[FDM engine feature standardization]] - discussing possible steps to standardize feature support of mainstream FlightGear FDM engines.
* [[FlightGear Glass Cockpits]] - discussing required infrastructure changes to enable non-developers to easily access FlightGear-internals in order to enable them to model complex glass cockpit-type aircraft instrumentation systems.
* [[FlightGear Headless]] - discussing required steps to enable FlightGear to be used as its own regression testing framework
* [[FlightGear Sessions]] - discussing possible steps to finally allow aircraft to be reliably switched at runtime.
* [[OpenGL GUI RESOURCES|Potential alternatives to Plib's PUI library]] - collection of cross-platform GUI libraries that work with OpenGL
* [[Formalizing Aircraft Status]] - discussing suggestions about how to more properly describe aircraft development status.
* [[Keyboard function priority list]] - reorganizing FlightGear keybindings.
* [[Next Generation Scenery ]] - revamping the FG scenery engine.
* [[Property Tree Reorganization]] - reorganizing the property tree (i.e. implementing and enforcing existing property/node naming conventions).
* [[Recommended Property Tree Enhancements]] - discussing possible property tree enhancements to help ensure integrity of crucial runtime state.
* [[Recommended Project Policies]] - discussing recommended policies for future contributions to the project.
* [[Remote Properties]] - introduces a small but powerful extension to the property tree in order to allow properties to be maintained in a different (remote) instance of a property tree, that is transparently accessed using a network socket.
* [[Simplifying Aircraft Deployment]] - identifying potential steps to simplify deployment of FlightGear aircraft.


If you want to get in touch with other developers, register an account at the [http://forum.flightgear.org/viewforum.php?f=18 forum], and for core development subscribe to the [[mailing list]] too and consider visiting the {{tickets|issue tracker}}.
Remember: we might call it volunteering, but what should drive you is [[How the FlightGear project works|the fun of doing something]].
}}
{{Main page/Leftbox|title=For core developers
  |contents=Visit [[:Category:Core development projects]] to see a list of currently ongoing projects!
See [[:Category:Developer Plans]] to see a list of developer plans for the upcoming release.
See [[request for comments]] for a list of long-standing issues and challenges affecting FlightGear's evolution and overall development progress (admittedly a little outdated meanwhile).
'''Help needed:'''
The [[YASim]] FDM is looking for a new maintainer:
{{cquote|There are some pending merge requests[http://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/533DBD01.9040802%40sol2500.net/#msg32183541] to add some YASim features, but we have an issue that since none of the current C++ developers own, or are experts in YASim, we're reluctant to be the person who merges such changes, and potentially introduces subtle regressions.
Obviously this is chicken-and-egg, since no one can become expert enough in the  code to become a maintainer :)
So, I'm more than happy to apply patches *providing* I can be convinced they are sane+reasonable from a pure code perspective (happy to help with that, too,
if people are new to C++), and providing we have some assurance that a representative sample of YASim aircraft are unchanged or improved by the patch.
Suggestions for that means in practice, are most welcome!
Otherwise I worry, given the nature of the solver, we'll keep optimising the solver for some aircraft, and making other existing aircraft worse - until someone tests them, and announced that they're no longer working.<ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg23986.html
|title=YASim and documentation
|author=James Turner |date= Fri, 05 Oct 2012 03:54:43 -0700}}</ref>|James Turner}}
{{cquote|I am still broadly happy to answer questions if posed (as long as I remember enough to come up with a meaningful answer).  Just cc: me if you do, because my latencies here are measured in weeks.Bugs can always be fixed.  What YASim needs is a maintainer, not really expertise per se.  The latter comes from the former.<ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg23986.html
|title=YASim and documentation
|author=Andy Ross |date= Fri, 05 Oct 2012 03:54:43 -0700}}</ref>|Andy Ross}}
<references/>
}}
{{Main page/Leftbox|title=Coding Help Needed! (Updated 06/2020)
  |contents=
* {{Progressbar|70}} [[Compositor#TODO|Compositor roadmap]]
* {{Progressbar|40}} [[Deboosting FlightGear|Replacing boost]]
* {{Pending}} [[CompositeViewer Support|Switching to osgViewer::CompositeViewer]] (multiple scenery cameras and moving maps)
* {{Pending}} [[World Scenery 3.0 roadmap]]
* {{Pending}} [[Reset & re-init]]
* {{Pending}} [[Canvas Development]] - discusses possible future Canvas additions
* {{Pending}} [[Canvas Properties#Planned Features|Canvas Project (Planned Features)]] (fully scriptable 2D rendering API)
* {{Pending}} [[Canvas Widgets#Missing_.2F_Todo|Canvas Widgets (Missing Features)]] (Canvas GUI layer for scriptable widgets)
* {{Pending}} [[Howto:Use Property Tree Objects|Depreciate tied properties and use PropertyObjects instead]]
}}
{{Main page/Leftbox|title=Wanted: interview candidates
  |contents=Every month we try to include an interview with a contributor in the [[FlightGear Newsletter]]. Anyone contributing to FlightGear, in whatever way, is welcome to answer a few questions and write his/her own interview.
More info at [[FlightGear Newsletter: Interview]].
}}
}}
[[Category:Portals]]
[[ca:Portal:Desenvolupador]]
[[es:Portal:Desarrollo]]
[[es:Portal:Desarrollo]]
[[de:Portal:Entiwcklung]]
[[fr:Portal:Développeur]]
[[sr:Portal:Razvoj]]
[[zh:Portal:Developer]]

Revision as of 03:38, 6 September 2020

Welcome to the developer portal

Please visit our forum if you cannot find what you're looking for.
 
 

Put a piece of yourself into FlightGear!

In FlightGear, "development" is anything that improves the project. So, it's not just code-related core development. There's also scenery development, aircraft development and all the stuff you can see in the column here on the left. If you want an extended overview, check out the Volunteer page.

Actually that's not all you can contribute. There's also documentation, with the FlightGear Manual... and this wiki of course! To contribute to the wiki, head off to the Wiki Portal. There's a lot to do there too.

If you want to get in touch with other developers, register an account at the forum, and for core development subscribe to the mailing list too and consider visiting the issue tracker.

Remember: we might call it volunteering, but what should drive you is the fun of doing something.
 
 

For core developers

Visit Category:Core development projects to see a list of currently ongoing projects! See Category:Developer Plans to see a list of developer plans for the upcoming release. See request for comments for a list of long-standing issues and challenges affecting FlightGear's evolution and overall development progress (admittedly a little outdated meanwhile).

Help needed:

The YASim FDM is looking for a new maintainer:

Cquote1.png There are some pending merge requests[1] to add some YASim features, but we have an issue that since none of the current C++ developers own, or are experts in YASim, we're reluctant to be the person who merges such changes, and potentially introduces subtle regressions.

Obviously this is chicken-and-egg, since no one can become expert enough in the code to become a maintainer :)

So, I'm more than happy to apply patches *providing* I can be convinced they are sane+reasonable from a pure code perspective (happy to help with that, too, if people are new to C++), and providing we have some assurance that a representative sample of YASim aircraft are unchanged or improved by the patch. Suggestions for that means in practice, are most welcome!

Otherwise I worry, given the nature of the solver, we'll keep optimising the solver for some aircraft, and making other existing aircraft worse - until someone tests them, and announced that they're no longer working.[1]
— James Turner
Cquote2.png
Cquote1.png I am still broadly happy to answer questions if posed (as long as I remember enough to come up with a meaningful answer). Just cc: me if you do, because my latencies here are measured in weeks.Bugs can always be fixed. What YASim needs is a maintainer, not really expertise per se. The latter comes from the former.[2]
— Andy Ross
Cquote2.png
  1. James Turner (Fri, 05 Oct 2012 03:54:43 -0700). YASim and documentation.
  2. Andy Ross (Fri, 05 Oct 2012 03:54:43 -0700). YASim and documentation.
 
 

Coding Help Needed! (Updated 06/2020)


 
 

Wanted: interview candidates

Every month we try to include an interview with a contributor in the FlightGear Newsletter. Anyone contributing to FlightGear, in whatever way, is welcome to answer a few questions and write his/her own interview.

More info at FlightGear Newsletter: Interview.

Development repository status

Current release: 2020.3.19 (18 Oct 2023)
Next release: 2020.3.20
See release plan for details.

Getting started
How the FlightGear project works
The development process · Release plan
Building FlightGear · Git · Build server
Property tree · File formats · Tools of the Trade

General
Long term goals · Popular Ideas · Google Summer of Code
Project infrastructure enhancements
Improving glider realism / helicopter realism
Setting up a multiplayer server · Expo checklist

Portal aircraft.png

Aircraft
Howto:Troubleshooting Aircraft Performance Issues· Making an aircraft · Flight dynamics model
3D aircraft models · Liveries · Resources
Soaring instrumentation sdk · Creating instruments · System dependent instruments
Designing an autopilot

Nuvola apps kaboodle.png

Animations
Animate models · Illuminate objects
Gear scissors · Tracking animation
Clickable panels · Knob / slider animation

Portal developer.png

Core
List of Core Developers · Developer Plans · Projects
Getting started · Programming resources · Adding scripting bindings
Adding fgcommands · Creating subsystems
Built-in Profiler · Howto:Extend Nasal · Howto:Using Ada in FlightGear (updated!)
Howto:Use Property Tree Objects · Code cleanup
FlightGear-Points of Interest · Request for comments
OpenSceneGraph · Rendering system improvements

Portal scenery.png

Scenery
Procedural Texturing
Placing objects · Airport signs
Converting from X-Plane/MSFS
Making an airport · Generating terrain
AI Traffic

Nasallogo3.png

Scripting
Frequently asked questions · Writing simple scripts
Nasal for C++ programmers · Variables and their types
Conditionals · Loops · Operators · In-sim console

Animation Icon.png

Effects and shaders
Shaders · Project Rembrandt
Shader programming in FlightGear
Best Practices · GLSL resources