Board index FlightGear Development

Relationship between OSG, SimGear, and FlightGear  Topic is solved

FlightGear is opensource, so you can be the developer. In the need for help on anything? We are here to help you.
Forum rules
Core development is discussed on the official FlightGear-Devel development mailing list.

Bugs can be reported in the bug tracker.

Relationship between OSG, SimGear, and FlightGear

Postby chriscalef » Thu May 16, 2013 2:24 am

Hi,

As a newbie to all of the above, I'm curious as to whether there is, in the wiki or somewhere in the other documentation and forums, any kind of explanation for exactly what NodeKits or plugins from OpenSceneGraph (osgSim? osgTerrain? osgViewer?) are used in FlightGear/SimGear, and how they are implemented? Also, is there a clear definition of the line between SimGear and FlightGear?

Any pointers as to the relationships between these subcomponents of FlightGear would be much appreciated!

Thanks,
Chris
chriscalef
 
Posts: 236
Joined: Wed Feb 20, 2013 9:28 pm

Re: Relationship between OSG, SimGear, and FlightGear

Postby Philosopher » Thu May 16, 2013 2:58 am

Nope, not at all, barely, and go read the code ;). There really isn't much documentation about the structure of FlightGear, it's components, and only a little bit about usage of functions or stuff (mostly in Doxygen comments with @param's and @return's, etc.). Now forgive the fact that my views are inevitably biased by not having been in the core too much and only reading though small bits of it, but my general feeling is that there isn't too much of docs on what the code is right now, how it fits together, etc., but more of some long-standing issues present in the design that Hooray has seen fit to copy to the wiki from the mailing list (which is where things are often discussed). From one of those discussions I do know that osgViewer is something that is (half?) planned to switch to -- which I would believe implies that it isn't already.

On the line between SimGear and FlightGear: there is somewhat, but it's fuzzy and left to the developer's discretion. You can read SimGear's (former) mission statement at its (old) sourceforge site, but that really has meant nothing AFAIK. Typically components get placed in SimGear if they could be useful in another FG-like application. Canvas, Nasal, terrain, general framework -- but those listed (possibly excepting terrain) are in a sort of a half-complete-state in SimGear: FlightGear either completes it (Canvas' Nasal wrappers I think, FGNasalSys interfaces with the Nasal library) and/or bootstraps it -- aka SimGear by itself might not do anything. For these instances which I have looked at, SimGear provides the library and more low-level stuff and FlightGear facilitates the running of that, etc. One clear thing that goes in FlightGear is instruments like altimeter :P.

Anyways, these are my views on it, go reread my disclaimer at the top, and I'll see if someone disagrees -- to which I can't argue with!
Thanks,
Philosopher
(inactive but lurking occasionally...)
Philosopher
 
Posts: 1590
Joined: Sun Aug 12, 2012 6:29 pm
Location: Stuck in my head...
Callsign: AFTI
Version: Git
OS: Mac OS X 10.7.5

Re: Relationship between OSG, SimGear, and FlightGear

Postby chriscalef » Thu May 16, 2013 6:31 am

Ah, okay, thanks for that much info anyway!

<Goes to read the code.>
chriscalef
 
Posts: 236
Joined: Wed Feb 20, 2013 9:28 pm

Re: Relationship between OSG, SimGear, and FlightGear  

Postby Hooray » Thu May 16, 2013 1:49 pm

any kind of explanation for exactly what NodeKits or plugins from OpenSceneGraph (osgSim? osgTerrain? osgViewer?) are used in FlightGear/SimGear


According to http://trac.openscenegraph.org/projects ... StaticLink plugins are statically linked using #define OSG_LIBRARY_STATIC, so you just need to grep through the source tree and find #ifdef blocks that use OSG_LIBRARY_STATIC to see which plugins are used.
Another good idea would be looking at the build system, i.e. the cmake files.

You can also search the archives via: http://www.mail-archive.com/flightgear- ... forge.net/
For example, search for "osgViewer" and you will see that it has been in use for many years.
Philosopher was probably referring to OSGCompositeViewer, which is another long-standing feature request: http://wiki.flightgear.org/Howto:Use_a_ ... siteViewer
http://www.mail-archive.com/search?q=Co ... eforge.net

Also, is there a clear definition of the line between SimGear and FlightGear?

Philosopher is pretty much right, if you haven't already, see: http://wiki.flightgear.org/Howto:Start_core_development
This should probably be extended, i.e. by including Philosopher's answer and your own findings.

Any pointers as to the relationships between these subcomponents of FlightGear would be much appreciated!

Originally, SimGear was intended to become a library/kernel of simulation-related routines, so that other simulators could use SimGear - FlightGear will contain the flight sim specific stuff, SimGear is about reusable stuff. The original SimGear description (first hit when you google simgear), reads:

SimGear is a set of open-source libraries designed to be used as building blocks for quickly assembling 3d simulations, games, and visualization applications.
SimGear is a relatively new project, and while quite a bit of code has been written in conjunction with the FlightGear project, the final interface and arrangements are still evolving.

The term "Simulation Kernel" is a bit presumptuous for us at this point, but this is the direction we are heading with SimGear.


To navigate the various code bases, I'd suggest to run things through DoxyGen and use the free "Source Navigation NG" or Eclipse.

Finally, it would be great if you could help extend the wiki with your own findings, even if that just means copying stuff over there.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11375
Joined: Tue Mar 25, 2008 8:40 am


Return to Development

Who is online

Users browsing this forum: No registered users and 1 guest