Computer Graphics on a Stream Architecture

Total Page:16

File Type:pdf, Size:1020Kb

Computer Graphics on a Stream Architecture COMPUTER GRAPHICS ON A STREAM ARCHITECTURE A DISSERTATION SUBMITTED TO THE DEPARTMENT OF DEPARTMENT OF ELECTRICAL ENGINEERING AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY John Douglas Owens November 2002 c Copyright by John Douglas Owens 2003 All Rights Reserved ii I certify that I have read this dissertation and that, in my opin- ion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. William J. Dally (Principal Adviser) I certify that I have read this dissertation and that, in my opin- ion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Patrick Hanrahan I certify that I have read this dissertation and that, in my opin- ion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Matthew Regan Approved for the University Committee on Graduate Stud- ies: iii Abstract Media applications, such as signal processing, image and video processing, and graphics, are an increasing and important part of the way people use computers today. However, modern microprocessors cannot provide the performance necessary to meet the demands of these media applications, and special purpose processors lack the flexibility and pro- grammability necessary to address the wide variety of media applications. For the proces- sors of the future, we must design and implement architectures and programming models that meet the performance and flexibility requirements of these applications. Streams are a powerful programming abstraction suitable for efficiently implement- ing complex and high-performance media applications. This dissertation focuses on the design, implementation, and analysis of a computer graphics pipeline on a stream architec- ture using the stream programming model. Rendering on a stream architecture can sustain high performance on stream hardware while maintaining the programmability necessary to implement complex and varied programmable graphics tasks. We demonstrate a complete implementation of an OpenGL-like pipeline in the stream programming model, and that the algorithms developed for this implementation are both well-suited for the stream programming model and make efficient and high-performance use of stream hardware. We identify and discuss aspects of our system that impact its performance, including triangle size, rasterization algorithm, batch size, and short stream effects, and discuss the implications of programmability in the pipeline. We demonstrate and analyze the scalability of the algorithms and the implementation in order to anticipate performance on future generations of stream processors. And finally, we describe, imple- ment, and analyze a second rendering pipeline, the Reyes pipeline, and compare it to our OpenGL pipeline in order to show the flexibility of the programming model and to explore alternative directions for future stream-based rendering pipelines. iv Foreword Rendering of photorealistic scenes from geometric models is a pervasive and demanding application. Over a hundred times more arithmetic operations are performed in the graphics processor of a modern PC than in its CPU. As powerful as modern graphics processors are, their flexibility is limited. They perform a fixed function pipeline with just one or two programmable stages. Rendering tasks that fit within this pipeline they perform with blinding speed; rendering tasks that don’t conform to the fixed pipeline cannot be handled at all. In this pioneering work, John Owens shows how a programmable stream processor can achieve performance comparable to modern fixed-function graphics processors while hav- ing the flexibility to support arbitrary rendering tasks. John demonstrates the performance and flexibility of stream-based rendering by implementing diverse rendering pipelines: an OpenGL pipeline that renders polygons and a Reyes pipeline that uses subdivision surfaces on the Imagine stream processor. He also demonstrates flexibility by compiling several shaders, described in a programmable shading language, to execute on a stream processor. The techniques John demonstrates go far beyond the capabilities of contemporary graphics hardware and show that programmable hardware can smoothly tradeoff frame rate against rendering features. A number of novel methods were developed during the implementation of these render- ing pipelines. The use of barycentric rasterization was employed to reduce the burden of carrying large numbers of interpolants through the rasterization process. A novel load bal- ancing mechanism using conditional streams was developed to maintain high duty factor in the presence of unequal-sized triangles. Also, a compositor based on hashing and sorting was developed to ensure in-order semantics when triangles are rendered out-of-order. v John deeply analyzes the pipelines he has developed shedding considerable insight onto the behavior of streaming graphics and of stream processing in general. He looks at issues such as short-stream effects to show how performance is gained and lost in a typical stream pipeline. He also looks beyond the Imagine processor to study how well these pipelines would work as stream processors are scaled or are augmented with special-purpose units— such as a rasterizer or texture cache. Contemporary graphics processors have already adopted some of the technology of stream processors. They incorporate programmable vertex and fragment shading stages that are in effect small stream processors embedded in a fixed-function pipeline. As time goes on, one can imagine more pipeline stages becoming programmable until commercial graphics processors become general purpose stream processors capable of performing a wide range of intensive streaming computations. William J. Dally Stanford, California vi Acknowledgements I have had the privilege and pleasure to work with incredibly talented and motivated col- leagues during my time at Stanford. The success of the Imagine project is the direct result of the dedication and hard work of the graduate students who worked on it. I would partic- ularly like to acknowledge those with whom I’ve collaborated most closely—Ujval Kapasi, Brucek Khailany, Peter Mattson, Scott Rixner, and Brian Towles—for their creativity and effort over the past five years. More recently, Jung Ho Ahn, Abhishek Das, and Ben Sere- brin have been instrumental in bringing up the Imagine system, and I know the project will be left in good hands with them. In addition to my colleagues in the Imagine group, the talented graduate students in both the Concurrent VLSI Architecture Group and the Computer Graphics Laboratory helped guide this work through formal talks and informal conversations as well as made my time at Stanford full of intellectual challenge and stimulation. It has been an honor and a priv- ilege to have been part of two such outstanding research groups with their overwhelming excitement and energy. Working with Kekoa Proudfoot and Bill Mark on the shading language backend to their Real-Time Shading Language was also a treat. Their system was incredibly well designed and I appreciate their time in helping me integrate my changes and additions into it. Kekoa also wrote the first draft of Section 4.1. The first version of the OpenGL pipeline described in Chapter 4 was published as joint work with Bill Dally, Ujval Kapasi, Peter Mattson, Scott Rixner, and Ben Mowery. Brucek Khailany and Brian Towles did the initial work on the Reyes pipeline of Chapter 8 as part of a class project, and our resulting paper on that pipeline was also coauthored with Bill Dally with substantial input from Pat Hanrahan. Kekoa Proudfoot and Matthew Eldridge vii aided in acquiring the commercial hardware and software comparisons in Section 5.2. Jung Ho Ahn helped get the texture cache results in Section 6.5 and Ujval Kapasi aided with the single-cluster comparison of Section 5.2.4 and the integration of the hardware rasterizer of Section 6.6. Finally, David Ebert provided the marble shader used in the MARBLE scene, described in Section 5.1. The ideas and results in this dissertation have been influenced by the candid comments and criticisms of a large number of people besides those named above. Thanks to Kurt Akeley, Russ Brown, Matthew Eldridge, Henry Moreton, Matt Papakipos, Matt Pharr, and the Flash Graphics Group for many productive conversations. Previous to Imagine, I enjoyed working on (and learned how to do research in!) the Lightning project with Matthew Eldridge under the capable direction of Pat Hanrahan. Gordon Stoll and Homan Igehy also worked in the Flash Graphics group and were helpful resources as I began my research career. Other senior graduate students who provided guidance for me both before and after I arrived at Stanford were John Chapin, David Heine, Mark Heinrich, Robert Jones, Jeff Kuskin, Phil Lacroute, and Dave Ofelt. My advisor, Bill Dally, has ably led the Imagine project and has provided valuable guid- ance as I have progressed through my graduate studies. Working for Bill put this graduate student in overdrive—he properly demands much from his students. I have appreciated Bill’s intelligence, his experience, and his honesty and ability to take criticism during our conversations, as well as his leadership in fearless descents of too-steep ski slopes and his more general desire to work hard and play hard with his graduate students. Pat Hanrahan was my advisor when I started
Recommended publications
  • An Advanced Path Tracing Architecture for Movie Rendering
    RenderMan: An Advanced Path Tracing Architecture for Movie Rendering PER CHRISTENSEN, JULIAN FONG, JONATHAN SHADE, WAYNE WOOTEN, BRENDEN SCHUBERT, ANDREW KENSLER, STEPHEN FRIEDMAN, CHARLIE KILPATRICK, CLIFF RAMSHAW, MARC BAN- NISTER, BRENTON RAYNER, JONATHAN BROUILLAT, and MAX LIANI, Pixar Animation Studios Fig. 1. Path-traced images rendered with RenderMan: Dory and Hank from Finding Dory (© 2016 Disney•Pixar). McQueen’s crash in Cars 3 (© 2017 Disney•Pixar). Shere Khan from Disney’s The Jungle Book (© 2016 Disney). A destroyer and the Death Star from Lucasfilm’s Rogue One: A Star Wars Story (© & ™ 2016 Lucasfilm Ltd. All rights reserved. Used under authorization.) Pixar’s RenderMan renderer is used to render all of Pixar’s films, and by many 1 INTRODUCTION film studios to render visual effects for live-action movies. RenderMan started Pixar’s movies and short films are all rendered with RenderMan. as a scanline renderer based on the Reyes algorithm, and was extended over The first computer-generated (CG) animated feature film, Toy Story, the years with ray tracing and several global illumination algorithms. was rendered with an early version of RenderMan in 1995. The most This paper describes the modern version of RenderMan, a new architec- ture for an extensible and programmable path tracer with many features recent Pixar movies – Finding Dory, Cars 3, and Coco – were rendered that are essential to handle the fiercely complex scenes in movie production. using RenderMan’s modern path tracing architecture. The two left Users can write their own materials using a bxdf interface, and their own images in Figure 1 show high-quality rendering of two challenging light transport algorithms using an integrator interface – or they can use the CG movie scenes with many bounces of specular reflections and materials and light transport algorithms provided with RenderMan.
    [Show full text]
  • A Shading Reuse Method for Efficient Micropolygon Ray Tracing • 151:3
    A Shading Reuse Method for Efficient Micropolygon Ray Tracing Qiming Hou Kun Zhou State Key Lab of CAD&CG, Zhejiang University∗ Abstract We present a shading reuse method for micropolygon ray trac- ing. Unlike previous shading reuse methods that require an ex- plicit object-to-image space mapping for shading density estima- tion or shading accuracy, our method performs shading density con- trol and actual shading reuse in different spaces with uncorrelated criterions. Specifically, we generate the shading points by shoot- ing a user-controlled number of shading rays from the image space, while the evaluated shading values are assigned to antialiasing sam- ples through object-space nearest neighbor searches. Shading sam- ples are generated in separate layers corresponding to first bounce ray paths to reduce spurious reuse from very different ray paths. This method eliminates the necessity of an explicit object-to-image space mapping, enabling the elegant handling of ray tracing effects Figure 1: An animated scene rendered with motion blur and re- such as reflection and refraction. The overhead of our shading reuse flection. This scene contains 1.56M primitives and is rendered with operations is minimized by a highly parallel implementation on the 2 reflective bounces at 1920 × 1080 resolution and 11 × 11 su- GPU. Compared to the state-of-the-art micropolygon ray tracing al- persampling. The total render time is 289 seconds. On average gorithm, our method is able to reduce the required shading evalua- only 3.48 shading evaluations are performed for each pixel and are tions by an order of magnitude and achieve significant performance reused for other samples.
    [Show full text]
  • The Renderman Interface Specification, V3.1
    The RenderMan Interface Version 3.1 September 1989 (with typographical corrections through May 1995) Copyright 1987, 1988, 1989, 1995 Pixar. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or other- wise, without the prior permission of Pixar. The information in this publication is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Pixar. Pixar as- sumes no responsibility or liability for any errors or inaccuracies that may appear in this publication. RenderMan is a registered trademark of Pixar. Pixar 1001 W. Cutting Blvd. Richmond, CA 94804 (510) 236-4000 Fax: (510) 236-0388 ii TABLE OF CONTENTS LIST OF ILLUSTRATIONS ................................................................................................. vii LIST OF TABLES ............................................................................................................... viii PREFACE ............................................................................................................................ ix Part I The RenderMan Interface Section 1 INTRODUCTION................................................................................................ 3 Features and Capabilities ....................................................................................................... 5 Required features ............................................................................................................
    [Show full text]
  • Renderman for Artist 01
    RenderMan For Artists #01 RenderMan Architecture Wanho Choi (wanochoi.com) The Road Ahead • Learning RenderMan is not easy or quick. However, it is not rocket science either. - Rudy Cortes - RenderMan for Artists wanochoi.com We will explore … • The RenderMan Shading Language Guide – Rudy Cortes and Saty Raghavachary • Rendering for Beginners: Image synthesis using RenderMan – Saty Raghavachary • Advanced RenderMan: Creating CGI for Motion Pictures – Anthony A. Apodaca and Larry Gritz • Essential RenderMan – Ian Stephenson • The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics – Steve Upstill • SIGGRAPH course notes – 1992, 1995, 2000, 2001, 2002, 2003, 2006 • pdf files from web • Etc. RenderMan for Artists wanochoi.com Rendering • What is rendering? – A series of works for determining the color and opacity value of a pixel – Scene (objects, lights, camera in 3D) Image (2D) • Rendering algorithms – Scanline – Ray tracing – Radiosity – etc. • Commercial renderers – RenderMan – Mental Ray – V-Ray – POV-Ray – FurryBall – etc. RenderMan for Artists wanochoi.com Ray Tracing Algorithm • A technique for generating an image by tracing the path of light through pixels in an image plane. RenderMan for Artists wanochoi.com RenderMan • A standard technical specification created by Pixar for 3D scene description – RiSpec: RenderMan Interface Specification • There are some RenderMan compliant renderers. – PRMan, AIR, Pixie, 3Delight, Aqsis, RenderDotC, BMRT, Mantra, etc. – It must meet all of the standard requirements laid out
    [Show full text]
  • Motion Blur Rendering: State of the Art
    DOI: 10.1111/j.1467-8659.2010.01840.x COMPUTER GRAPHICS forum Volume 30 (2011), number 1 pp. 3–26 Motion Blur Rendering: State of the Art Fernando Navarro1, Francisco J. Seron´ 2 and Diego Gutierrez2 1Lionhead Studios, Microsoft Games Studios [email protected] 2Universidad de Zaragoza, Instituto de Investigacion´ en Ingenier´ıa de Aragon´ (I3A), Spain {seron, diegog}@unizar.es Abstract Motion blur is a fundamental cue in the perception of objects in motion. This phenomenon manifests as a visible trail along the trajectory of the object and is the result of the combination of relative motion and light integration taking place in film and electronic cameras. In this work, we analyse the mechanisms that produce motion blur in recording devices and the methods that can simulate it in computer generated images. Light integration over time is one of the most expensive processes to simulate in high-quality renders, as such, we make an in-depth review of the existing algorithms and we categorize them in the context of a formal model that highlights their differences, strengths and limitations. We finalize this report proposing a number of alternative classifications that will help the reader identify the best technique for a particular scenario. Keywords: motion blur, temporal antialiasing, sampling and reconstruction, rendering, shading, visibility, analytic methods, geometric substitution, Monte Carlo sampling, postprocessing, hybrid methods Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Picture/Image Generation—Antialiasing 1. Introduction Motion blur for synthetic images has been an active area of research from the early 1980s. Unlike recorded footage that Motion blur is an effect that manifests as a visible streak automatically integrates motion blur, rendering algorithms generated by the movement of an object in front of a record- need to explicitly simulate it.
    [Show full text]
  • Micropolygon Rendering on the GPU
    Micropolygon Rendering on the GPU DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Visual Computing eingereicht von Thomas Weber Matrikelnummer 0526341 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Associate Prof. Dipl.-Ing. Dipl.-Ing. Dr.techn. Michael Wimmer Mitwirkung: Associate Prof. John D. Owens Wien, 4.12.2014 (Unterschrift Verfasser) (Unterschrift Betreuung) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Micropolygon Rendering on the GPU MASTER’S THESIS submitted in partial fulfillment of the requirements for the degree of Diplom-Ingenieur in Visual Computing by Thomas Weber Registration Number 0526341 to the Faculty of Informatics at the Vienna University of Technology Advisor: Associate Prof. Dipl.-Ing. Dipl.-Ing. Dr.techn. Michael Wimmer Assistance: Associate Prof. John D. Owens Vienna, 4.12.2014 (Signature of Author) (Signature of Advisor) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Thomas Weber Zieglergasse 27, 1070 Wien Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwende- ten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit - einschließlich Tabellen, Karten und Abbildungen -, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Ent- lehnung kenntlich gemacht habe. (Ort, Datum) (Unterschrift Verfasser) i Acknowledgements I’d like to thank Anjul Patney, Stanley Tzeng, Julian Fong, and Tim Foley for their valuable input. Another “thank you” goes to Nuwan Jayasena of AMD for supplying me with testing harware and giving support on driver issues.
    [Show full text]
  • Design and Applications of a Real-Time Shading System Master’S Thesis
    TARTU UNIVERSITY FACULTY OF MATHEMATICS Institute of Computer Science Design and Applications of a Real-Time Shading System Master's Thesis Mark Tehver Supervisor: Eero Vainikko Author: ................................. ". " May 2004 Supervisor: ............................ ". " May 2004 Head of Chair: ...................... ". " May 2004 Tartu 2004 Contents 1 Introduction 4 1.1 Prolog . 4 1.2 Overview of the Thesis . 4 2 OpenGL Pipeline and Shading Extensions 6 2.1 Overview of OpenGL . 6 2.2 OpenGL Pipeline . 6 2.3 Shading Extensions . 7 2.3.1 Standard transformation and lighting model . 7 2.3.2 Issues with the standard lighting model . 9 2.4 Vertex Programs . 9 2.4.1 Parallelism . 10 2.5 ARB Vertex Program Extension . 11 2.5.1 Registers . 11 2.5.2 Texture coordinates . 12 2.5.3 Instructions . 13 2.5.4 Operand modi¯ers . 14 2.5.5 Resource limits . 14 2.5.6 Other vertex programming extensions . 15 2.6 Fragment Programs . 15 2.7 ARB Fragment Program Extension . 16 2.7.1 Registers . 17 2.7.2 Instructions . 17 2.7.3 Dependent texturing . 18 2.7.4 Operand modi¯ers, limits . 18 2.7.5 Other fragment programming extensions . 18 3 High-Level Shading Languages 20 3.1 Overview of Illumination Models . 20 3.1.1 Bidirectional Reflectance Distribution Function . 21 3.2 Shading Languages . 22 3.2.1 Shade trees . 23 3.2.2 Pixel Stream Editor . 24 3.3 RenderMan . 24 3.3.1 Types . 25 3.3.2 Built-in functions . 26 3.3.3 Execution environment . 26 3.4 Real-Time High-Level Shading Languages .
    [Show full text]
  • Ray Tracing for the Movie 'Cars'
    Ray Tracing for the Movie ‘Cars’ Per H. Christensen∗ Julian Fong David M. Laur Dana Batali Pixar Animation Studios ABSTRACT texture cache keeps recently accessed texture tiles ready for fast ac- cess. This combination of ray differentials and caching makes ray This paper describes how we extended Pixar’s RenderMan renderer tracing of very complex scenes feasible. with ray tracing abilities. In order to ray trace highly complex This paper first gives a more detailed motivation for the use of scenes we use multiresolution geometry and texture caches, and ray tracing in ‘Cars’, and lists the harsh rendering requirements in use ray differentials to determine the appropriate resolution. With the movie industry. It then gives an overview of how the REYES al- this method we are able to efficiently ray trace scenes with much gorithm deals with complex scenes and goes on to explain our work more geometry and texture data than there is main memory. Movie- on efficient ray tracing of equally complex scenes. An explanation quality rendering of scenes of such complexity had only previously of our hybrid rendering approach, combining REYES with ray trac- been possible with pure scanline rendering algorithms. Adding ray ing, follows. Finally we measure the efficiency of our method on a tracing to the renderer enables many additional effects such as ac- test scene, and present a few production details from the use of ray curate reflections, detailed shadows, and ambient occlusion. tracing for ‘Cars’. The ray tracing functionality has been used in many recent Please refer to Christensen et al. [3] for an overview of previ- movies, including Pixar’s latest movie ‘Cars’.
    [Show full text]
  • Aqsis Documentation Release 1.6
    Aqsis Documentation Release 1.6 Paul Gregory May 12, 2010 CONTENTS 1 Welcome to Aqsis 1 1.1 Features..................................................1 1.2 What’s New...............................................2 1.3 Legal...................................................6 2 The Aqsis Tools 9 2.1 Getting Started..............................................9 2.2 Using the Aqsis Tool Suite........................................ 11 2.3 Aqsis and the Ri Standard........................................ 14 2.4 Further Reading............................................. 14 3 Aqsis Programmers Guide 15 3.1 Building from Source.......................................... 15 3.2 Using the RenderMan Interface C API................................. 15 3.3 The Display Driver API......................................... 15 3.4 Creating DSO Shadeops......................................... 25 3.5 Creating Procedural Plugins....................................... 25 3.6 Texture Library Reference........................................ 25 4 RenderMan Tutorials & Examples 27 4.1 Tutorials................................................. 27 4.2 Example Content............................................. 27 4.3 External Tools.............................................. 27 i ii CHAPTER ONE WELCOME TO AQSIS Aqsis is a high quality, open source, renderer that adheres to the RenderMan(tm) standard. Aqsis provides a suite of tools that together enable the generation of production quality images from 3D scene data. Based on the Reyes rendering architecture,
    [Show full text]
  • Ray Tracing for the Movie 'Cars'
    Ray Tracing for the Movie ‘Cars’ Per H. Christensen∗ Julian Fong David M. Laur Dana Batali Pixar Animation Studios ABSTRACT texture cache keeps recently accessed texture tiles ready for fast ac- cess. This combination of ray differentials and caching makes ray This paper describes how we extended Pixar’s RenderMan renderer tracing of very complex scenes feasible. with ray tracing abilities. In order to ray trace highly complex This paper first gives a more detailed motivation for the use of scenes we use multiresolution geometry and texture caches, and ray tracing in ‘Cars’, and lists the harsh rendering requirements in use ray differentials to determine the appropriate resolution. With the movie industry. It then gives an overview of how the REYES al- this method we are able to efficiently ray trace scenes with much gorithm deals with complex scenes and goes on to explain our work more geometry and texture data than there is main memory. Movie- on efficient ray tracing of equally complex scenes. An explanation quality rendering of scenes of such complexity had only previously of our hybrid rendering approach, combining REYES with ray trac- been possible with pure scanline rendering algorithms. Adding ray ing, follows. Finally we measure the efficiency of our method on a tracing to the renderer enables many additional effects such as ac- test scene, and present a few production details from the use of ray curate reflections, detailed shadows, and ambient occlusion. tracing for ‘Cars’. The ray tracing functionality has been used in many recent Please refer to Christensen et al. [3] for an overview of previ- movies, including Pixar’s latest movie ‘Cars’.
    [Show full text]
  • Micropolygon Ray Tracing with Defocus and Motion Blur
    Micropolygon Ray Tracing With Defocus and Motion Blur Qiming Hou∗ Hao Qin† Wenyao Li† Baining Guo∗‡ Kun Zhou† ∗Tsinghua University † State Key Lab of CAD&CG, Zhejiang University ‡ Microsoft Research Asia (a) Perfect focus (b) Motion blur + defocus Figure 1: A car rendered with defocus, motion blur, mirror reflection and ambient occlusion at 1280 × 720 resolution with 23 × 23 supersampling. The scene is tessellated into 48.9M micropolygons (i.e., 53.1 micropolygons per pixel). The blurred image is rendered in 4 minutes on an NVIDIA GTX 285 GPU. The image rendered in perfect focus takes 2 minutes and is provided to help the reader to assess the defocus and motion blur effects. Abstract 1 Introduction We present a micropolygon ray tracing algorithm that is capable of Current cinematic-quality rendering systems are based on the Reyes efficiently rendering high quality defocus and motion blur effects. architecture [Cook et al. 1987], which uses micropolygons to rep- A key component of our algorithm is a BVH (bounding volume hi- resent high order surfaces and highly detailed objects. In a Reyes erarchy) based on 4D hyper-trapezoids that project into 3D OBBs pipeline, all input geometric primitives are first tessellated into mi- (oriented bounding boxes) in spatial dimensions. This acceleration cropolygons (i.e., quads less than one pixel in size). Shading is structure is able to provide tight bounding volumes for scene ge- then calculated on micropolygon vertices. In the subsequent sam- ometries, and is thus efficient in pruning intersection tests during pling stage, micropolygons are rasterized into fragments, which are ray traversal.
    [Show full text]
  • Directx 11 Reyes Rendering
    DirectX 11 Reyes Rendering Lihan Bin Vineet Goel Jorg Peters University of Florida AMD/ATI, University of Florida [email protected]fl.edu [email protected] [email protected]fl.edu ABSTRACT We map reyes-rendering to the GPU by leveraging new features of modern GPUs exposed by the Microsoft DirectX11 API. That is, we show how to accelerate reyes-quality rendering for realistic real-time graphics. In detail, we discuss the implementation of the split-and-dice phase via the Geometry Shader, including bounds on displacement mapping; micropolygon rendering without standard rasterization; and the incorporation of motion blur and camera defocus as one pass rather than a multi-pass. Our implementation achieves interactive rendering rates on the Radeon 5000 series. Keywords: reyes, motion blur, camera defocus, DirectX11, real-time , rasterization, displacement 1 INTRODUCTION The reyes (render everything you ever saw) architecture was designed by Pixar [CCC87] in 1987 to provide photo-realistic rendering of complex animated scenes. Pixar‘s PhotoRealistic RenderMan is an Academy Award-winning offline renderer that implements reyes and is widely used in the film industry. A main feature Figure 1: The three types of passes in our frame- of the reyes architecture is its adaptive tessellation and work:the split stage (consisting of N adaptive refine- micropolygon rendering of higher-order (not linear) ment passes), one pre-rendering pass and one final com- surfaces such as Bézier patches, NURBS patches and position pass. Catmull-Clark subdivision surfaces. (A micropolygon is a polygon that is expected to project to no more than 3 shows how our implementation takes specific 1 pixel.) advantage of the Direct X11 pipeline to obtain real- The contribution of our paper is to judiciously choose time performance.
    [Show full text]