Real-Time Reyes Programmable Pipelines and Research Challenges

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

Fragment-Parallel Composite and Filter. Anjul Patney, Stanley Tzeng, and John D. Owens University of California, Davis

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Lecture 12: Advanced Rendering

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Comparing Reyes and OpenGL on a Stream Architecture

A Real-time Micropolygon Rendering Pipeline. Kayvon Fatahalian Stanford University

Efficient GPU Rendering of Subdivision Surfaces. Tim Foley,

Real-Time Reyes-Style Adaptive Surface Subdivision

REYES REYES REYES. Goals of REYES. REYES Design Principles

RenderAnts: Interactive REYES Rendering on GPUs

Reyes Rendering on the GPU

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

Rendering Grass with Instancing in DirectX* 10

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA)

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop

! Pixar RenderMan / REYES. ! Software shaders. ! Pixar Photorealistic RenderMan (PRMan) ! Basically a sophisticated scanline renderer

Sung-Eui Yoon ( 윤성의 )

VU Rendering SS Unit 9: Renderman

Direct Rendering of Trimmed NURBS Surfaces

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

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

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Deus Ex is in the Details

Irradiance Caching in Pixar s RenderMan

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

Computer Graphics I Lecture 11

Real-Time Patch-Based Sort-Middle Rendering on Massively Parallel Hardware

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

Improved Deep Image Compositing Using Subpixel Masks

Motivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline

Terrain Rendering using Multiple Optimally Adapting Meshes (MOAM)

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Memory-efficient Adaptive Subdivision for Software Rendering on the GPU

Practical Techniques for Ray Tracing in Games. Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014

V-RAY NEXT FOR MAYA KEY FEATURES

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

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

CHAPTER 1 Graphics Systems and Models 3

Advanced Ray Tracing

CS427 Multicore Architecture and Parallel Computing

CS452/552; EE465/505. Clipping & Scan Conversion

GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data. Ralf Kähler (KIPAC/SLAC)

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1

A Trip Down The (2011) Rasterization Pipeline

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Building a Fast Ray Tracer

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

COMPUTER GRAPHICS COURSE. Rendering Pipelines

Enabling immersive gaming experiences Intro to Ray Tracing

COMP371 COMPUTER GRAPHICS

Programmable Shaders for Deformation Rendering

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

Multiresolution Radiosity Caching for Global Illumination in Movies

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

UC Davis UC Davis Previously Published Works

How to Work on Next Gen Effects Now: Bridging DX10 and DX9. Guennadi Riguer ATI Technologies

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

GPU Task-Parallelism: Primitives and Applications. Stanley Tzeng, Anjul Patney, John D. Owens University of California at Davis

Chapter 9. GPU Production Animation Larry Gritz

There are many kinds of surface shaders, from those that affect basic surface color, to ones that apply bitmap textures and displacement.

GPU-Accelerated High-Quality Hidden Surface Removal

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Ray Casting of Trimmed NURBS Surfaces on the GPU

Point based Rendering

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

CS-184: Computer Graphics. Administrative

Real-Time Hair Rendering on the GPU NVIDIA

The Need for Programmability

Massive Model Visualization using Real-time Ray Tracing

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

Ray tracing. EECS 487 March 19,

Me Again! Peter Chapman. if it s important / time-sensitive

Parallel Programming for Graphics

Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces

Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Bringing Hollywood to Real Time. Abe Wiley 3D Artist 3-D Application Research Group

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

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

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

COMP 175: Computer Graphics April 11, 2018

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

TSBK03 Screen-Space Ambient Occlusion

Intro to Ray-Tracing & Ray-Surface Acceleration

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

PowerVR Hardware. Architecture Overview for Developers

Computer Graphics Introduction. Taku Komura

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

Transcription:

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

This talk Parallel Computing for Graphics: In Action What does it take to write a programmable pipeline? Many questions Some answers We will focus on the Reyes pipeline

Graphics on parallel devices Over the years Increasing performance Increasing programmability How is that useful for real-time graphics? Improve existing pipeline Redesign the pipeline

Redesign the pipeline An Exploration May not be the answer for everyone My Goals Interactive performance High visual quality How should I choose a pipeline?

My real-time pipeline An improvement in real-time rendering Build around shading Remove existing rendering artifacts Desired features High-quality anti-aliasing Realistic motion-blur, depth-of-field, volume effects Global Illumination Order-independent transparency

Reyes Introduced 1987 Photorealistic rendering Smooth surfaces Complex shading, lighting Depth of field, motion blur Order-independent blending Designed for offline use But favors SIMD Image courtesy: Pixar

