Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010

Similar documents
Ray Tracing. Kjetil Babington

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Scalable multi-gpu cloud raytracing with OpenGL

Part IV. Review of hardware-trends for real-time ray tracing

Recursion and Data Structures in Computer Graphics. Ray Tracing

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

and Parallel Algorithms Programming with CUDA, WS09 Waqar Saleem, Jens Müller

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

Enabling immersive gaming experiences Intro to Ray Tracing

Massive Model Visualization using Real-time Ray Tracing

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

CS427 Multicore Architecture and Parallel Computing

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

AN ACCELERATION OF FPGA-BASED RAY TRACER

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Review for Ray-tracing Algorithm and Hardware

Fast BVH Construction on GPUs

Direct Rendering of Trimmed NURBS Surfaces

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Accelerating Realism with the (NVIDIA Scene Graph)

CS 465 Program 5: Ray II

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Sung-Eui Yoon ( 윤성의 )

Specialized Acceleration Structures for Ray-Tracing. Warren Hunt

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

Ray tracing. EECS 487 March 19,

Lecture 18: Primer on Ray Tracing Techniques

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes

Photorealism: Ray Tracing

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis

A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU

Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL

CS 4620 Program 4: Ray II

Blue-Steel Ray Tracer

Optimisation. CS7GV3 Real-time Rendering

Luxo Jr. (Pixar, 1986) Last Time. Real Cameras and Ray Tracing. Standard Rasterization. Lights, Cameras, Surfaces. Now Playing:

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

The Traditional Graphics Pipeline

Abstract. Introduction. Kevin Todisco

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm

Comparison of High-Speed Ray Casting on GPU

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

CS 148, Summer 2012 Introduction to Computer Graphics and Imaging Justin Solomon

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Intersection Acceleration

Scanline Rendering 2 1/42

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Single Scattering in Refractive Media with Triangle Mesh Boundaries

Shadows. COMP 575/770 Spring 2013

The Graphics Pipeline

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

Graphics Processing Unit Architecture (GPU Arch)

Row Tracing with Hierarchical Occlusion Maps

Ray Tracing I. Internet Raytracing Competition

REAL-TIME GPU PHOTON MAPPING. 1. Introduction

From Brook to CUDA. GPU Technology Conference

Graphics Hardware. Instructor Stephen J. Guy

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Ray Casting of Trimmed NURBS Surfaces on the GPU

NVIDIA Case Studies:

The Traditional Graphics Pipeline

GPU Ray Tracing at the Desktop and in the Cloud. Phillip Miller, NVIDIA Ludwig von Reiche, mental images

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation

Ray Tracing. Outline. Ray Tracing: History

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

COMP371 COMPUTER GRAPHICS

Lecture 11: Ray tracing (cont.)

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Fast Stereoscopic Rendering on Mobile Ray Tracing GPU for Virtual Reality Applications

Photorealistic 3D Rendering for VW in Mobile Devices

SAH guided spatial split partitioning for fast BVH construction. Per Ganestam and Michael Doggett Lund University

1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7.

The Traditional Graphics Pipeline

PowerVR Hardware. Architecture Overview for Developers

Spatial Data Structures

03 RENDERING PART TWO

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

Computer Graphics. - Introduction to Ray Tracing - Philipp Slusallek

Hardware-driven visibility culling

Lecture 12: Advanced Rendering

2.11 Particle Systems

GPGPUs in HPC. VILLE TIMONEN Åbo Akademi University CSC

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University

ECE 571 Advanced Microprocessor-Based Design Lecture 20

Transcription:

1 Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010 Presentation by Henrik H. Knutsen for TDT24, fall 2012 Om du ønsker, kan du sette inn navn, tittel på foredraget, o.l. her.

2 Previous work Significant difference pre- and post-cuda Much work done on CPUs and customized hardware, but no satisfactory results compared to rasterization A highly optimized CPU implementation has been developed. It takes advantage of caching, SIMD instructions and frame to frame coherence Programmable ray processing unit (RPU) chip specialized for raytracing Low framerates for all these techniques. True real-time performance has been obtained using GPUs

