7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH 2010

Size: px
Start display at page:

Download "7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH 2010"

Transcription

1 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

2 Looking Back, Looking Forward, Why and How is Interactive Rendering Changing Mike Houston AMD

3 Welcome to Beyond Programmable Shading! Beyond Programmable Shading Course, ACM SIGGRAPH

4 ISutherland, Sketchpad, 1961 S Russel, Spacewars, 1961 IBM2250, 1965 A quick history 1960 s to 2000s Good reference: Gouraud, RayTracing, Whitted, Odyssey, Magnavox, U Utah, 1968 Pong, Atari, 1972 Hidden surface removal, UU, 1969 E&S, 1968 Intel, 1968 AMD, 1969 Westworld PDG, 1973 Siggraph ACM, 1973 Z, Texture, Catmull, 1974 NYIT, 1974 Apple II, Apple, 1977 Ikonas, 1978 TRON, Disney 3I, MAGI, NYIT, 1980 REYES, Lucas, 1981 Lucas CGD, 1979 SGI, J. Clark, 1982 Wavefront, 1984 Radiosity, Cornell, st MAC wgui, Apple, 1984 ATI, 1985 Pixar, Lucas, 1986 Renderman, Pixar, 1988 Win 3.0 wgui, MS, 1990 OpenGL 1.0, SGI, 1991 Toy Story, Pixar, 1992 Reality Engine, SGI, 1993 Playstation, Sony, s 1970 s 1980 s 1990 s Nintendo 64, N, 1996 Quake, ID, 1996 Voodoo3D, 3Dfx, 1997 TNT2/ GeF256 NV, 1999 ArtX, /29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH Reference:

5 ArtX1, 1 st integrated TL, 2000 ArtX acquired ATI, 2000 NV acquires 3dfx, 2000 VIA acquires S3, 2000 Gamecube N, 2001 Xbox MS, 2001 A quick history since 2000 DX9 MS, 2002 R300 ATI, 2002 LoftR/2Towers, WETA, 2002 R4xx ATI, 2004 NV4x NV, 2004 DOOM3, ID, 2004 Half-Life2, Valve, 2004 Xbox 360, MS, 2005 X3/600, 1 st PCIe ATI, 2004 SLI/Xfire ATI/NV, 2005 Alias sold SGI, 2004 SGI bankrupcy protection, 2005 R6xx, ATI, 2006 R5xx ATI, 2005 G8x, NV, 2006 CUDA, NV, 2007 Vista/DX10, MS, 2006 Wii, N, 2006 PS3, Sony, 2006 ATI acquired AMD, 2006 R670/x35, AMD, 2007 DX 10.1, MS, 2007 R7xx, AMD, 2008 G2xx, NV, 2008 Crysis-WH, Crytek, 2008 OpenGL 3.0, Khronos, 2008 OpenCL 1.0, Khronos, DX11/Win7 MS, 2009 Evergreen, Larrabee AMD, 2009 announcement Intel, 2008 SGI, Purchased, /29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH Reference:

6 Interactive rendering techniques are created using an inseparable mix of data- and task-parallel algorithms and graphics pipelines 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

7 How do users write new interactive 3D rendering algorithms? 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

8 Fixed Function Pipelines (DX7) Writing new rendering algorithms means Tricks with multitexture, stencil buffer, depth buffer, blending Examples Stencil shadow volumes Hidden line removal 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

9 Programmable Shaders (DX8-10) Writing new rendering algorithms means Tricks with stencil buffer, depth buffer, blending Plus: Writing shaders Examples User-defined materials User-defined lights User-defined data structures (built in texture memory) 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

10 Software Graphics: Part I (DX11) Writing new rendering algorithms means Tricks with stencil buffer, depth buffer, blending Plus: Writing shaders Plus: Writing data- and task-parallel algorithms Analyze results of rendering pipeline Synthesize data structures Examples Dynamic summed area table Dynamic quadtree adaptive shadow map Dynamic histogram-analysis shadow map Dynamic ambient occlusion 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

11 Fast Summed-Area Table Generation and its Applications, Hensley et al., Eurographics 2005 Dynamic Ambient Occlusion and Indirect Lighting, Bunnell, GPU Gems II, 2005 Real-Time Approximate Sorting for Self Shadowing and Transparency in Hair Rendering, Sintorn et al., I3D 2008 Resolution Matched Shadow Maps, Lefohn et al., ACM Transactions on Graphics /29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

