Portal:Developer: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
mNo edit summary
(Switch to new layout, cleanup of links etc.)
Line 1: Line 1:
{{PortalMenu}}
{{Main page/Header
  |title=Welcome to the developer portal
  |introduction=Please visit [http://flightgear.org/forums our forum] if you cannot find what you're looking for.
  |rightbox=
<!-------------------------------------------------------------
                    Portal overview
-------------------------------------------------------------->
  |rightcolumn1= </div>
<span style="font-size:105%; font-weight:bold">Getting started</span><br />
<span style="font-style:italic;">
[[Howto: Understand the FlightGear development process|The development process]] · [[Howto: Start core development|Core development]] · [[Release plan]]<br/>
[[Building FlightGear]] · [[FlightGear and Git|Git]]</span>
  |rightcolumn2= [[File:Portal aircraft.png|40px]] </div>
<span style="font-size:105%; font-weight:bold">[[Portal:Developer/Aircraft|Aircraft]]</span><br />
<span style="font-style:italic;">
[[Howto: Make an aircraft|Make an aircraft]] · [[Flight Dynamics Model|Flight dynamics model]]<br/>
[[Howto: 3D Aircraft Models|3D aircraft models]] · [[Howto: Edit a livery|Liveries]]<br/>
[[Creating instruments for FG|Creating instruments]] · [[Howto: Make a clickable panel|Clickable panels]]<br/>
[[Howto: Design an autopilot|Designing an autopilot]]</span>
  |rightcolumn3= [[File:Portal scenery.png|40px]] </div>
<span style="font-size:105%; font-weight:bold">[[Portal:Developer/Scenery|Scenery]]</span><br />
<span style="font-style:italic;">
[[Howto: Place 3D objects with the UFO|Placing objects]] · [[Signs|Airport signs]]<br/>
[[Howto: Convert objects from X-Plane|Converting from X-Plane/MSFS]]<br/>
[[Howto: Make an airport|Making an airport]] · [[Using TerraGear|Generating terrain]]</span>
  |rightcolumn4= [[File:Nuvola apps kaboodle.png|40px]] </div>
<span style="font-size:105%; font-weight:bold">Animations</span><br />
<span style="font-style:italic;">
[[Howto: Animate models|Animate models]] · [[Howto: Illuminate faces|Illuminate objects]]<br/>
[[Howto: Animate gear scissors|Gear scissors]]</span>


{|style="border-spacing:8px; margin:0px -8px;"
|class="MainPageBG" style="width:100%; border:1px solid #d9e2e2; background:#efefef; vertical-align:top; color:#000;"|
{|width="100%" cellpadding="1" cellspacing="5" style="vertical-align:top; background:#efefef;"
! <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>
|-
|style="color:#000;"|
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.


'''Please choose a sub-portal:'''
 
* [[Portal:Developer/3D Modelers|3D Modelers]]
<!-------------------------------------------------------------
* [[Portal:Developer/Aircraft|Aircraft]]
                    Main sections
* [[Portal:Developer/Scenery|Scenery]]
-------------------------------------------------------------->
|}
  |sections=
|}
{{Main page/Leftbox|title=Get involved!
<!--
  |contents=If you would like to help with FlightGear's development, it's a good idea to subscribe yourself to the FlightGear development [[mailing list]]. Use the list or the FlightGear [http://code.google.com/p/flightgear-bugs issue tracker] to get in touch with fellow FlightGear core developers.
}}
}}


-------------------------Today's featured article, Did you know------------------------>
[[Category:FlightGear wiki:Portals]]
{|style="border-spacing:8px; margin:0px -8px;"
|class="MainPageBG" style="width:50%; border:1px solid #d9e2e2; background:#efefef; vertical-align:top; color:#000;"|
{|width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background:#efefef;"
|-
! <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;">Events, Efforts/Branches & Work in Progress</h2>
|-
|style="color:#000;"|
* [[FlightGear Package Manager]] (Alpha release of Java/[[XML]] package manager (2008))
* [[Walk View‎]]
'''[[Work in progress|More...]]'''
 
|-
! <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>
|-
|style="color:#000;"|
* [[FlightGear Build Server]]
* [[Project Infrastructure Enhancements]]
* [[Source Code Management Issues]]
* [[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
* [[Programming Resources]]
* [[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;">Improvement Initiatives</h2>
|-
|style="color:#000;"|
* [[Improving Helicopter Realism]]
* [[Improving Glider Realism]]
* [[Usability Improvements]] (list of related feature requests)
'''[[:Category:Code_Cleanup|More...]]'''
 
|-
! <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>
|-
|style="color:#000;"|
* [[Howto: Build FlightGear with NetBeans using CMake]]
* [[Building FlightGear - Linux]]
* [[FlightGear Git on Mac OS X|Building FlightGear - Mac OS X]]
* [[Building FlightGear - Windows]]
* [[Building FlightGear Launch Control]]
* [[OpenSceneGraph]]
* [[FlightGear and Git]]
* [[FlightGear Package Manager]]
|-
! <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;"|
* [[FlightGear Expo Checklist]]
* [[Long Term Goals]]
|-
|}
 
|class="MainPageBG" style="width:50%; border:1px solid #d9e2e2; background:#efefef; vertical-align:top"|
{| width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background:#efefef;"
! <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>
|-
|style="color:#000;"|
* [[Howto: Understand the FlightGear development process]]
* [[Howto: Start core development]]
* [[Howto: Start using git]]
* [[FlightGear and Git]]
* [[Release plan]]
* [[Howto: Add new fgcommands to FlightGear]]
* [[Howto: Create new subsystems]]
* [[Howto: Work with the Property Tree API]]
* [[Code Cleanup]] 
|-
! <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]]
|-
! <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]]
'''[[:Category:Howto|More...]]'''
|-
! <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>
|-
|style="color:#000;"|
* [[Improving Nasal]]
* [[Nasal FAQ]]
* [[Nasal scripting language]]
* [[Nasal Snippets]]
* [[Nasal Modules]]
* [[Nasal Style Guide]]
* [[Writing simple scripts in "nasal"]]
* [[Walk View‎]]
* [[Howto: Nasal in scenery object XML files]]
* [[Howto: Extend Nasal]]
|}
|}
 
__NOTOC__
__NOEDITSECTION__
 
== Developer Documentation ==
=== RFC Topics ===
'''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
* [[An Integrated AI Traffic System]] - improving the integration of the AI traffic system with the rest of FlightGear
* [[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.
* [[Redesigning the Replay System]] - addressing the restrictions in the current implementation of the replay system
* [[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.
 
[[Category:wiki.flightgear.org:Portals]]
 
[[es:Portal:Desarrollo]]

Revision as of 21:13, 28 April 2012

Welcome to the developer portal

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

Get involved!

If you would like to help with FlightGear's development, it's a good idea to subscribe yourself to the FlightGear development mailing list. Use the list or the FlightGear issue tracker to get in touch with fellow FlightGear core developers.

Getting started
The development process · Core development · Release plan
Building FlightGear · Git

Portal aircraft.png

Aircraft
Make an aircraft · Flight dynamics model
3D aircraft models · Liveries
Creating instruments · Clickable panels
Designing an autopilot

Portal scenery.png

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

Nuvola apps kaboodle.png

Animations
Animate models · Illuminate objects
Gear scissors