MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL...

Post on 05-Aug-2020

2 views 0 download

Transcript of MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL...

Markus Schuetz, 2016.07.26

MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL REALITY

2

AGENDA

• Why?

• Performance and Rendering Techniques

• Rendering Quality

• Interaction in Virtual Reality

3

NVIDIAS NEW HEADQUARTERCURRENTLY UNDER CONSTRUCTION

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

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

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)

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

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

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

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.

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”

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

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

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

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

16

ANTI-ALIASED POINT CLOUDS

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

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

19