12 Software Graphics: Part II (DX11+) Writing new rendering algorithms means Tricks with stencil buffer, depth buffer, blending Plus: Writing shaders Plus: Writing data- and task-parallel algorithms Analyze results of rendering pipeline Synthesize data structures Plus: Creating new and extended rendering pipelines Examples Micropolygon rendering Ray tracing pipelines 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

13 OptiX, NVIDIA 2008 RenderAnts: Interactive Reyes Rendering on GPUs, Zhou et al., ACM SIGGRAPH Asia 2009 Hardware-Accelerated Global Illumination by Image Space Photon Mapping, McGuire and Luebke, High Performance Graphics 2009 FreePipe: a Programmable Parallel Rendering Architecture for Efficient Multi-Fragment Effects, Liu et al., ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games /29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

14 Render to Data Structures DX11 PixelShader 5 Atomics to global memory Gather/scatter to memory ( unordered access views Order independent transparency Capture all rendered fragments Render directly to grid-of-lists data structure instead of framebuffer No framebuffer bound while rendering Increment global counter to get unique address for fragment Scatter {depth, color,prevfrag} to UAV shared by all pixels Result is grid of linked lists Sort and blend lists for final image (pixel shader or compute shader) 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

15 Order Independent Transparency 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

16 There is no single graphics pipeline There is no single workload to optimize Moving forward, interactive rendering is an inseparable mix of Task- and data-parallel algorithms Standard, extended and custom graphics pipelines 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

17 But Some Food For Thought 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

18 The Wheel of Reincarnation Gradually the processor became more complex... Finally the display processor came to resemble a full-fledged computer with some special graphics features. And then a strange thing happened. We felt compelled to add to the processor a second, subsidiary processor, which, itself, began to grow in complexity. It was then that we discovered a disturbing truth. Designing a display processor can become a never-ending cyclical process. In fact, we found the process so frustrating that we have come to call it the "wheel of reincarnation. - Myer and Sutherland On The Design of Display Processors, Communications of the ACM, /29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

19 Will There Be Another Turn of The Wheel of Reincarnation? Is the rise of SW graphics a temporary (5-10) year window as we go around the wheel of reincarnation or has the wheel stopped turning? If it has stopped turning, why? If it hasn t stopped turning, what will be the next fixed-function hardware? 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

20 Conclusions Software + hardware graphics is here today (beginning for real in DX11) Graphics programming is no longer simply a single pre-defined pipeline Research is ablaze with software rendering research on GPUs and CPUs Future real-time rendering programming will consist of A pre-defined (Direct3D/OpenGL) rendering pipeline User-defined software pipelines User-defined data- and task-parallel code tightly coupled to graphics pipelines Is the wheel of reincarnation still turning? 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

21 Beyond Programmable Shading I 9:00 9:20 - Mike Houston, AMD Looking Back, Looking Forward, Why and How is Interactive Rendering Changing 9:20 9:45 - Johan Andersson, DICE Five Major Challenges in Interactive Rendering 9:45 10:15 - Kayvon Fatahalian, Stanford Running Code at a Teraflop: How a GPU Shader Core Works 10:15 10:45 - Aaron Lefohn, Intel Parallel Programming for Real-Time Graphics 10:45 11:15 - Chas Boyd, Microsoft DirectCompute Use in Real-Time Rendering Products 11:15 11:45 - David Luebke, NVIDIA Research Surveying Real-Time Beyond Programmable Shading Rendering Algorithms 11:45 12:15 - Johan Andersson, DICE Bending the Graphics Pipeline 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

22 Beyond Programmable Shading II 2:00 2:05 - Aaron Lefohn, Intel Welcome and Re-Introduction 2:05 2:35 - Jonathan Ragan-Kelley, MIT Keeping Many Cores Busy: Scheduling the Graphics Pipeline 2:35 3:10 - Kayvon Fatahalian, Stanford Evolving the Direct3D Pipeline for Real-Time Micropolygon Rendering 3:10 3:30 - Jonathan Ragan-Kelley, MIT Decoupled Sampling for Real-Time Graphics Pipelines 3:30 3:50 - Andrew Lauritzen, Intel Deferred Rendering for Current and Future Rendering Pipelines 3:50 4:15 - Luca Fascione, WETA Jacopo Pantaleoni, NVIDIA Research PantaRay: A Case Study in GPU Ray-Tracing for Movies 4:15 4:30 - Mike Houston, AMD Wrapup: What's Next for Interactive Rendering Research? 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

23 Beyond Programmable Shading II 4:30 5:15 Panel: What Role Will Fixed-Function Hardware Play in Future Graphics Architectures? Moderator: Kurt Akeley Microsoft Research Panelists: Steve Molnar, NVIDIA David Blythe, Intel Mike Houston, AMD Johan Andersson, DICE Kayvon Fatahalian, Stanford 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

24 Course webpage and slides: 7/29/2010 Beyond Programmable Shading Course, ACM SIGGRAPH

Beyond Programmable Shading 2012

Beyond Programmable Shading 2012 Beyond Programmable Shading Course ACM SIGGRAPH 2012 Beyond Programmable Shading 2012 Aaron Lefohn Intel Mike Houston AMD Welcome 5 th consecutive year of Beyond Programmable Shading SIGGRAPH course This

More information

Graphics and Imaging Architectures

Graphics and Imaging Architectures Graphics and Imaging Architectures Kayvon Fatahalian http://www.cs.cmu.edu/afs/cs/academic/class/15869-f11/www/ About Kayvon New faculty, just arrived from Stanford Dissertation: Evolving real-time graphics

More information

Parallel Programming for Graphics

Parallel Programming for Graphics Beyond Programmable Shading Course ACM SIGGRAPH 2010 Parallel Programming for Graphics Aaron Lefohn Advanced Rendering Technology (ART) Intel What s In This Talk? Overview of parallel programming models

More information

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

Fragment-Parallel Composite and Filter. Anjul Patney, Stanley Tzeng, and John D. Owens University of California, Davis Fragment-Parallel Composite and Filter Anjul Patney, Stanley Tzeng, and John D. Owens University of California, Davis Parallelism in Interactive Graphics Well-expressed in hardware as well as APIs Consistently

More information

NVIDIA Case Studies:

NVIDIA Case Studies: NVIDIA Case Studies: OptiX & Image Space Photon Mapping David Luebke NVIDIA Research Beyond Programmable Shading 0 How Far Beyond? The continuum Beyond Programmable Shading Just programmable shading: DX,

More information

A Trip Down The (2011) Rasterization Pipeline

A Trip Down The (2011) Rasterization Pipeline A Trip Down The (2011) Rasterization Pipeline Aaron Lefohn - Intel / University of Washington Mike Houston AMD / Stanford 1 This talk Overview of the real-time rendering pipeline available in ~2011 corresponding

More information

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

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Lecture 2: Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Visual Computing Systems Today Finishing up from last time Brief discussion of graphics workload metrics

More information

Lecturer Athanasios Nikolaidis

Lecturer Athanasios Nikolaidis Lecturer Athanasios Nikolaidis Computer Graphics: Graphics primitives 2D viewing and clipping 2D and 3D transformations Curves and surfaces Rendering and ray tracing Illumination models Shading models

More information

My focus will be on pointing out the patterns rather than explaining individual algorithms

My focus will be on pointing out the patterns rather than explaining individual algorithms 1 2 3 4 My focus will be on pointing out the patterns rather than explaining individual algorithms 5 I added Stochastic Transparency the morning of the SIGGRAPH course because it (a) fits the pattern of

More information

GPU Architecture and Function. Michael Foster and Ian Frasch

GPU Architecture and Function. Michael Foster and Ian Frasch GPU Architecture and Function Michael Foster and Ian Frasch Overview What is a GPU? How is a GPU different from a CPU? The graphics pipeline History of the GPU GPU architecture Optimizations GPU performance

More information

Overview. Computer Graphics CS324. OpenGL. Books. Learning Resources. CS131 Notes. 30 Lectures 3hr Exam

Overview. Computer Graphics CS324. OpenGL. Books. Learning Resources. CS131 Notes. 30 Lectures 3hr Exam Computer Graphics CS324 Dr Abhir Bhalerao Department of Computer Science University of Warwick Coventry CV4 7AL TJA 1999-2003, AHB 2004+ 30 Lectures 3hr Exam Overview Recommended books: Hearn and Baker,

More information

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Panel: Fixed-Function Hardware

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Panel: Fixed-Function Hardware Beyond Programmable Shading Course ACM SIGGRAPH 2010 Panel: Fixed-Function Hardware What role will it play in future graphics architectures? Fixed-Function Hardware GPU programmers love to hate it Its

More information

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

A Real-time Micropolygon Rendering Pipeline. Kayvon Fatahalian Stanford University A Real-time Micropolygon Rendering Pipeline Kayvon Fatahalian Stanford University Detailed surfaces Credit: DreamWorks Pictures, Shrek 2 (2004) Credit: Pixar Animation Studios, Toy Story 2 (1999) Credit:

More information

GPU Architecture. Michael Doggett Department of Computer Science Lund university

GPU Architecture. Michael Doggett Department of Computer Science Lund university GPU Architecture Michael Doggett Department of Computer Science Lund university GPUs from my time at ATI R200 Xbox360 GPU R630 R610 R770 Let s start at the beginning... Graphics Hardware before GPUs 1970s

More information

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

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Lecture 2: Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Visual Computing Systems Analyzing a 3D Graphics Workload Where is most of the work done? Memory Vertex

More information

Real-Time Reyes Programmable Pipelines and Research Challenges

Real-Time Reyes Programmable Pipelines and Research Challenges 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

More information

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1 Markus Hadwiger, KAUST Reading Assignment #4 (until Feb. 23) Read (required): Programming Massively Parallel Processors book, Chapter

More information

GPU Memory Model. Adapted from:

GPU Memory Model. Adapted from: GPU Memory Model Adapted from: Aaron Lefohn University of California, Davis With updates from slides by Suresh Venkatasubramanian, University of Pennsylvania Updates performed by Gary J. Katz, University

More information

Introduction to Parallel Programming For Real-Time Graphics (CPU + GPU)

Introduction to Parallel Programming For Real-Time Graphics (CPU + GPU) Introduction to Parallel Programming For Real-Time Graphics (CPU + GPU) Aaron Lefohn, Intel / University of Washington Mike Houston, AMD / Stanford 1 What s In This Talk? Overview of parallel programming

More information

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes Last Time? Programmable GPUS Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes frame buffer depth buffer stencil buffer Stencil Buffer Homework 4 Reading for Create some geometry "Rendering

More information

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

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1 Real-Time Shadows Computer Graphics MIT EECS 6.837 Durand 1 Why are Shadows Important? Depth cue Scene Lighting Realism Contact points 2 Shadows as a Depth Cue source unknown. All rights reserved. This

More information

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation

More information

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

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis Real-Time Reyes: Programmable Pipelines and Research Challenges Anjul Patney University of California, Davis Real-Time Reyes-Style Adaptive Surface Subdivision Anjul Patney and John D. Owens SIGGRAPH Asia

More information

Instructor. Goals. Image Synthesis Examples. Applications. Foundations of Computer Graphics. Why Study 3D Computer Graphics?

Instructor. Goals. Image Synthesis Examples. Applications. Foundations of Computer Graphics. Why Study 3D Computer Graphics? Foundations of Computer Graphics Motivation: Why do we study 3D Graphics? http://www.cs.berkeley.edu/~ravir Instructor http://www.cs.berkeley.edu/~ravir PhD Stanford, 2002. PhD thesis developed Spherical

More information

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation Dynamic Ambient Occlusion and Indirect Lighting Michael Bunnell NVIDIA Corporation Environment Lighting Environment Map + Ambient Occlusion + Indirect Lighting New Radiance Transfer Algorithm Useful for

More information

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

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/ DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/2013-11-04 DEFERRED RENDERING? CONTENTS 1. The traditional approach: Forward rendering 2. Deferred rendering (DR) overview 3. Example uses of DR:

More information

Development of Computer Graphics. mid 1950s SAGE air defense system command & control CRT, light pens

Development of Computer Graphics. mid 1950s SAGE air defense system command & control CRT, light pens 1951 Whirlwind, Jay Forrester (MIT) CRT displays mid 1950s SAGE air defense system command & control CRT, light pens late 1950s Computer Art, James Whitney Sr. Visual Feedback loops 1962 Sketchpad, Ivan

More information

CS427 Multicore Architecture and Parallel Computing

CS427 Multicore Architecture and Parallel Computing CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:

More information

Development of Computer Graphics

Development of Computer Graphics 1951 Whirlwind, Jay Forrester (MIT) CRT displays mid 1950s SAGE air defense system command & control CRT, light pens late 1950s Computer Art, James Whitney Sr. Visual Feedback loops 1962 Sketchpad, Ivan

More information

CONSOLE ARCHITECTURE

CONSOLE ARCHITECTURE CONSOLE ARCHITECTURE Introduction Part 1 What is a console? Console components Differences between consoles and PCs Benefits of console development The development environment Console game design What

More information

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

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable

More information

frame buffer depth buffer stencil buffer

frame buffer depth buffer stencil buffer Final Project Proposals Programmable GPUS You should all have received an email with feedback Just about everyone was told: Test cases weren t detailed enough Project was possibly too big Motivation could

More information

GPU-Based Volume Rendering of. Unstructured Grids. João L. D. Comba. Fábio F. Bernardon UFRGS

GPU-Based Volume Rendering of. Unstructured Grids. João L. D. Comba. Fábio F. Bernardon UFRGS GPU-Based Volume Rendering of João L. D. Comba Cláudio T. Silva Steven P. Callahan Unstructured Grids UFRGS University of Utah University of Utah Fábio F. Bernardon UFRGS Natal - RN - Brazil XVIII Brazilian

More information

Beyond Programmable Shading Keeping Many Cores Busy: Scheduling the Graphics Pipeline

Beyond Programmable Shading Keeping Many Cores Busy: Scheduling the Graphics Pipeline Keeping Many s Busy: Scheduling the Graphics Pipeline Jonathan Ragan-Kelley, MIT CSAIL 29 July 2010 This talk How to think about scheduling GPU-style pipelines Four constraints which drive scheduling decisions

More information

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

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university Graphics Architectures and OpenCL Michael Doggett Department of Computer Science Lund university Overview Parallelism Radeon 5870 Tiled Graphics Architectures Important when Memory and Bandwidth limited

More information

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline Johan Andersson DICE Overview Give a taste of a few rendering techniques we are using & experimenting with how they interact,

More information

Beyond Programmable Shading Course, ACM SIGGRAPH 2011

Beyond Programmable Shading Course, ACM SIGGRAPH 2011 1/66 Road to Real-Time Order-Independent Transparency Marco Salvi 2/66 Talk Outline Motivation Compositing Equation Recursive Solvers Visibility Based Solvers State of the Art and Future Work Q&A 3/66

More information

CS380: Introduction to Computer Graphics Introduction to OpenGLSL. Min H. Kim KAIST School of Computing. [CS380] Introduction to Computer Graphics

CS380: Introduction to Computer Graphics Introduction to OpenGLSL. Min H. Kim KAIST School of Computing. [CS380] Introduction to Computer Graphics CS380: Introduction to Computer Graphics Introduction to OpenGLSL Min H. Kim KAIST School of Computing Welcome [CS380] Introduction to Computer Graphics Professor: Min H. Kim ( 김민혁 ) (minhkim@vclab.kaist.ac.kr)

More information

Lecture 12: Advanced Rendering

Lecture 12: Advanced Rendering Lecture 12: Advanced Rendering CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA November 30, 2010 Limitations of OpenGL Pipeline Rendering Good Fast, real-time graphics rendering.

More information

GRAPHICS HARDWARE. Niels Joubert, 4th August 2010, CS147

GRAPHICS HARDWARE. Niels Joubert, 4th August 2010, CS147 GRAPHICS HARDWARE Niels Joubert, 4th August 2010, CS147 Rendering Latest GPGPU Today Enabling Real Time Graphics Pipeline History Architecture Programming RENDERING PIPELINE Real-Time Graphics Vertices

More information

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

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing Today Rendering Algorithms Course overview Organization Introduction to ray tracing Spring 2009 Matthias Zwicker Universität Bern Rendering algorithms Problem statement Given computer representation of

More information

CS354R: Computer Game Technology

CS354R: Computer Game Technology CS354R: Computer Game Technology Real-Time Global Illumination Fall 2018 Global Illumination Mirror s Edge (2008) 2 What is Global Illumination? Scene recreates feel of physically-based lighting models

More information

Irradiance Caching in Pixar s RenderMan

Irradiance Caching in Pixar s RenderMan Practical Global Illumination With Irradiance Caching (SIGGRAPH 2008 Class) Irradiance Caching in Pixar s RenderMan Pixar Animation Studios Overview Irradiance caching in Pixar s RenderMan: simpler than

More information

HIGH-QUALITY RASTERIZATION CHRIS WYMAN SENIOR RESEARCH SCIENTIST, NVIDIA

HIGH-QUALITY RASTERIZATION CHRIS WYMAN SENIOR RESEARCH SCIENTIST, NVIDIA HIGH-QUALITY RASTERIZATION CHRIS WYMAN SENIOR RESEARCH SCIENTIST, NVIDIA NEW RASTER METHODS USING MAXWELL Accumulative Anti-Aliasing (ACAA) A simple improvement on forward MSAA using less memory and bandwidth

More information

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

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y. COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering

More information

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center 3D Computer Games Technology and History VRVis Research Center Lecture Outline Overview of the last ten years A look at seminal 3D computer games Most important techniques employed Graphics research and

More information

AGGREGATE G-BUFFER ANTI-ALIASING

AGGREGATE G-BUFFER ANTI-ALIASING AGGREGATE G-BUFFER ANTI-ALIASING Cyril Crassin 1, Morgan McGuire 1,2, Kayvon Fatahalian 3, Aaron Lefohn 1 1 NVIDIA 2 Williams College 3 Carnegie Mellon University Motivation Pixel The Mummy [ Universal

More information

Advanced Shading and Texturing

Advanced Shading and Texturing Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Advanced Shading and Texturing 1 Topics Features Bump mapping Environment mapping Shadow

More information

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary Cornell University CS 569: Interactive Computer Graphics Introduction Lecture 1 [John C. Stone, UIUC] 2008 Steve Marschner 1 2008 Steve Marschner 2 NASA University of Calgary 2008 Steve Marschner 3 2008

More information

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila Agenda Introduction Motivation Basics PantaRay Accelerating structure generation Massively parallel

More information

Ray Tracing. Kjetil Babington

Ray Tracing. Kjetil Babington Ray Tracing Kjetil Babington 21.10.2011 1 Introduction What is Ray Tracing? Act of tracing a ray through some scene Not necessarily for rendering Rendering with Ray Tracing Ray Tracing is a global illumination

More information

The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering. Bill Mark and Kekoa Proudfoot. Stanford University

The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering. Bill Mark and Kekoa Proudfoot. Stanford University The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering Bill Mark and Kekoa Proudfoot Stanford University http://graphics.stanford.edu/projects/shading/ Motivation for this work Two goals

More information

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

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011) Lecture 13: Reyes Architecture and Implementation Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) A gallery of images rendered using Reyes Image credit: Lucasfilm (Adventures

More information

Real-Time Realism will require...

Real-Time Realism will require... Real-Time Realism will require... Tomas Akenine-Möller Lund University and Intel Corporation Panel at High-Performance Graphics 2010 2010-06-27 1 Contents Talk about differences/similarities between ray

More information

EECS 487: Interactive Computer Graphics

EECS 487: Interactive Computer Graphics EECS 487: Interactive Computer Graphics Lecture 21: Overview of Low-level Graphics API Metal, Direct3D 12, Vulkan Console Games Why do games look and perform so much better on consoles than on PCs with

More information

Introduction to Computer Graphics. Overview. What is Computer Graphics?

Introduction to Computer Graphics. Overview. What is Computer Graphics? INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Introduction to Computer Graphics David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E. Angel Graphics 1 L Overview What

More information

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee

More information

Scanline Rendering 2 1/42

Scanline Rendering 2 1/42 Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms

More information

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics Why GPU? Chapter 1 Graphics Hardware Graphics Processing Unit (GPU) is a Subsidiary hardware With massively multi-threaded many-core Dedicated to 2D and 3D graphics Special purpose low functionality, high

More information

Introduction to Computer Graphics

Introduction to Computer Graphics CMPT-361 Introduction to Computer Graphics Tuesday 12:30-2:20 Thursday 12:30-1:20 AQ4150 & AQ4130 Instructor: TA: Dr. Kori Inkpen Office: ASB9997 Phone: 268-6605 Email: inkpen@cs.sfu.ca Office Hours: Tuesday

More information

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

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing Today Rendering Algorithms Course overview Organization Introduction to ray tracing Spring 2010 Matthias Zwicker Universität Bern Rendering algorithms Problem statement Given computer representation of

More information

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

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology CS8803SC Software and Hardware Cooperative Computing GPGPU Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology Why GPU? A quiet revolution and potential build-up Calculation: 367

More information

GPGPU: Beyond Graphics. Mark Harris, NVIDIA

GPGPU: Beyond Graphics. Mark Harris, NVIDIA GPGPU: Beyond Graphics Mark Harris, NVIDIA What is GPGPU? General-Purpose Computation on GPUs GPU designed as a special-purpose coprocessor Useful as a general-purpose coprocessor The GPU is no longer

More information

GPU Architecture. Robert Strzodka (MPII), Dominik Göddeke G. TUDo), Dominik Behr (AMD)

