massive time-lapse point cloud rendering in virtual...

20
Markus Schuetz, 2016.07.26 MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL REALITY

Upload: others

Post on 05-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

Markus Schuetz, 2016.07.26

MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL REALITY

Page 2: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

2

AGENDA

• Why?

• Performance and Rendering Techniques

• Rendering Quality

• Interaction in Virtual Reality

Page 3: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

3

NVIDIAS NEW HEADQUARTERCURRENTLY UNDER CONSTRUCTION

Page 4: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

4

DRONE SCANS

• ~Daily

• Point cloud created from drone images

• ~decimeter resolution

• 20 to 60 million points per time-slice

• 200 time-slices within first year

• Exterior only

Page 5: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

5

LASER SCANS

• ~Monthly

• Terrestrial laser scanning

• ~millimeter/centimeter resolution

• ~800 million points per time-slice

• 10 time-slices within first year

• Interior & Ground Level Scans

Page 6: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

6

VIRTUAL REALITYTRADITIONAL

VIEWER PERFORMANCE REQUIREMENTS

• 30-60 FPS

• ~2 Million Pixel

• Anti-Aliasing nice to have

• 90 FPS

• Render scene twice, once for each eye

• >2 Million Pixel per Eye

• Anti-Aliasing must-have!(especially for point clouds)

Page 7: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

7

MEETING PERFORMANCE REQUIREMENTS

• Too much data. Out-Of-Core structures necessary

• Multi-Resolution OctreeSource: “Domitilla Catacomb Walkthrough – Dealing with more than 1 Billion Points”, Claus Scheiblauer

• Load and render only visible parts up to desired Level of Detail

source: “Potree: Rendering Large Point Clouds in Web Browsers”, Markus Schuetz

Page 8: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

8

ADAPTIVE POINT SIZES

• Noticeable difference in point-density and holes where LOD changes

• Adjust point size to level of detail

• Nodes with different level overlap-> LOD != node level

• LOD = local leaf-node level

• Find local leaf-node level through octree-traversal in vertex-shader

Page 9: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

9

EYE-DOME-LIGHTING

• Most point clouds do not contain surface normals. Sometimes no colors, either.

• Colors may suffer from overexposure

• EDL does not require normals!

• Creates Illumination & Outlines

• Conceptually close to SSAO

• See:“Interactive Scientific Visualisation of Large Datasets: Towards a Perception-based Approach”, Christian Boucheny

Page 10: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

10

POINT-INTERPOLATION

• Points usually rendered as squares or circles

• Occlusions can reduce readability

• Render as paraboloids instead

• By altering depth in fragment shader

• Disables early-z, recover some speed with:“layout(depth_greater) out float gl_FragDepth;”

• Results in nearest-neighbor-like interpolation between points -> produces Voronoi Diagrams

“High-Quality Point-Based Rendering Using Fast Single-Pass Interpolation ”,

Schütz M., Wimmer M.

Page 11: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

11

QUALITY

• Strong aliasing inherent to Point Cloud Rendering

• Surfaces made up of overlapping points that occlude each other. Closest to camera wins.

• Aliasing more noticeable in VR due to constant motion and low resolution

• Perceived as “sparkling”

Page 12: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

12

SILHOUETTESLEVEL OF DETAIL

SOURCES OF ALIASING

Object Silhouettes

Point Sprite Silhouettes

Building Multi-Resolution Octree, only considering point coordinates

Like Nearest-Neighbor

OCCLUSIONS

Surface Patches made up of overlapping points

Points fighting for visibility

source: “Potree: Rendering Large Point Clouds in Web Browsers”, Markus Schuetz

Page 13: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

13

POINT CLOUD MIP-MAPS

• Additionally store averaged colors in lower Levels-Of-Detail

• Like Mip-Mapping for point clouds

• Averaged colors partially reduce occlusion-aliasing

Page 14: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

14

MSAA

• Multisample Anti-Aliasing

• Different sample sizes for quality vs. speed

• Reduces impact of noise

• Helps with inhomogeneous colors from merging multiple scan locations

• Reduces “sparkling” during motion!

• Partially reduces occlusion-aliasing

Page 15: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

15

ALIASING FROM OCCLUSIONS

• Largely solved through combination of adaptive point sizes, Mip-Maps and MSAA.

• Adaptive Sizes make points as big as necessary but not bigger

• Mip-Maps let otherwise unintentionally occluded points affect the result by contributing to the average

• MSAA lets multiple points affect the same pixel

Page 16: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

16

ANTI-ALIASED POINT CLOUDS

Page 17: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

17

POINT CLOUDS IN VR

• Point clouds often not dense enough for real-world scale

• Can’t just do arbitrary locomotion.

• Tracked area restricted to a few meters

• Movements in VR that are counter to what the body feels and expects can easily make users dizzy

Interaction Challenges

Page 18: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

18

POINT CLOUDS IN VR

• User stuck in a small room but arbitrary exploration possible through squeezing/stretching/rotating/dragging the model

• Drag & Drop using a single controller

• Pinch-To-Zoom like gesture to scale & rotate

• Predefined views to choose from

Interaction Challenges

Page 19: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL

19

Page 20: MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL …on-demand.gputechconf.com/siggraph/2016/presentation/sig... · 2016-07-28 · MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL