Real-Time ray casting for virtual reality

Slides:



Advertisements
Similar presentations
Technology Behind AMD’s “Leo Demo” Jay McKee MTS Engineer, AMD
Advertisements

Sven Woop Computer Graphics Lab Saarland University
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Physically Based Real-time Ray Tracing Ryan Overbeck.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Ray Tracing Variants Distributed ray tracing Generalized rays Cone Tracing Beam Tracing Pencil.
Christian Lauterbach COMP 770, 2/11/2009
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Visibility Queries Using Graphics Hardware Presented by Jinzhu Gao.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Recursion and Data Structures in Computer Graphics Ray Tracing 1.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
CSE 681 DISTRIBUTED RAY TRACING some implementation notes.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Virtual Light Field Group University College London Ray Tracing with the VLF (VLF-RT) Jesper Mortensen
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Ray Tracing by GPU Ming Ouhyoung. Outline Introduction Graphics Hardware Streaming Ray Tracing Discussion.
Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
CGI2014 SPONSORED BY Ray tracing via GPU Rasterization Wei Hu 1 Yangyu Huang 1 Fan Zhang 1 Guodong Yuan 2 1 Beijing University of Chemical Technology,
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Chapter 1 An overview on Computer Graphics
Real-Time Soft Shadows with Adaptive Light Source Sampling
Photorealistic Rendering vs. Interactive 3D Graphics
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Week 2 - Friday CS361.
Combining Edges and Points for Interactive High-Quality Rendering
Chapter 1 An overview on Computer Graphics
Distributed Ray Tracing
Graphics Processing Unit
Real-Time Ray Tracing Stefan Popov.
3D Graphics Rendering PPT By Ricardo Veguilla.
CS 4722 Computer Graphics and Multimedia Spring 2018
Stylized Environmental Rendering
From Turing Machine to Global Illumination
RAY TRACING.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
CDA 6938 Final Project Triangulation from Point Cloud
Understanding Theory and application of 3D
Hybrid Ray Tracing of Massive Models
Image Formation Ed Angel Professor Emeritus of Computer Science,
© University of Wisconsin, CS559 Fall 2004
Alias-Free Shadow Maps
Ray Tracing Dinesh Manocha COMP 575/770.
(c) 2002 University of Wisconsin
Graphics Processing Unit
Real-time Volumetric Lighting in Participating Media
UMBC Graphics for Games
Distributed Ray Tracing
(c) 2002 University of Wisconsin
COMP 575/770 Review Session May 4, 2016.
Visual Rendering for VR
Current Research in VR Display Technology
Distributed Ray Tracing
GR2 Advanced Computer Graphics AGR
Distributed Ray Tracing
GEARS: A General and Efficient Algorithm for Rendering Shadows
Real-time Global Illumination with precomputed probe
Presentation transcript:

Real-Time ray casting for virtual reality Warren Hunt Oculus Research

Ray casting is a viable alternative to rasterization for VR/AR

This talk Applicability of ray casting for VR/AR Reference ray casting framework: HVVR Open problems/Call for participation

Rendering for VR & AR Host of new problems. I’m going to explain how a change in the way we think about rendering can fix them.

Rasterization Fast, mature hardware available Fundamentally based on grids Well matched to current displays

a new set of requirements! Wide field of view Lens distortion Sub-pixel rendering Low latency Rolling display correction Depth of Field High resolution & Frame rate Foveated rendering Efficient Anti-Aliasing

— ✓ ✗ Feature Rasterization Ray Tracing Ray Casting Wide Field of View Lens Distortion Sub-Pixel Rendering ✗ Low Latency Rolling Shutter Correction Depth of Field Foveated Rendering High Resolution + Frame Rate Efficient Anti-aliasing Note composability. Emphasize composability. Emphasize this is why ray-tracing has taken over

Hierarchical Visibility for Virtual Reality 10+Brays/s including shading on commodity hardware Full dynamic scene support Arbitrary coherent ray distributions Including non-point-origin!

Direct distortion & MSAA

Foveated Rendering No nearest neighbor reconstruction

Wide field of view Note that you can do “screen space” effects here w/o dealing with multiple projections.

Depth of field (using MSAA!)

Hierarchical Visibility for Virtual Reality 3-stage Heterogeneous compute entry-point search algorithm Large packet traversal (CPU) Small packet traversal (CPU) Ray/triangle intersection And Shading (GPU) Emphasis: it’s software

Ray Sample Hierarchy An example sample hierarchy. Pixel footprints in orange, with orange pixel center, blue differentials and blue subsample locations. Green tiles contain 4 pixels each and light blue blocks contain 4tiles each. In the actual system these groupings are much larger

Building the Ray Sample Hierarchy We can build the hierarchy from the pixel centers and differentials

Building the Ray Sample Hierarchy Grouping into tiles

Building the Ray Sample Hierarchy And grouping into blocks

Casting the Ray Sample Hierarchy When casting we start by using the blocks to cull the scene

Casting the Ray Sample Hierarchy Then the tiles

Casting the Ray Sample Hierarchy And finally within the pixels, we programmatically generate subsamples… (goto next slide)

Casting the Ray Sample Hierarchy MSAA-style, which give us the final rays we intersect with the triangles left unculled from each tile

Coherence = performance! Home Bunny Conf Room Sponza HVVR 18,432 24,674 15,840 12,375 OptiX Prime 578 529 568 552 Embree 322 543 263 223 HVVR time is for the full frame, including driver overhead and GGX shading. OptiX and Embree times only include traversal and intersect. Quadro P6000 + i7-6850K MRay/s, 2160x1200, 32xAA (per sub-pixel)

BVH refit is FAST! Scene #Triangles Total Refit Time (μs) 159,588 139 69,451 69 331,179 482 262,137 208 I’d like to put emphasis on the fact that even *without* hardware support, which means large FP32 bounding boxes, this is a solved problem.

Real-Time Ray casting Open Problems Call for participation!

https://github.com/facebookresearch/HVVR It’s Open source! Special Thanks to Michael Mara and Alex Nankervis! https://github.com/facebookresearch/HVVR

Ray casting API Primary Visibility is First Class! Implicit coherence Distinct sub-pixel distortions, layouts and differentials Beam racing/demand driven rendering Multi-sample anti-aliasing HVVR API goal: unify and extend established APIs Come talk to us about it!

Opportunities for collaboration! Multi-Level BVHs: Static + Dynamic Geometry & Instancing Multiple Materials, Transparency & Improved Shading Efficiency Support for Particle Systems Beam racing, Motion Blur & Rolling Shutter Emphatic note: it’s software!It should also inform hardware Accurate Shadows Ray Tracer Integration Support Geometry Shading & Tessellation Beam Racing Support partial Transparency

Oculus Research is hiring! Software Engineers Graphics Post-doc GPU Architect Visiting professors Also: Research grants

In short: Ray casting is well matched to augmented and virtual reality HVVR is an open source real-time ray casting platform from Oculus Research Come collaborate: https://github.com/facebookresearch/HVVR