GPU Architecture. Robert Strzodka (MPII), Dominik Göddeke G. TUDo), Dominik Behr (AMD) GPU Architecture Robert Strzodka (MPII), Dominik Göddeke G (TUDo( TUDo), Dominik Behr (AMD) Conference on Parallel Processing and Applied Mathematics Wroclaw, Poland, September 13-16, 16, 2009 www.gpgpu.org/ppam2009

More information

General-Purpose Computation on Graphics Hardware

General-Purpose Computation on Graphics Hardware General-Purpose Computation on Graphics Hardware Welcome & Overview David Luebke NVIDIA Introduction The GPU on commodity video cards has evolved into an extremely flexible and powerful processor Programmability

More information

From Shader Code to a Teraflop: How GPU Shader Cores Work. Jonathan Ragan- Kelley (Slides by Kayvon Fatahalian)

From Shader Code to a Teraflop: How GPU Shader Cores Work. Jonathan Ragan- Kelley (Slides by Kayvon Fatahalian) From Shader Code to a Teraflop: How GPU Shader Cores Work Jonathan Ragan- Kelley (Slides by Kayvon Fatahalian) 1 This talk Three major ideas that make GPU processing cores run fast Closer look at real

More information

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Computer Graphics 1. Graphics Systems National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice Hall Ref: E.Angel, Interactive

More information

Why modern versions of OpenGL should be used Some useful API commands and extensions

Why modern versions of OpenGL should be used Some useful API commands and extensions Michał Radziszewski Why modern versions of OpenGL should be used Some useful API commands and extensions Timer Query EXT Direct State Access (DSA) Geometry Programs Position in pipeline Rendering wireframe

More information

Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.

Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia. Shadows Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.com Practical & Robust Stenciled Shadow Volumes for Hardware-Accelerated

More information

Comparing Reyes and OpenGL on a Stream Architecture

Comparing Reyes and OpenGL on a Stream Architecture Comparing Reyes and OpenGL on a Stream Architecture John D. Owens Brucek Khailany Brian Towles William J. Dally Computer Systems Laboratory Stanford University Motivation Frame from Quake III Arena id

More information

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

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences Hardware Accelerated Volume Visualization Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences A Real-Time VR System Real-Time: 25-30 frames per second 4D visualization: real time input of

More information

Scheduling the Graphics Pipeline on a GPU

Scheduling the Graphics Pipeline on a GPU Lecture 20: Scheduling the Graphics Pipeline on a GPU Visual Computing Systems Today Real-time 3D graphics workload metrics Scheduling the graphics pipeline on a modern GPU Quick aside: tessellation Triangle

More information

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

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller Entertainment Graphics: Virtual Realism for the Masses CSE 591: GPU Programming Introduction Computer games need to have: realistic appearance of characters and objects believable and creative shading,

More information

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3)

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3) Computer Graphics (Fall 2008) COMS 4160, Lecture 1: Overview and History Ravi Ramamoorthi http://www.cs.columbia.edu/~cs4160 Goals Systems: Be able to write complex 3D graphics programs (real-time in OpenGL,

