Building FlightGear with osgEarth Integration

From FlightGear wiki
Revision as of 08:36, 29 February 2016 by Bugman (talk | contribs) (Switched to {{gitorious source}} to fix all of the broken instructions, and to abstract the Gitorious URLs.)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article is a stub. You can help the wiki by expanding it.

Objective

Cquote1.png Someone able to build from source should still be able to get osgEarth working without too much effort - on Windows there should even be some kind of "overlay" (set of patch files) - I am not sure if those have recently been updated for 3.2 though.
— Hooray (Tue Dec 30). Re: 3.2 .
(powered by Instant-Cquotes)
Cquote2.png
Cquote1.png you do need osgEarth support for that, which is not included in any of the standard releases so far - which is why you need to follow the instructions from the osgEarth thread - however, osgEarth in 3.2 is a completely different matter, because this may very well involve building FlightGear from source - all of this is fairly well documented via a number of different wiki articles. However, it is a fairly technical and tedious process, certainly for people new to compiling software. In other words, osgEarth support in FlightGear in its current form hasn't yet been included in any official release, which means that it must be considered an experimental feature, which is primarily supported by the community, through a number of wiki articles, forum threads/postings and instructions on getting it to work.
— Hooray (Tue Dec 30). Re: 3.2 .
(powered by Instant-Cquotes)
Cquote2.png
Cquote1.png I believe that the OsgEarthNext branch can be built in Linux but seems to require some gyrations to accomplish the setup. see above conversations.

The fgmindata is simply a minimal set of fgdata necessary to run Flightgear, particularly with the osgEarth build without having to download all of the fgdata repository. It contains only a handful of aircraft. I would not recommend dumping the contents on top of an existing fgdata data set unless you are careful about the merging. There are probably only about a dozen or so files that need to be added/merged to the existing fgdata set. If you have the fgdata git repository cloned already, you might consider adding a remote pointing to the fgdata-osgearth repository. That would allow you to cleanly manage as a separate branch.


— poweroftwo (Fri Dec 26). Re: Initial FlightGear / .
(powered by Instant-Cquotes)
Cquote2.png

Background

Cquote1.png 3.4 is required, based on looking at this: https://gitlab.com/poweroftwo/flightgear-osgearth/commits/OsgEarth-FG3.4-Kdis

However, most SG/FG related changes that would conflict with a merge are relatively trivial, i.e. could be resolved by manual edits pretty easily - I don't think that there's lots of scenery related code that got updated recently, i.e. anything affecting the osgEarth patch - simply because FG/osgEarth overrides much of the standard scenery engine anyway. I *assume* that merge conflicts should be relatively straightforward to fix up - but it would make sense to look at the latest release branch in that case.

But even that, people would still need to build the whole shebang
Cquote2.png

Status

Cquote1.png It is what it is, and being what it is (a set of external patches), it has a certain barrier to entry, and learning curve, associated with it.

Basically, people wanting to use this, will need to know how to build FlightGear from source, how to use git and how to apply patches.

People with a working build environment should have no problems getting this to work - the main caveat being currently that some recent sg/fg developments would not be integrated yet.

But otherwise, all the documentation that you can find on the wiki about building FlightGear from source, using git, will be applicable - the main difference is that once you have everything set up and working to build stock fgfs, you would add poweroftwo's gitlab branches as git remotes, and then build an older version of SimGear/FlightGear which contains the corresponding patches.
Cquote2.png
Cquote1.png That's basically the whole idea behind osgEarth. It can do satellite/orthoimagery (that's what you see

advertised the most), but it can also load shapefiles, DEM etc. And it even comes with built-in LOD
algorithms. See their Google+ page for some recent screenshots and videos

https://plus.google.com/+OsgearthOrg/posts

Jeff has done/is doing excellent working integrating it to FlightGear. I'd definitely encourage anyone
interested in generating scenery on the fly to look into that before anything else.


— Gijs de Rooy (2015-03-14). Re: [Flightgear-devel] Google Code closing down.
(powered by Instant-Cquotes)
Cquote2.png

Assumptions

  • You already have working branches of SG/FG and FGData, you only need to add the simperative branches as remote tracking branches
  • $SG_SRC, $FG_SRC and $FG_ROOT must be clean checkouts, commit/stash any unsaved work and check out next/master first.

Building the osgEarth plugin

  • clone the repository:
git clone -v -b 2.12-OsgEarthIntegration https://gitorious.org/fg/flightgear-osgearth.git flightgear
  • create a separate build directory
  • configure via CMake, set -DCMAKE_INSTALL_PREFIX matching your OSG/SG/FG installation path (not needed if you installed OSG/SG system-wide)
  • run "make install" (to run a parallel build, pass -j x, where is x the number of cores available/to be used)
  • next, build SimGear

SimGear

Switch into your cloned SimGear repository, make sure that it is in a clean state (commit/stash any changes, switch to next)

## add a new remote alias 
git remote add simperative https://gitorious.org/fg/simgear-osgearth.git

## fetch all branches
git fetch simperative

## check out a remote tracking branch named topics/osgearth
git checkout --track -b topics/osgearth simperative/2.12-OsgEarthIntegration
  • run make -j4 install
  • switch to your FG_SRC directory

FlightGear

Switch into your cloned FlightGear repository, make sure that it is in a clean state (commit/stash any changes, switch to next)

git remote add simperative https://gitorious.org/fg/flightgear-osgearth.git
git fetch simperative 
git checkout --track -b topics/osgearth simperative/2.12-OsgEarthIntegration

FGData

git remote add simperative https://gitorious.org/fg/fgdata-osgearth.git
git fetch simperative
git checkout --track -b topics/osgearth simperative/2.12-OsgEarthIntegration