World Scenery 3.0 roadmap

From FlightGear wiki
Revision as of 18:53, 13 November 2020 by Stuart (talk | contribs)
Jump to navigation Jump to search
This article is a stub. You can help the wiki by expanding it.
World Scenery 3.0
Started in 2019-Sep
Description New world-wide scenery
Contributor(s) Scott Giese
Richard Harrison
Stuart Buchanan
Status Active [1]

Motivation

1rightarrow.png See Virtual Planet Builder for the main article about this subject.

Cquote1.png Virtual Planet Builder (VPB) is OSG's terrain-database-building tool.

It loads GIS elevation data for a region, combines it with imagery and produces a spatially-balanced quadtree tiled database that can be navigated simply by loading the top-level file. All of the LOD Ranges are pre-configured and the DatabasePager automatically loads and unloads different segments of terrain without any supporting userspace code required. VPB can build terrain models ranging from a small area to the entire planet. These databases can be fluidly navigated at 60fps from outer space down to ground level with no interruptions. The terrain models are built of regular grid arrays with optional edge-skirts to conceal any cracks caused by adjacent LOD differences.


OpenScenGraph's Virtual Planet Builder/OSGDEM. Published by AlphaPixel, LLC.
(powered by Instant-Cquotes)
Cquote2.png

Objective

Initial rendering of Edinburgh scenery using a raster landclass and texture lookup for city, water and grass


Produce high-quality scenery using the best-known practices.

TerraGear becomes obsolete in favor of VPB.

OpenGL 3.3 Core Profile: WS3.0 will require us to eliminate the usage of the fixed-function pipeline.
Shader-based Rendering: All of the terrain renderings will be done via GLSL shaders.
OSG Core: OpenSceneGraph will require targeting of the OpenGL Core Profile.

WS3.0 will continue to cooperate with osm2city.

Easy upgrade: Airport layouts will be generated in real-time. Apt.dat will continue to be the primary source for airport layouts. Airports will be draped over the terrain. This eliminates the need to cut airport layouts into the underlying terrain.

Background

Data Sources

SRTMGL3.003
: https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/
SRTMGL1.003
: https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/
Global Land Cover
: https://lcviewer.vito.be/
Natural Earth
: https://www.naturalearthdata.com/

Status

As of 11/2020, Stuart pushed a commit that renders VirtualPlanetBuilder output in FlightGear via the Effects framework.

Below is a screenshot showing Edinburgh using WS3.0:

Edinburgh rendering using WS3.0.jpg

While graphically reminiscent of FlightGear circa 2002 and not particularly exciting, this is another step towards WorldScenery 3.0.

One of the key differences of WS3.0 from the current scenery is that the terrain mesh only consists of elevation data. The landclass information is encoded in a texture rather than the mesh itself. So we can have much more detailed landcover information without massively increasing the size of the mesh.

In the linked picture, a simple fragment shader is used to look up the landclass in the texture and use that to identify whether to use water, grass or city textures.[2]

As of 08/2020, it's work in progress, and not ready yet. A very primitive implementation/hack was checked in, but it has limited usefulness in its current state. It's of no use at the moment unless you build some terrain via VPB to play with. Progress is slow at the moment due to limited time. [3]


To use VPB scenery:

  • Create each 1x1 degree separately with a filename of "WS_[E|W]n[N|S]m.osgb". Note that this different to the naming format for terrasync and that the numbers are not "0" padded. E.g. "WS_W3N56.osgb"
  • Put the files (along with their subdirectories containing the sub-tiles!) in a "vpb/" subdirectory of a Scenery directory. E.g.
    • Scenery/Objects
    • Scenery/vpb
  • Start FlightGear with "--prop:/scenery/use-vpb=true"


Proof of Concept 100}% completed

  • VPB Done Done
  • osgOcean Done Done
  • osgVegetation Done Done
  • Generate terrain for Hawaii Done Done
  • Hack Hawaii VPB into FG Done Done


OSG 70}% completed

  • Core Profile: Done Done
  • GLVND Support: Done Done
  • glTF Plugin Support: Ongoing Ongoing


Standard-Fidelity
N00-N60 lat  
Africa Land Coverage  
Natural Earth  
Ocean Fill  

Standard-Fidelity - 90m SRTMGL3 - 100m Global Land Cover

Northern Hemisphere: 152.3 GB

Southern Hemisphere: 57.4 GB

Virtual Planet Builder 70}% completed

  • Procure Demographic Data: SRTMGL3.003 Paused Paused
    • Northern: 70}% completed
    • Southern: 70}% completed
  • Process through VPB Paused Paused
    • Northern: 70}% completed
    • Southern: 70}% completed
  • Ocean Done Done
    • Northern: 100}% completed
    • Southern: 100}% completed


High-Fidelity - 30m SRTMGL1 - Best Available Land Cover

Virtual Planet Builder 30}% completed

  • Procure Demographic Data: SRTMGL1.003 Paused Paused
    • Northern: 70}% completed
    • Southern: 0}% completed
  • Process through VPB Paused Paused
    • Northern: 70}% completed
    • Southern: 0}% completed


News / Updates

The northern hemisphere, up to N60, has been completed. The southern hemisphere, above S56, has been completed. SRTM data was not captured above N60 and below S56, so alternative data sources need to be procured.

Stuart has made good progress with the procedure needed to convert apt.dat into an airport object. Our goal is to utilize this to project/drape the airport layout over the terrain. This will enable localized edits of airports without requiring us to generate another world scenery build.

Oceans are complete.

Changelog

Gallery

Roadmap

Template:Roadmap

Related

Standard-Fidelity Gallery
WS3 Terrain Mesh  
Asia/India  
Europe  
USA  
Land Coverage  
Natural Earth  
Natural Earth  

For the experimental runtime generated mesh/landclassing engine - which may become WS3.0 - see Experimental terrain engine.