More information

Current Trends in Computer Graphics Hardware

Current Trends in Computer Graphics Hardware Current Trends in Computer Graphics Hardware Dirk Reiners University of Louisiana Lafayette, LA Quick Introduction Assistant Professor in Computer Science at University of Louisiana, Lafayette (since 2006)

More information

General Algorithm Primitives

General Algorithm Primitives General Algorithm Primitives Department of Electrical and Computer Engineering Institute for Data Analysis and Visualization University of California, Davis Topics Two fundamental algorithms! Sorting Sorting

More information

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal Graphics Hardware, Graphics APIs, and Computation on GPUs Mark Segal Overview Graphics Pipeline Graphics Hardware Graphics APIs ATI s low-level interface for computation on GPUs 2 Graphics Hardware High

More information

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1 Architectures Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1 Overview of today s lecture The idea is to cover some of the existing graphics

More information

What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. * slides thanks to Kavita Bala & many others

What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. * slides thanks to Kavita Bala & many others What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University * slides thanks to Kavita Bala & many others Final Project Demo Sign-Up: Will be posted outside my office after lecture today.

More information

CS482: Interactive Computer Graphics

CS482: Interactive Computer Graphics CS482: Interactive Computer Graphics Min H. Kim KAIST School of Computing Welcome [CS482] Interactive Computer Graphics (Lecture) Tuesday and Thursday 10:30AM 11:45AM, Rm. 114, N-1, KAIST (Lab) Wednesday

