World Scenery 3.0 roadmap: Difference between revisions
No edit summary |
No edit summary |
||
(38 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
See also [[TerraGear | {{stub}} | ||
{{Scenery Core Development}} | |||
{{See also|TerraGear roadmap}} | |||
{{Project | |||
|name = World Scenery 3.0 | |||
|description = New world-wide scenery | |||
|start-date = 2019-Sep | |||
|current-status = Active <ref>https://sourceforge.net/p/flightgear/mailman/message/37074319/</ref> | |||
|developers = Scott Giese<br/>Richard Harrison<br/>Stuart Buchanan | |||
|motivation-body = | |||
{{Main article|Virtual Planet Builder}} | |||
{{FGCquote | |||
|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.<br/> | |||
|{{cite web |url=http://alphapixel.com/wp-content/uploads/2015/04/OpenSceneGraph-OSG-Virtual-Planet-Builder-VPB-OSGDEM.pdf | |||
|title=<nowiki>OpenScenGraph's Virtual Planet Builder/OSGDEM</nowiki> | |||
|publisher=<nowiki>AlphaPixel, LLC</nowiki> | |||
}} | |||
}} | |||
|objective-body = | |||
[[File:Edinburgh rendering using WS3.0.jpg|thumb|Initial rendering of Edinburgh scenery using a raster landclass and texture lookup for city, water and grass]] | |||
[[File:WS3.0 terrain with WS2.0 EGPH.jpg|thumb|Screenshot showing a WS2.0 airport .btg file rendered with WS3.0 terrain]] | |||
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.<br/> | |||
Shader-based Rendering: All of the terrain renderings will be done via GLSL shaders.<br/> | |||
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-body = | |||
=== 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-body = | |||
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: | |||
[[File:Edinburgh_rendering_using_WS3.0.jpg|thumb]] | |||
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.<ref>https://sourceforge.net/p/flightgear/mailman/message/37146562/</ref> | |||
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. <ref>https://sourceforge.net/p/flightgear/mailman/message/37074319/</ref> | |||
To use VPB scenery: | |||
* Create each 1x1 degree separately with a filename of "<nowiki>WS_[E|W]n[N|S]m.osgb</nowiki>". 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 | |||
* Building FlightGear with the same version of OSG as you built the scenery with VPB (3.6.X recommended) | |||
* Start FlightGear with "--compositor=Compositor/als --prop:/sim/rendering/camera-group/lod=1.0 --prop:/scenery/use-vpb=true" | |||
* Set /sim/rendering/camera-group/lod to adjust the LOD scaling (at what distance different tile levels are loaded). | |||
Proof of Concept {{progressbar|100}} | |||
* VPB {{done}} | |||
* osgOcean {{done}} | |||
* osgVegetation {{done}} | |||
* Generate terrain for Hawaii {{done}} | |||
* Hack Hawaii VPB into FG {{done}} | |||
<br style="clear:both" /> | |||
OSG {{progressbar|70}} | |||
* Core Profile: {{done}} | |||
* GLVND Support: {{done}} | |||
* glTF Plugin Support: {{ongoing}} | |||
<br style="clear:both" /> | |||
{{gallery | |||
| title = Standard-Fidelity | |||
| align = right | |||
| N00-N10-LC100m-SRTMGL3.png | N00-N60 lat | |||
| Africa-LC100m-SRTMGL3.png | Africa Land Coverage | |||
| Africa-Natural.png | Natural Earth | |||
| Ocean-N00-N90.png | Ocean Fill | |||
}} | |||
=== Standard-Fidelity - 90m SRTMGL3 - 100m Global Land Cover === | |||
=== Northern Hemisphere: 152.3 GB === | |||
=== Southern Hemisphere: 57.4 GB === | |||
Virtual Planet Builder {{progressbar|70}} | |||
* Procure Demographic Data: SRTMGL3.003 {{paused}} | |||
** Northern: {{progressbar|70}} | |||
** Southern: {{progressbar|70}} | |||
* Process through VPB {{paused}} | |||
** Northern: {{progressbar|70}} | |||
** Southern: {{progressbar|70}} | |||
* Ocean {{done}} | |||
** Northern: {{progressbar|100}} | |||
** Southern: {{progressbar|100}} | |||
<br style="clear:both" /> | |||
=== High-Fidelity - 30m SRTMGL1 - Best Available Land Cover === | |||
Virtual Planet Builder {{progressbar|30}} | |||
* Procure Demographic Data: SRTMGL1.003 {{paused}} | |||
** Northern: {{progressbar|70}} | |||
** Southern: {{progressbar|0}} | |||
* Process through VPB {{paused}} | |||
** Northern: {{progressbar|70}} | |||
** Southern: {{progressbar|0}} | |||
<br style="clear:both" /> | |||
|news-body= | |||
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. | |||
}} | |||
{{gallery | |||
| title = Standard-Fidelity Gallery | |||
| align = center | |||
| Terrain-Mesh.jpg | WS3 Terrain Mesh | |||
| S10-N60-LC100m-SRTMGL3.png | Asia/India | |||
| N00-N10-LC100m-SRTMGL3.png | Europe | |||
| N00-N40-LC100m-SRTMGL3.png | USA | |||
| Africa-LC100m-SRTMGL3.png | Land Coverage | |||
| Africa-Natural.png | Natural Earth | |||
| Africa-Natural2.png | Natural Earth | |||
}} | |||
For the experimental runtime generated mesh/landclassing engine - which may become WS3.0 - see [[Experimental terrain engine]]. | For the experimental runtime generated mesh/landclassing engine - which may become WS3.0 - see [[Experimental terrain engine]]. | ||
[[Category:Development projects]] | |||
[[Category:Scenery]] |
Revision as of 15:24, 14 January 2021
This article is a stub. You can help the wiki by expanding it. |
Scenery Core Development |
---|
Misc |
Misc |
Started in | 2019-Sep |
---|---|
Description | New world-wide scenery |
Contributor(s) |
Scott Giese Richard Harrison Stuart Buchanan |
Status | Active [1] |
Motivation
See Virtual Planet Builder for the main article about this subject. |
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) |
Objective
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:
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
- Building FlightGear with the same version of OSG as you built the scenery with VPB (3.6.X recommended)
- Start FlightGear with "--compositor=Compositor/als --prop:/sim/rendering/camera-group/lod=1.0 --prop:/scenery/use-vpb=true"
- Set /sim/rendering/camera-group/lod to adjust the LOD scaling (at what distance different tile levels are loaded).
- VPB Done
- osgOcean Done
- osgVegetation Done
- Generate terrain for Hawaii Done
- Hack Hawaii VPB into FG Done
Standard-Fidelity | |||||||||
|
Standard-Fidelity - 90m SRTMGL3 - 100m Global Land Cover
Northern Hemisphere: 152.3 GB
Southern Hemisphere: 57.4 GB
High-Fidelity - 30m SRTMGL1 - Best Available Land Cover
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
Related
Standard-Fidelity Gallery | ||||||||||||||
|
For the experimental runtime generated mesh/landclassing engine - which may become WS3.0 - see Experimental terrain engine.