3 Introduction to ray-tracing Ray tracing is used to render realistic shadows, reflections, scattering and dispersion High degree of visual realism, as it approximates the behaviour of light drawback is high computational complexity Traditionally done on CPUs, where it could take hours to render a single scene. If the high number of cores on GPUs is taken advantage of, ray tracing is a viable option for real-time visualization Ray tracing is an embarrassingly parallel problem. Each ray is traced independently, typically one ray per pixel

4

5 Optimization techniques 75% to 95% of time spent on intersection computing It is possible to skip large amounts of objects, easy example is rays cast in lower half means objects in upper half can be disregarded Uniform grid: Scene is divided into equally sized cubes storing data on contained objects. Intersected cubes are trivially computed k-d tree: Recursively split the scene into two parts separated by a plane Bounded volume hierarchy: Geometric form that entirely covers one or more objects. Organized in a tree where each node covers their children Early ray termination and volume skipping (ray casting)

6 Nvidia CUDA General purpose on GPU architecture Extension of C Freely available Host code executed on computer, device code executed on GPU Device code commonly called kernels. Kernel code executed in parallel on device General program flow: 1. Copy data to be processed from host to GPU 2. CPU instruct calculations done on GPU 3. Result is copied back to host CUDA 5.0 released October 15th

7 Nvidia OptiX Programmable ray tracing engine released September 21, 2009 Runs on top of Nvidia CUDA. Set of library functions for graphics rendering and other applications using ray tracing Programmer writes programs (kernels) that handle the various events of ray tracing, e.g. ray generation, ray hit/miss, bounding box intersection etc. Programs executed during different stages of the ray tracing. This and implementation of desired behaviour is core of the flexibility In host code an API set up through a context structure containing the configuration and components of ray tracing the programs, geometry and the surface properties of materials

8 Presented implementations Snow crystal scene implemented from scratch Centerpiece scene with the camera rotating around a center object with different modes and objects Test suite with 14 parameteres for finding optimized settings for ray-tracing snow particles

9 Snow crystal scene Polygon models of snow crystals, transparent material. Crystals rotate while falling down slowly Each crystal has a region at the top where it respawns when it reaches the bottom Scheme where some crystal spawn close to the camera, and some spawn at the back of the scene' Snow crystal models with 516 and 1040 triangles Complex glass shader from OptiX SDK

10 Testing system and results GPU: Nvidia Quadro FX 5800 CPU: Intel Core 2 Quad Q9550 2.83 Ghz Memory: 4x Corsair 2 GB DDR3 1333 Mhz OS: Microsoft Windows XP 64 bit Compiler: Microsoft Visual Studio 2008 Main issue is refraction and reflection when rays hits snow crystals Shows how ray branching is the major challenge of ray tracing performance, GPUs do not handle this well Camera position and surface type does also greatly affect performance Though OptiX is capable of rendering scenes with highdefinition and complex models in real-time

11 Performance vs optimized ray-tracers Optix results 3-4 times slower, both results from GT200 generation GPUs Reasons are that OptiX is more flexible, and the implementations in AL09 was hand optimized at assembly levels for a specific scene

12 Speedup with multiple GPUs As expected there was a slowdown on the simplest scenes Almost perfect speedup for some complex scenes Scenes that speed up well have a lot of GPU computations compared to tasks like image display, data transfer and CPU computations

13 Conclusions and future work OptiX engine gives control over the power of modern GPUs without having to create a ray tracer from scratch True real-time performance of ray tracing was achieved, with fps ranging from 20,63 to 67,51 on 1 GPU. Though still slower than hand-optimized ray-tracers Near perfect speedup on dual GPU for scenes with high computational complexity GPUs cannot do branching efficiently. Efficient branching is important as the directions of reflected rays are not known in advance Incorporate ideas and ideas from recent work into full-scale applications for use in medical imaging etc. Optimize for OptiX