More information

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world

More information

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

More information

Efficient and Scalable Shading for Many Lights

Efficient and Scalable Shading for Many Lights Efficient and Scalable Shading for Many Lights 1. GPU Overview 2. Shading recap 3. Forward Shading 4. Deferred Shading 5. Tiled Deferred Shading 6. And more! First GPU Shaders Unified Shaders CUDA OpenCL

More information

Further Developing GRAMPS. Jeremy Sugerman FLASHG January 27, 2009

Further Developing GRAMPS. Jeremy Sugerman FLASHG January 27, 2009 Further Developing GRAMPS Jeremy Sugerman FLASHG January 27, 2009 Introduction Evaluation of what/where GRAMPS is today Planned next steps New graphs: MapReduce and Cloth Sim Speculative potpourri, outside

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics Processing Unit Architecture (GPU Arch) Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics

More information

Constant-Memory Order-Independent Transparency Techniques

Constant-Memory Order-Independent Transparency Techniques Constant-Memory Order-Independent Transparency Techniques Louis Bavoil lbavoil@nvidia.com Eric Enderton eenderton@nvidia.com Document Change History Version Date Responsible Reason for Change 1 March 14,

More information

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 CS450/550 Pipeline Architecture Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 0 Objectives Learn the basic components of a graphics system Introduce the OpenGL pipeline