Real-Time Reyes Input Geometry Shading Sampling Composition Final pixels

Step 1: Geometry Convert input surfaces to micropolygons Input Geometry Shading Sampling Composition Final pixels

Step 2: Shading Input Decide colors for grid micropolygons Geometry Shading Sampling Composition Final pixels

Step 3: Sampling Input Geometry Shading Collect stochastic samples of micropolygons Sampling Composition Final pixels

Step 4: Image Composition Input Geometry Shading Blend samples to get colors Combine colors to get pixels Sampling Composition Final pixels

Step 1: Geometry Convert input surfaces to micropolygons Input Geometry Shading Sampling Composition Final pixels

Input Higher-order surfaces Bézier surfaces NURBS Subdivision surfaces Displacement-mapped Animated Hand image courtesy: Tamy Boubekeur, Christophe Schlick

Task Split and Dice Adaptively subdivide the input surface Tessellate when small enough Rinse and repeat

Challenges Recursive, irregular computation Bad for parallelism, SIMD Too many micropolygons Limited memory

Ideas Breadth-first Traversal Bucket Rendering

Works in real-time! Killeroo: 11532 Patches Split and dice in 9.8 ms 29.69 fps at 512 x 512 Parametric surfaces only Subdivision cracks Patney and Owens, 2008 Killeroo Model Courtesy Headus Inc.

Geometry Output Unshaded Grids 1 Grid Micropolygons

Step 2: Shading Input Decide colors for grid micropolygons Geometry Shading Sampling Composition Final pixels

Task Run shader(s) for each grid Displacement Surface Light Volume Imager Good behavior Highly parallel, SIMD friendly Good locality behavior Image courtesy: Saty Raghavachary

Challenges Massively parallel is great But is it good enough? Shaders can be complex Too many instructions, conditionals Global illumination File I/O Arbitrary texture fetches

Ideas Cache redundant computation Across a grid Across frames Architectural support Virtual memory

Interactive Relighting Lpics [Pellacini 2005] Cache image-space samples Interactive feedback Manual pre-processing Lightspeed [Ragan-Kelley 2007] Shader caching Interactive preview Slow pre-processing Images belong to respective paper authors

Output Shaded Grids

Bust: Many micropolygons

Step 3: Sampling Input Geometry Shading Collect stochastic samples of micropolygons Sampling Composition Final pixels

Task

Samples 1 2 3 4 5

Challenges Generate samples Jittered grid Parallel Poisson sampling [Wei 2008] For each sample, find all intersecting micropolygons Raycast or Rasterize? Output: A (depth-sorted?) list of samples

Step 4: Image Composition Input Geometry Shading Blend samples to get colors Combine colors to get pixels Sampling Composition Final pixels

Task 1: Blend 1 2 3 4 5

Task 2: Filter to get pixel colors

Challenges Represent the irregular work-list Traditionally: linked-list per sample (arbitrary size) Sort and Reduce Unequal work-items Generate and apply filter kernels Box Gaussian

Stencil-Routed A-buffer Myers and Bavoil, NVIDIA, 2007

Summary: What is easy? Can be parallelized well Highly Parallel, SIMD friendly Good locality behavior Parallel Poisson Sampling Input Geometry Shading Sampling Composition Final pixels

Summary: What is hard? Subdivision Surfaces, cracks Long shaders File I/O, arbitrary textures Raycast or Rasterize? Sort and reduce irregular worklists Input Geometry Shading Sampling Composition Final pixels

Conclusion Reyes is promising for real-time Enables natural high-quality rendering Portions map well to current hardware But there are challenges Everything isn t easy to implement Architecture limitations Lots of interesting questions

Thanks to Course organizers Prof. John Owens, Shubho Sengupta Tim Foley Per Christensen Matt Pharr

`

Realistic Effects using Reyes Motion-blur A stochastic time for each sample Move micropolygons accordingly Depth-of-field A stochastic lens position for each sample Render micropolygons accordingly Take many samples to ensure quality Adjust screen bound during subdivision

Global Illumination with Reyes Traditional: shadow maps, environment maps Raytracing [Christensen et al. 2006] Multi-level geometry cache Ray-differentials to select appropriate resolution Effects taken care of Shadows and reflections Ambient Occlusion

My version of the world - today Many SIMD Cores (16-32) Program Precious memory bandwidth Memory Data-parallel (SPMD)

My version of the world - tomorrow More cores, still SIMD (8-16) Program Program Program Program Memory bandwidth still precious But flexible access behavior Data-Parallel and Task-Parallel Cache? Memory