AutoGen scenery for FlightGear

From FlightGear wiki
Revision as of 19:53, 12 July 2010 by Hooray (talk | contribs) (→‎Porting: a port should probably not be FG specific)
Jump to navigation Jump to search

Description

Use the GNU GPL PixelCity project to create autogen support for FlightGear, to dynamically create cities for populating the FlightGear scenery procedurally.

PixelCity is at the moment C++ code that uses pure OpenGL with a fixed rendering pipeline (i.e. no shaders).

There is a blog column providing in-depth details about the implementation of PixelCity: http://www.shamusyoung.com/twentysidedtale/?p=2940

To view a demo video of PixelCity, please see: http://www.youtube.com/watch?v=-d2-PtK4F6Y

A list of known issues is available at: http://code.google.com/p/pixelcity/updates/list

Code

Official repositories:

Originally, PixelCity only built on Windows, but there are now a number of ports available:

Porting

  • Implementing it into FlightGear requires porting the OpenGL calls to be OpenSceneGraph compatible, probably by implementing osgDrawable.
  • The current implementation only shows night-time views, so this has to be tweaked, too.
  • Another issue to take care of is interaction with existing scenery models, so the generated buildings do not interfere with our scenery models.
  • The same is true for our landcover, roads and elevation data.
  • Definitely worth some thinking. Probably as a google summer of code http://wiki.flightgear.org/index.php/GSoC project?
  • Perhaps something using blended cities?
  • You could input a street map and it would only build buildings in the lots, not on the roads.
  • Now, maybe combine that with open street map or something?
  • Also, you could then just load it fairly normally into flightgear.
  • Instead of downloading the building, it could be an option to download the files needed to make it and do it yourself.
  • It would probably make sense to start an OSG port, so that the port is not FlightGear specific, but could be used by other OSG based projects (pretty much like OSGOcean, OSGTerrain etc)

Threads