More information

OVERVIEW COURSE FOR STUDENTS OF MANAGEMENT COMPUTER GRAPHICS

OVERVIEW COURSE FOR STUDENTS OF MANAGEMENT COMPUTER GRAPHICS OVERVIEW COURSE FOR STUDENTS OF MANAGEMENT COMPUTER GRAPHICS WHO IS WHO: ME MATEJ NOVOTNÝ FMFI UK (i-4) mnovotny@sccg.sk www.sccg.sk/~mnovotny COMPUTER GRAPHICS AT FMPH COMPUTER GAMES DEVELOPED BY OUR

More information

Mention driver developers in the room. Because of time this will be fairly high level, feel free to come talk to us afterwards

Mention driver developers in the room. Because of time this will be fairly high level, feel free to come talk to us afterwards 1 Introduce Mark, Michael Poll: Who is a software developer or works for a software company? Who s in management? Who knows what the OpenGL ARB standards body is? Mention driver developers in the room.

More information

3D buzzwords. Adding programmability to the pipeline 6/7/16. Bandwidth Gravity of modern computer systems

3D buzzwords. Adding programmability to the pipeline 6/7/16. Bandwidth Gravity of modern computer systems Bandwidth Gravity of modern computer systems GPUs Under the Hood Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology The bandwidth between key components

