MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL REALITY Markus - - PowerPoint PPT Presentation

massive time lapse
SMART_READER_LITE
LIVE PREVIEW

MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL REALITY Markus - - PowerPoint PPT Presentation

MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL REALITY Markus Schuetz, 2016.07.26 Why? Performance and Rendering Techniques AGENDA Rendering Quality Interaction in Virtual Reality 2 NVIDIAS NEW HEADQUARTER


slide-1
SLIDE 1

Markus Schuetz, 2016.07.26

MASSIVE TIME-LAPSE POINT CLOUD RENDERING IN VIRTUAL REALITY

slide-2
SLIDE 2

2

AGENDA

  • Why?
  • Performance and Rendering Techniques
  • Rendering Quality
  • Interaction in Virtual Reality
slide-3
SLIDE 3

3

NVIDIAS NEW HEADQUARTER CURRENTLY UNDER CONSTRUCTION

slide-4
SLIDE 4

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
slide-5
SLIDE 5

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
slide-6
SLIDE 6

6

VIRTUAL REALITY TRADITIONAL

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)

slide-7
SLIDE 7

7

MEETING PERFORMANCE REQUIREMENTS

  • Too much data. Out-Of-Core structures necessary
  • Multi-Resolution Octree

Source: “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

slide-8
SLIDE 8

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
  • ctree-traversal in vertex-shader
slide-9
SLIDE 9

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

slide-10
SLIDE 10

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.

slide-11
SLIDE 11

11

QUALITY

  • Strong aliasing inherent to Point Cloud

Rendering

  • Surfaces made up of overlapping points that
  • cclude each other. Closest to camera wins.
  • Aliasing more noticeable in VR due to

constant motion and low resolution

  • Perceived as “sparkling”
slide-12
SLIDE 12

12

SILHOUETTES LEVEL 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

  • f overlapping points

Points fighting for visibility

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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
slide-15
SLIDE 15

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
slide-16
SLIDE 16

16

ANTI-ALIASED POINT CLOUDS

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

19

slide-20
SLIDE 20