SlideShare a Scribd company logo
High-Quality Server Side Rendering using the OGC’s
3D Portrayal Service – Applications and Outlook
Prof. Martin Christen
FHNW – University of Applied Sciences and Arts Northwestern Switzerland
School of Architecture, Civil Engineering and Geomatics
Institute Geomatics
martin.christen@fhnw.ch
3DPS SWG Meeting, December 13, 2018, Charlotte, NC, USA
12/11/2018Institute Geomatics 2
View Extension
In 3DPS the View Extension defines the GetView operation, which instead of a scene returns images.
• Color: Color Value for each pixel
• Depth: Depth Value (view-space distance) to each pixel
• ObjectId: Object identification to identify the feature at a pixel
• Normal: Surface Normal of the surface representated at the pixel
• Mask: Defines if something is visible or not
ObjectId Normal Depth Color
MThAckermann,2018
12/12/2018Institute Geomatics 3
Why?
Pixel-precise Position (Depth Map)
Pixel-precise Attributes (ObjectID)
Nice View (Color)
And more things are possible…
X: 39’1349.242
Y: 581’245.121
Z: 134.892
ID: building.29172
Image: MTh R. Ackermann (2018)
12/12/2018Institute Geomatics 4
First Step: OpenStreetMap to 3D (Virtual Globe)
Bachelor Thesis, Manuel Dätwyler, Kevin Hürbi (2013)
• Buildings: Extruded Geometries from OSM
• If roof info is available, it the 3D representation is created
• Elevation: ASTER GDEM v1
• This way we have free global dataset
12/11/2018Institute Geomatics 5
Implementation of 3DPS Webservice in 2015
Bachelor Thesis, D. Rettenmund (2015)
OSM 3D
Import
Create 3D
Buildings
Wavefront OBJ
X3D
X3DOM
3D Portrayal Service
• 3DPS GetScene implemented using Python and Flask ( http://flask.pocoo.org/ )
• Data: 3D Buildings (worldwide) created from OpenStreetMap Dataset
• To make it more general: 3D Data stored in a PostGIS Database
http://localhost/3dps?SERVICE=3DPS&REQUEST=GetScene&VERSION=1.0.0&BOUNDINGBOX=1495170,6200358,
1502633,6205459&LAYERS=buildings,roofs,ground,trees&FORMAT=model/x3d+xml
12/11/2018Institute Geomatics 6
12/12/2018Institute Geomatics 7
OSM 3D
Import
Create 3D
Buildings
Wavefront OBJ
X3D
X3DOM
3D Portrayal Service
Renderman Scene
Basic Idea: GetView returns a renderman scene,
which can be rendered later on any client.
(Rendering should be done on the server, but back then
we simply didn’t have the infrastructure and it didn’t matter
for this proof of concept.
GetView
GetScene
12/12/2018Institute Geomatics 8
Renderman ?
https://renderman.pixar.com/product
Renderman is used to create photorealistic 3D Renderings. It is used for many movies
(https://renderman.pixar.com/movies)
12/12/2018Institute Geomatics 9
Next Step: Rendering on Server and (Caching!) renderings
Is there a benefit in caching ? Isn’t every rendering different ?
Yes, there are infinite number of views.
But… what if we limit them ?
parallel projection with different pitch and view direction
3dmaps.ch project (started 2015)
12/12/2018Institute Geomatics 10
And create a JavaScript API (with and without WebGL)
var map = new map3d.map("mapcanvas");
var layer = new map3d.imageLayer([
"http://t1.3dmaps.ch/tiles/teatime",
"http://t2.3dmaps.ch/tiles/teatime",
"http://t3.3dmaps.ch/tiles/teatime",
"http://t4.3dmaps.ch/tiles/teatime"]) });
layer.addTo(map);
var teapot_marker = new map3d.marker("Green Teapot", [0,0,0]);
teapot_marker.addTo(map);
var cube_maker = new map3d.marker("Green Cube", [80.5, 11.5, 10.5]);
cube_maker.addTo(map);
maps3d.js
12/12/2018Institute Geomatics 11
Architecture
Tile requests are mapped to a GetView request or retrieved from cache, for example
tile.3dmaps.ch/10/3/20.png results in a GetView request if it isn’t available.
12/12/2018Institute Geomatics 12
Dynamic Lighting
Normal Map: for Object Identification:
Highlighting, special effects, …
Depth Map: for 3D Position, special effects, …
12/12/2018Institute Geomatics 13
Use in the guide App: Roman City of Augusta Raurica (near Basel, Switzerland)
12/12/2018Institute Geomatics 14
Using CityEngine to create large-Scale cities
MTh M. Jung, 2015
12/12/2018Institute Geomatics 15
Rendering with POV Ray & focus on Textures (MTh C. Lindenberger, 2016)
3D-City Model Adelaide
12/12/2018Institute Geomatics 16
The next step
Problem:
In Renderman / POV-Ray you need multiple passes to create depth maps / normal maps / object id
maps.
Solution:
Implement a GPU-accellerated ray-tracer which creates depth maps / normal maps and object id maps
in a single step…
12/12/2018Institute Geomatics 17
Creating a GPU optimized Ray-Tracer (depth map, normal map, objectid map, AO-map)
Using Radeon Rays SDK
• Part of AMD GPUOpen project
• GPU-based intersection engine
• Using OpenCL
12/12/2018Institute Geomatics 18
Combining 2D map with 3D buildings
(MTh, Robin Dainton 2017)
12/12/2018Institute Geomatics 19
Combining 2D map with 3D buildings
(MTh, Robin Dainton 2017)
12/12/2018Institute Geomatics 20
Combining 2D map with 3D buildings
(MTh, Robin Dainton 2017)
12/12/2018Institute Geomatics 21
GetView for Panoramas! MSE Project, R. Ackermann (2017) http://vp2-2017.3dmaps.ch
12/12/2018Institute Geomatics 22
Point Cloud from Depth Map
MTh R. Ackermann (2018)
12/12/2018Institute Geomatics 23
Drawing Vector Data (Depth Map & Color Map)
• Overlapping GeoJSON Data
• Simply draw lines and polygons with depth-test
MTh R. Ackermann (2018)
12/12/2018Institute Geomatics 24
Conclusions
• I’m still convinced GetView has much potential
• There are many possible applications for GetView
• Fast visualizations with terabytes of textures / gigabytes of geometry
• Device independent
• Simply needs a webbrowser
• In future, I want to combine interactive graphics with server rendered graphics
12/11/2018Institute Geomatics 25
12/11/2018Institute Geomatics 26
Questions
Prof. Martin Christen
FHNW – Fachhochschule Nordwestschweiz
Hochschule für Architektur, Bau und Geomatik
Institut Geomatik
martin.christen@fhnw.ch
Twitter: @MartinChristen

More Related Content

PDF
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
PDF
V Ray 1.5 The Complete Guide
PDF
최근의 공간정보 분야 동향과 시사점
PDF
BIM/GIS Integration: A Practical Approach in Real Cases
PDF
Mago3D - An innovative AEC/GIS integration platform that can service millions...
PDF
State of mago3D, An Open Source Based Digital Twin Platform
PDF
mago3D, A Brand-New Web Based Open Source GeoBIM Platform
PPTX
Tackling "BIG Data": Mobile LiDAR Transportation Project Use Case
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
V Ray 1.5 The Complete Guide
최근의 공간정보 분야 동향과 시사점
BIM/GIS Integration: A Practical Approach in Real Cases
Mago3D - An innovative AEC/GIS integration platform that can service millions...
State of mago3D, An Open Source Based Digital Twin Platform
mago3D, A Brand-New Web Based Open Source GeoBIM Platform
Tackling "BIG Data": Mobile LiDAR Transportation Project Use Case

What's hot (20)

PDF
Introduction to OpenIndoorMap
PDF
Introduction of MAGO3D
PDF
Introduction to mago3D: A web based GeoBIM platform on top of FOSS4G
PDF
Introduction to mago3D, an Open Source Based Digital Twin Platform
PDF
State of mago3D, An Open Source Based Digital Twin Platform
PDF
mago3D - A Brand-New Live 3D Geo-Platform
PPSX
Dimensional metrological scanning autonomous rover specially designed for FAR...
PDF
Real walking in virtual environment for factory planning and evaluation
PDF
PG-4035, Virtual Microscopy in the cloud, by Wojciech Tarnawski
PDF
What I've learned from implementing GeoBIM in real cases
PDF
UI/UX for Indoor/Outdoor Seamless Navigation?
PPTX
Master Planning Cities (with the help of CityEngine) (Elliot Hartley, Garsdal...
PDF
Introduction to mago3D: A Web Based Open Source GeoBIM Platform
PDF
mago3D Technical Workshop Material(New Version)
PDF
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
PDF
mago3D, a web based BIM/GIS integration platform on top of open source
PDF
3D Laser Scanning
PPTX
UC Fast Visualisaion
PDF
Real-Time 3D Data Visualization and Analysis of Unlimited Detail
PDF
geoSDI - Piattaforma italiana internet del futuro lite
Introduction to OpenIndoorMap
Introduction of MAGO3D
Introduction to mago3D: A web based GeoBIM platform on top of FOSS4G
Introduction to mago3D, an Open Source Based Digital Twin Platform
State of mago3D, An Open Source Based Digital Twin Platform
mago3D - A Brand-New Live 3D Geo-Platform
Dimensional metrological scanning autonomous rover specially designed for FAR...
Real walking in virtual environment for factory planning and evaluation
PG-4035, Virtual Microscopy in the cloud, by Wojciech Tarnawski
What I've learned from implementing GeoBIM in real cases
UI/UX for Indoor/Outdoor Seamless Navigation?
Master Planning Cities (with the help of CityEngine) (Elliot Hartley, Garsdal...
Introduction to mago3D: A Web Based Open Source GeoBIM Platform
mago3D Technical Workshop Material(New Version)
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
mago3D, a web based BIM/GIS integration platform on top of open source
3D Laser Scanning
UC Fast Visualisaion
Real-Time 3D Data Visualization and Analysis of Unlimited Detail
geoSDI - Piattaforma italiana internet del futuro lite
Ad

Similar to High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – Applications and Outlook (20)

PPTX
OpenStreetMap in 3D - current developments
PDF
3D Web Services And Models For The Web: Where Do We Stand?
PPTX
Introduction to 3D Data
PDF
Visualisation of Complex 3D City Models on Mobile Webbrowsers Using Cloud-bas...
PDF
Presentation final 72
PDF
OpenWebGlobe - GeoSharing Bern
PDF
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
PDF
Tools for Visualizing Geospatial Data in a Web Browser
PDF
Using postgre sql for 3d cms
PDF
Webilea: The OpenWebGlobe Project
PPTX
Streaming LiDAR: The Intersection of Geospatial & Gaming
PPTX
Drupal mapping modules
PDF
Immersive 3 d visualization of remote sensing data
PDF
State of the Art Web Mapping with Open Source
PPTX
How to Easily Read and Write CityGML Data Using FME
PDF
FOSS4G 2013: Modelling 3D underground data in a webbased 3D-Client
PPTX
3D WebGIS using Opensource software
PPTX
Modelling - Third dimension.pptx
PDF
Meetup 12/12/2018: Augmented & Virtual Reality: wat zijn de mogelijkheden voo...
PPTX
3D Model of Buildings Automatically Created from Open Datasets
OpenStreetMap in 3D - current developments
3D Web Services And Models For The Web: Where Do We Stand?
Introduction to 3D Data
Visualisation of Complex 3D City Models on Mobile Webbrowsers Using Cloud-bas...
Presentation final 72
OpenWebGlobe - GeoSharing Bern
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
Tools for Visualizing Geospatial Data in a Web Browser
Using postgre sql for 3d cms
Webilea: The OpenWebGlobe Project
Streaming LiDAR: The Intersection of Geospatial & Gaming
Drupal mapping modules
Immersive 3 d visualization of remote sensing data
State of the Art Web Mapping with Open Source
How to Easily Read and Write CityGML Data Using FME
FOSS4G 2013: Modelling 3D underground data in a webbased 3D-Client
3D WebGIS using Opensource software
Modelling - Third dimension.pptx
Meetup 12/12/2018: Augmented & Virtual Reality: wat zijn de mogelijkheden voo...
3D Model of Buildings Automatically Created from Open Datasets
Ad

More from Martin Christen (11)

PDF
Opening Session GeoPython & Python Machine Learning Conference
PDF
EuroPython 2019: GeoSpatial Analysis using Python and JupyterHub
PPTX
Lightning Talk GeoBeer #25
PDF
Teaching with JupyterHub - lessons learned
PDF
Mixed Reality Anwendungen mit 3D-Stadtmodellen
PDF
Gettiing Started with IoT using Raspberry Pi and Python
PDF
Docker for Python Development
PDF
3D Computer Graphics with Python
PPTX
OpenStreetMap in 3D using Python
PPTX
3d mit Python (PythonCamp)
PDF
GeoBeer July 3rd, 2013
Opening Session GeoPython & Python Machine Learning Conference
EuroPython 2019: GeoSpatial Analysis using Python and JupyterHub
Lightning Talk GeoBeer #25
Teaching with JupyterHub - lessons learned
Mixed Reality Anwendungen mit 3D-Stadtmodellen
Gettiing Started with IoT using Raspberry Pi and Python
Docker for Python Development
3D Computer Graphics with Python
OpenStreetMap in 3D using Python
3d mit Python (PythonCamp)
GeoBeer July 3rd, 2013

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
cuic standard and advanced reporting.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Spectroscopy.pptx food analysis technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Big Data Technologies - Introduction.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A Presentation on Artificial Intelligence
Spectral efficient network and resource selection model in 5G networks
Review of recent advances in non-invasive hemoglobin estimation
cuic standard and advanced reporting.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
sap open course for s4hana steps from ECC to s4
Spectroscopy.pptx food analysis technology
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Mobile App Security Testing_ A Comprehensive Guide.pdf
Big Data Technologies - Introduction.pptx

High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – Applications and Outlook

  • 1. High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – Applications and Outlook Prof. Martin Christen FHNW – University of Applied Sciences and Arts Northwestern Switzerland School of Architecture, Civil Engineering and Geomatics Institute Geomatics martin.christen@fhnw.ch 3DPS SWG Meeting, December 13, 2018, Charlotte, NC, USA
  • 2. 12/11/2018Institute Geomatics 2 View Extension In 3DPS the View Extension defines the GetView operation, which instead of a scene returns images. • Color: Color Value for each pixel • Depth: Depth Value (view-space distance) to each pixel • ObjectId: Object identification to identify the feature at a pixel • Normal: Surface Normal of the surface representated at the pixel • Mask: Defines if something is visible or not ObjectId Normal Depth Color MThAckermann,2018
  • 3. 12/12/2018Institute Geomatics 3 Why? Pixel-precise Position (Depth Map) Pixel-precise Attributes (ObjectID) Nice View (Color) And more things are possible… X: 39’1349.242 Y: 581’245.121 Z: 134.892 ID: building.29172 Image: MTh R. Ackermann (2018)
  • 4. 12/12/2018Institute Geomatics 4 First Step: OpenStreetMap to 3D (Virtual Globe) Bachelor Thesis, Manuel Dätwyler, Kevin Hürbi (2013) • Buildings: Extruded Geometries from OSM • If roof info is available, it the 3D representation is created • Elevation: ASTER GDEM v1 • This way we have free global dataset
  • 5. 12/11/2018Institute Geomatics 5 Implementation of 3DPS Webservice in 2015 Bachelor Thesis, D. Rettenmund (2015) OSM 3D Import Create 3D Buildings Wavefront OBJ X3D X3DOM 3D Portrayal Service • 3DPS GetScene implemented using Python and Flask ( http://flask.pocoo.org/ ) • Data: 3D Buildings (worldwide) created from OpenStreetMap Dataset • To make it more general: 3D Data stored in a PostGIS Database http://localhost/3dps?SERVICE=3DPS&REQUEST=GetScene&VERSION=1.0.0&BOUNDINGBOX=1495170,6200358, 1502633,6205459&LAYERS=buildings,roofs,ground,trees&FORMAT=model/x3d+xml
  • 7. 12/12/2018Institute Geomatics 7 OSM 3D Import Create 3D Buildings Wavefront OBJ X3D X3DOM 3D Portrayal Service Renderman Scene Basic Idea: GetView returns a renderman scene, which can be rendered later on any client. (Rendering should be done on the server, but back then we simply didn’t have the infrastructure and it didn’t matter for this proof of concept. GetView GetScene
  • 8. 12/12/2018Institute Geomatics 8 Renderman ? https://renderman.pixar.com/product Renderman is used to create photorealistic 3D Renderings. It is used for many movies (https://renderman.pixar.com/movies)
  • 9. 12/12/2018Institute Geomatics 9 Next Step: Rendering on Server and (Caching!) renderings Is there a benefit in caching ? Isn’t every rendering different ? Yes, there are infinite number of views. But… what if we limit them ? parallel projection with different pitch and view direction 3dmaps.ch project (started 2015)
  • 10. 12/12/2018Institute Geomatics 10 And create a JavaScript API (with and without WebGL) var map = new map3d.map("mapcanvas"); var layer = new map3d.imageLayer([ "http://t1.3dmaps.ch/tiles/teatime", "http://t2.3dmaps.ch/tiles/teatime", "http://t3.3dmaps.ch/tiles/teatime", "http://t4.3dmaps.ch/tiles/teatime"]) }); layer.addTo(map); var teapot_marker = new map3d.marker("Green Teapot", [0,0,0]); teapot_marker.addTo(map); var cube_maker = new map3d.marker("Green Cube", [80.5, 11.5, 10.5]); cube_maker.addTo(map); maps3d.js
  • 11. 12/12/2018Institute Geomatics 11 Architecture Tile requests are mapped to a GetView request or retrieved from cache, for example tile.3dmaps.ch/10/3/20.png results in a GetView request if it isn’t available.
  • 12. 12/12/2018Institute Geomatics 12 Dynamic Lighting Normal Map: for Object Identification: Highlighting, special effects, … Depth Map: for 3D Position, special effects, …
  • 13. 12/12/2018Institute Geomatics 13 Use in the guide App: Roman City of Augusta Raurica (near Basel, Switzerland)
  • 14. 12/12/2018Institute Geomatics 14 Using CityEngine to create large-Scale cities MTh M. Jung, 2015
  • 15. 12/12/2018Institute Geomatics 15 Rendering with POV Ray & focus on Textures (MTh C. Lindenberger, 2016) 3D-City Model Adelaide
  • 16. 12/12/2018Institute Geomatics 16 The next step Problem: In Renderman / POV-Ray you need multiple passes to create depth maps / normal maps / object id maps. Solution: Implement a GPU-accellerated ray-tracer which creates depth maps / normal maps and object id maps in a single step…
  • 17. 12/12/2018Institute Geomatics 17 Creating a GPU optimized Ray-Tracer (depth map, normal map, objectid map, AO-map) Using Radeon Rays SDK • Part of AMD GPUOpen project • GPU-based intersection engine • Using OpenCL
  • 18. 12/12/2018Institute Geomatics 18 Combining 2D map with 3D buildings (MTh, Robin Dainton 2017)
  • 19. 12/12/2018Institute Geomatics 19 Combining 2D map with 3D buildings (MTh, Robin Dainton 2017)
  • 20. 12/12/2018Institute Geomatics 20 Combining 2D map with 3D buildings (MTh, Robin Dainton 2017)
  • 21. 12/12/2018Institute Geomatics 21 GetView for Panoramas! MSE Project, R. Ackermann (2017) http://vp2-2017.3dmaps.ch
  • 22. 12/12/2018Institute Geomatics 22 Point Cloud from Depth Map MTh R. Ackermann (2018)
  • 23. 12/12/2018Institute Geomatics 23 Drawing Vector Data (Depth Map & Color Map) • Overlapping GeoJSON Data • Simply draw lines and polygons with depth-test MTh R. Ackermann (2018)
  • 24. 12/12/2018Institute Geomatics 24 Conclusions • I’m still convinced GetView has much potential • There are many possible applications for GetView • Fast visualizations with terabytes of textures / gigabytes of geometry • Device independent • Simply needs a webbrowser • In future, I want to combine interactive graphics with server rendered graphics
  • 26. 12/11/2018Institute Geomatics 26 Questions Prof. Martin Christen FHNW – Fachhochschule Nordwestschweiz Hochschule für Architektur, Bau und Geomatik Institut Geomatik martin.christen@fhnw.ch Twitter: @MartinChristen