More information

Dave Shreiner, ARM March 2009

Dave Shreiner, ARM March 2009 4 th Annual Dave Shreiner, ARM March 2009 Copyright Khronos Group, 2009 - Page 1 Motivation - What s OpenGL ES, and what can it do for me? Overview - Lingo decoder - Overview of the OpenGL ES Pipeline

More information

Tutorial on GPU Programming. Joong-Youn Lee Supercomputing Center, KISTI

Tutorial on GPU Programming. Joong-Youn Lee Supercomputing Center, KISTI Tutorial on GPU Programming Joong-Youn Lee Supercomputing Center, KISTI GPU? Graphics Processing Unit Microprocessor that has been designed specifically for the processing of 3D graphics High Performance

More information

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013 Lecture 9: Deferred Shading Visual Computing Systems The course so far The real-time graphics pipeline abstraction Principle graphics abstractions Algorithms and modern high performance implementations

More information

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

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

More information

NVIDIA Parallel Nsight. Jeff Kiel

NVIDIA Parallel Nsight. Jeff Kiel NVIDIA Parallel Nsight Jeff Kiel Agenda: NVIDIA Parallel Nsight Programmable GPU Development Presenting Parallel Nsight Demo Questions/Feedback Programmable GPU Development More programmability = more

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) Introduction to Computer Graphics and OpenGL Graphics Hardware Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/etri_cg/ Class Objectives Understand how GPUs have been evolved Understand

More information

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

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura Computer Graphics Lecture 13 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local

More information

Pat Hanrahan. Modern Graphics Pipeline. How Powerful are GPUs? Application. Command. Geometry. Rasterization. Fragment. Display.

Pat Hanrahan. Modern Graphics Pipeline. How Powerful are GPUs? Application. Command. Geometry. Rasterization. Fragment. Display. How Powerful are GPUs? Pat Hanrahan Computer Science Department Stanford University Computer Forum 2007 Modern Graphics Pipeline Application Command Geometry Rasterization Texture Fragment Display Page

More information

REYES REYES REYES. Goals of REYES. REYES Design Principles

REYES REYES REYES. Goals of REYES. REYES Design Principles You might be surprised to know that most frames of all Pixar s films and shorts do not use a global illumination model for rendering! Instead, they use Renders Everything You Ever Saw Developed by Pixar

More information