Advanced Renderman 3: Render Harder

Total Page:16

File Type:pdf, Size:1020Kb

Advanced Renderman 3: Render Harder Advanced RenderMan 3: Render Harder SIGGRAPH 2001 Course 48 course organizer: Larry Gritz, Exluna, Inc. Lecturers: Tony Apodaca, Pixar Animation Studios Larry Gritz, Exluna, Inc. Matt Pharr, Exluna, Inc. Christophe Hery, Industrial Light + Magic Kevin Bjorke, Square USA Lawrence Treweek, Sony Pictures Imageworks August 2001 ii iii Desired Background This course is for graphics programmers and technical directors. Thorough knowledge of 3D image synthesis, computer graphics illumination models and previous experience with the RenderMan Shading Language is a must. Students must be facile in C. The course is not for those with weak stomachs for examining code. Suggested Reading Material The RenderMan Companion: A Programmer’s Guide to Realistic Computer Graphics, Steve Upstill, Addison-Wesley, 1990, ISBN 0-201-50868-0. This is the basic textbook for RenderMan, and should have been read and understood by anyone attending this course. Answers to all of the typical, and many of the extremely advanced, questions about RenderMan are found within its pages. Its failings are that it does not cover RIB, only the C interface, and also that it only covers the 10-year- old RenderMan Interface 3.1, with no mention of all the changes to the standard and to the products over the past several years. Nonetheless, it still contains a wealth of information not found anyplace else. Advanced RenderMan: Creating CGI for Motion Pictures, Anthony A. Apodaca and Larry Gritz, Morgan-Kaufmann, 1999, ISBN 1-55860-618-1. A comprehensive, up-to-date, and advanced treatment of all things RenderMan. This book covers everything from basic RIB syntax to the geometric primitives to advanced topics like shader antialiasing and volumetric effects. For any RenderMan professional, this is the book that will be sitting open on your desk most of the time. Buy it. Love it. Tell your friends. “The RenderMan Interface Specification, Version 3.2,” Pixar, 2000. The RI Spec 3.2 is the updated bible of the RenderMan C and RIB API’s and the Render- Man Shading Language. It reflects all of the changes and extensions made informally by PRMan and BMRT over the years, put together in a single, clean document. iv Lecturers Larry Gritz is a co-founder and VP of Exluna, Inc., where he is the head of R&D for Entropy and BMRT. Larry was previously the head of the rendering research group at Pixar Animation Studios and chief architect of the RenderMan Interface Specification, as well as serving as a technical direc- tor on several film projects. His film credits include Toy Story, Geri’s Game, A Bug’s Life, Toy Story 2, and Monsters, Inc. Larry has a BS from Cornell University and MS and PhD degrees from the George Washington University. Larry co-wrote the book Advanced RenderMan: Creating CGI for Motion Pictures” (Morgan-Kaufmann, 1999), and has spoken at four previous SIGGRAPH courses on RenderMan (as course organizer for three of them). Matt Pharr is a co-founder and VP of Interactive Graphics at Exluna, Inc., where he has also con- tributed substantially to the design and implementation of the Entropy rendering architecture. He is expected to complete his Ph.D. in Computer Science at Stanford University in 2001. Matt has published three papers at SIGGRAPH in the past four years on topics of light scattering and render- ing of large scenes. He was a part-time member of Pixar’s Rendering R&D group from 1998-2000, contributing to development of PhotoRealistic RenderMan and next generation rendering architec- tures. He has a B.S degree in Computer Science from Yale University and an M.S. from Stanford; his movie credits include A Bug’s Life, Toy Story 2, and Monsters, Inc. Tony Apodaca is a senior technical director at Pixar Animation Studios. In the 20th century, he was director of Graphics R&D at Pixar, was co-creator of the RenderMan Interface Specification, and lead the development of PhotoRealistic RenderMan. Tony has been at Pixar since 1986, where his film credits include work from Red’s Dream through A Bug’s Life. He received a Scientific and Technical Academy Award from the Academy of Motion Picture Arts and Sciences for work on PhotoRealistic RenderMan, and with Larry was co-author of Advanced RenderMan: Creating CGI for Motion Pictures. He holds an MEng degree in computer and systems engineering from Rensselaer Polytechnic Institute. Christophe Hery is an Associate Visual Effects Supervisor at Industrial Light + Magic (ILM). Christophe joined ILM in 1993 as a senior technical director on The Flinstones. Prior to that, he was working for Acteurs Auteurs Associes (AAA) studio in France setting up a CG facility devoted to feature film production. Christophe majored in architecture and electrical engineering at ESTP, where he received his degree in 1989. While a student in Paris he freelanced as a technical director at BUF, as well as Thomson Digital Images, where he worked on 3-D software development in his spare time. After graduation, Christophe took a job as director of research and development at Label 35, a Parisian cartoon studio. Christophe is currently working as a CG supervisor on Jurassic Park 3. His numerous projects at ILM include Star Wars: Episode I: The Phantom Menace, Mission to Mars, Jumanji, Casper, The Mask, and many other films. Kevin Bjorke was the Lighting and Shading supervisor on Final Fantasy: The Spirits Within. Prior to Final Fantasy, he worked at a variety of studios in California, New York, and Europe, including Pixar and Digital Productions. He has collected three gold Clios for computer animation, and was one of the original off-site testers of Renderman, running it on an RM-1 board and rendering TV commercials on ChapReyes. Laurence Treweek is a senior technical director at Sony Pictures Imageworks. He has worked on many films including Hollow Man, Stuart Little, Stuart Little 2, and Contact. Brian Steiner is a senior technical director at Sony Imageworks, joining the company to work on Hollow Man and currently working on Stuart Little 2. Brian majored in computer animation at v Ringling School of Art & Design, and in 1994 came to Los Angeles to work for RezN.8 Productions. Since then he has worked at Boss Films Studios, Warner Bros., and Pacific Title. Some of Brian’s movie credits include Outbreak, Species, Batman Forever, Mars Attacks, and Duck Dodgers in the 21 Century. Douglas Sutton is a Lead Technical Director at Industrial Light + Magic(ILM). During his 4+ years at ILM he has worked on a variety of film projects including The Lost World, Flubber, Deep Impact, Star Wars: Episode I: The Phantom Menace, Galaxy Quest, Mission to Mars and A Perfect Storm. Previous to his work at ILM Doug worked at Will Vinton Studios in Portland Oregon and at Lamb and Co. in Minneapolis, Minnesota. He has a B.S. degree in Mechanical Engineering from the University of Minnesota and studied computer graphics as a graduate student at the U of M as well. vi vii Schedule Welcome and Introduction 8:30 AM Larry Gritz Interpreting PhotoRealistic RenderMan Statistics 8:45 AM Tony Apodaca A Practical Guide to Global Illumination 9:45 AM Larry Gritz Break 10:00 AM Global Illumination (continued) 10:15 AM Layered Media for Surface Shaders 11:00 AM Matt Pharr Lunch 12:00 PM A Tutorial on Procedural Primitives 1:30 PM Christophe Hery Using Maya with RenderMan on Final Fantasy 2:30 PM Kevin Bjorke Break 3:00 PM Maya+RenderMan on Final Fantasy (continued) 3:15 PM Volumetric Shaders Used In The Production Of Hollow Man 3:45 PM Lawrence Treweek Roundtable Discussion / Q&A 4:45 PM All panelists Finished — go to a party! 5:00 PM viii Contents Preface 1 1 Interpreting PRMan Statistics 3 1.1 Introduction . 3 1.2 Enabling Statistics Output . 3 1.3 Level 1 Statistics . 3 1.4 Level 2 Statistics . 6 1.5 Level 3 Statistics . 8 2 A Practical Guide to Global Illumination 11 2.1 Introduction: What is global illumination? . 11 2.2 Shadows . 13 2.3 Reflections . 18 2.4 Indirect illumination . 24 2.5 Caustics . 29 2.6 HDRI / Environment lighting . 34 2.7 References . 38 3 Layered Media for Surface Shaders 41 3.1 The Kubelka Munk Model . 41 3.2 The BRDF and Shading Language . 51 3.3 Subsurface Scattering . 54 3.4 Summary . 62 4 Procedural Primitives 63 4.1 Introduction . 63 4.2 Simple DRA Example . 63 4.3 Our original reason for using procedural RIB . 66 4.4 Other procedural RIB uses . 80 4.5 Let’s look at pictures . 84 5 Volumetric Shaders on Hollow Man 87 5.1 Goals . 87 5.2 Methods . 88 5.3 Why use RenderMan? . 89 5.4 Transforming Bones . 91 5.5 Rendering The Heart With Volumes . 97 ix x CONTENTS 6 Maya+RenderMan on Final Fantasy 115 6.1 Introduction . 115 6.2 Characters . 123 6.3 Shaders . 130 6.4 Credits . 159 6.5 Conclusion . 159 6.6 Listings . 161 Bibliography 173 Preface Welcome to Advanced RenderMan 3: Render Harder. (Okay, I was getting a little punchy when the submission deadline rolled around.) This course covers the theory and practice of using RenderMan and similar renderers to do the highest quality computer graphics animation production. This is the eighth SIGGRAPH course that we have taught on the use of RenderMan, and it is quite advanced. Students are expected to understand all of the basics of using RenderMan. We assume that you have all read the venerable RenderMan Companion, and certainly hope that you have attented our previous SIGGRAPH courses and read the book, Advanced RenderMan: Creating CGI for Motion Pictures (Morgan-Kaufmann, 1999).
Recommended publications
  • Physically Based Rendering: from Theory to Implementation Pdf, Epub, Ebook
    PHYSICALLY BASED RENDERING: FROM THEORY TO IMPLEMENTATION PDF, EPUB, EBOOK Matt Pharr, Greg Humphreys, Wenzel Jakob | 1266 pages | 18 Oct 2016 | ELSEVIER SCIENCE & TECHNOLOGY | 9780128006450 | English | San Francisco, United States Physically Based Rendering: From Theory to Implementation PDF Book The text should make more clear that we're making use of the tristimulus theory of color perception in that step. I wrote a technical perspective, The Ray-Tracing Engine That Could , that introduced the article and helped frame the work's achievements for a non-graphics audience. Design and novel uses of higher-dimensional rasterization. Lecture 7: Splines, Curves and Surfaces Shirley et al. Hardcover ISBN: Stanford csb I recently had a great time teaching the and installments of csb, the graduate-level rendering course at Stanford. A practical shading model for ray tracing. Free Shipping Free global shipping No minimum order. Then, in the code below, the negation of 'd' should be removed and in the places where 'd' is added in the computations of tx and ty, subtraction should be used. Toggle navigation pbrt. Feiner, and Kurt Akeley. Osgood this is an outstanding reference Lecture 4: Transforms Shirley et al. I was also fortunate to have the opportunity to teach the class. Given its unconventional preparation style, this textbook stands out because of its descriptions of the tradeoffs involved in developing a complete working renderer. Index of Miscellaneous Identifiers. Wenzel is also the lead developer of the Mitsuba renderer , a research-oriented rendering system. Physically Based Rendering, Second Edition , describes both the mathematical theory behind a modern photorealistic rendering system as well as its practical implementation.
    [Show full text]
  • Rendering Complex Scenes with Memory-Coherent Ray Tracing
    To appear in Proceedings of SIGGRAPH 1997 Rendering Complex Scenes with Memory-Coherent Ray Tracing Matt Pharr Craig Kolb Reid Gershbein Pat Hanrahan Computer Science Department, Stanford University Abstract both. For example, Z-buffer rendering algorithms operate on a sin- gle primitive at a time, which makes it possible to build rendering Simulating realistic lighting and rendering complex scenes are usu- hardware that does not need access to the entire scene. More re- ally considered separate problems with incompatible solutions. Ac- cently, the Talisman architecture was designed to exploit frame-to- curate lighting calculations are typically performed using ray trac- frame coherence as a means of accelerating rendering and reducing ing algorithms, which require that the entire scene database reside memory bandwidth requirements[21]. in memory to perform well. Conversely, most systems capable of Kajiya has written a whitepaper that proposes an architecture rendering complex scenes use scan-conversion algorithms that ac- for Monte Carlo ray tracing systems that is designed to improve cess memory coherently, but are unable to incorporate sophisticated coherence across all levels of the memory hierarchy, from pro- illumination. We have developed algorithms that use caching and cessor caches to disk storage[13]. The rendering computation is lazy creation of texture and geometry to manage scene complexity. decomposed into parts—ray-object intersections, shading calcula- To improve cache performance, we increase locality of reference tions, and calculating spawned rays—that are performed indepen- by dynamically reordering the rendering computation based on the dently. The coherence of memory references is increased through contents of the cache. We have used these algorithms to compute careful management of the interaction of the computation and the images of scenes containing millions of primitives, while storing memory that it references, reducing overall running time and facil- ten percent of the scene description in memory.
    [Show full text]
  • AWE Surface 1.2 Documentation
    AWE Surface 1.2 Documentation AWE Surface is a new, robust, highly optimized, physically plausible shader for DAZ Studio and 3Delight employing physically based rendering (PBR) metalness / roughness workflow. Using a primarily uber shader approach, it can be used to render materials such as dielectrics, glass and metal. Features Highlight Physically based BRDF (Oren Nayar for diffuse, Cook Torrance, Ashikhmin Shirley and GGX for specular). Micro facet energy loss compensation for the diffuse and transmission lobe. Transmission with Beer-Lambert based absorption. BRDF based importance sampling. Multiple importance sampling (MIS) with 3delight's path traced area light shaders such as the aweAreaPT shader. Explicit Russian Roulette for next event estimation and path termination. Raytraced subsurface scattering with forward/backward scattering via Henyey Greenstein phase function. Physically based Fresnel for both dielectric and metal materials. Unified index of refraction value for both reflection and transmission with dielectrics. An artist friendly metallic Fresnel based on Ole Gulbrandsen model using reflection color and edge tint to derive complex IOR. Physically based thin film interference (iridescence). Shader based, global illumination. Luminance based, Reinhard tone mapping with exposure, temperature and saturation controls. Toggle switches for each lobe. Diffuse Oren Nayar based translucency with support for bleed through shadows. Can use separate front/back side diffuse color and texture. Two specular/reflection lobes for the base, one specular/reflection lobe for coat. Anisotropic specular and reflection (only with Ashikhmin Shirley and GGX BRDF), with map- controllable direction. Glossy Fresnel with explicit roughness values, one for the base and one for the coat layer. Optimized opacity handling with user controllable thresholds.
    [Show full text]
  • Course Overview
    Course overview Digital Image Synthesis Yung-Yu Chuang with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi Logistics • Meeting time: 2:20pm-5:20pm, Thursday • Classroom: CSIE Room 111 • Instructor: Yung-Yu Chuang ([email protected]) • TA:陳育聖 • Webpage: http://www.csie.ntu.edu.tw/~cyy/rendering id/password • Mailing list: [email protected] Please subscribe via https://cmlmail.csie.ntu.edu.tw/mailman/listinfo/rendering/ Prerequisites • C++ programming experience is required. • Basic knowledge on algorithm and data structure is essential. • Knowledge on linear algebra, probability, calculus and numerical methods is a plus. • Though not required, it is recommended that you have background knowledge on computer graphics. Requirements (subject to change) • 3 programming assignments (60%) • Class participation (5%) • Final project (35%) Textbook Physically Based Rendering from Theory to Implementation, 2nd ed, by Matt Pharr and Greg Humphreys •Authors have a lot of experience on ray tracing •Complete (educational) code, more concrete •Has been used in many courses and papers •Implement some advanced or difficult-to-implement methods: subdivision surfaces, Metropolis sampling, BSSRDF, PRT. •3rd edition is coming next year! pbrt won Oscar 2014 •ToMatt Pharr, Greg Humphreys and Pat Hanrahan for their formalization and reference implementation of the concepts behind physically based rendering, as shared in their book Physically Based Rendering. Physically based rendering has transformed computer graphics lighting by more accurately simulating materials and lights, allowing digital artists to focus on cinematography rather than the intricacies of rendering. First published in 2004, Physically Based Rendering is both a textbook and a complete source-code implementation that has provided a widely adopted practical roadmap for most physically based shading and lighting systems used in film production.
    [Show full text]
  • Real-Time Rendering Techniques with Hardware Tessellation
    Volume 34 (2015), Number x pp. 0–24 COMPUTER GRAPHICS forum Real-time Rendering Techniques with Hardware Tessellation M. Nießner1 and B. Keinert2 and M. Fisher1 and M. Stamminger2 and C. Loop3 and H. Schäfer2 1Stanford University 2University of Erlangen-Nuremberg 3Microsoft Research Abstract Graphics hardware has been progressively optimized to render more triangles with increasingly flexible shading. For highly detailed geometry, interactive applications restricted themselves to performing transforms on fixed geometry, since they could not incur the cost required to generate and transfer smooth or displaced geometry to the GPU at render time. As a result of recent advances in graphics hardware, in particular the GPU tessellation unit, complex geometry can now be generated on-the-fly within the GPU’s rendering pipeline. This has enabled the generation and displacement of smooth parametric surfaces in real-time applications. However, many well- established approaches in offline rendering are not directly transferable due to the limited tessellation patterns or the parallel execution model of the tessellation stage. In this survey, we provide an overview of recent work and challenges in this topic by summarizing, discussing, and comparing methods for the rendering of smooth and highly-detailed surfaces in real-time. 1. Introduction Hardware tessellation has attained widespread use in computer games for displaying highly-detailed, possibly an- Graphics hardware originated with the goal of efficiently imated, objects. In the animation industry, where displaced rendering geometric surfaces. GPUs achieve high perfor- subdivision surfaces are the typical modeling and rendering mance by using a pipeline where large components are per- primitive, hardware tessellation has also been identified as a formed independently and in parallel.
    [Show full text]
  • Quadtree Displacement Mapping with Height Blending
    Quadtree Displacement Mapping with Height Blending Practical Detailed Multi-Layer Surface Rendering Michal Drobot Technical Art Director Reality Pump Outline • Introduction • Motivation • Existing Solutions • Quad tree Displacement Mapping • Shadowing • Surface Blending • Conclusion Introduction • Next generation rendering – Higher quality per-pixel • More effects • Accurate computation – Less triangles, more sophistication • Ray tracing • Volumetric effects • Post processing – Real world details • Shadows • Lighting • Geometric properties Surface rendering • Surface rendering stuck at – Blinn/Phong • Simple lighting model – Normal mapping • Accounts for light interaction modeling • Doesn’t exhibit geometric surface depth – Industry proven standard • Fast, cheap, but we want more… Terrain surface rendering • Rendering terrain surface is costly – Requires blending • With current techniques prohibitive – Blend surface exhibit high geometric complexity Surface properties • Surface geometric properties – Volume – Depth – Various frequency details • Together they model visual clues – Depth parallax – Self shadowing – Light Reactivity Surface Rendering • Light interactions – Depends on surface microstructure – Many analytic solutions exists • Cook Torrance BDRF • Modeling geometric complexity – Triangle approach • Costly – Vertex transform – Memory • More useful with Tessellation (DX 10.1/11) – Ray tracing Motivation • Render different surfaces – Terrains – Objects – Dynamic Objects • Fluid/Gas simulation • Do it fast – Current Hardware – Consoles
    [Show full text]
  • 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]
  • (Gpus) for Department of Defense (Dod) Digital Signal Processing (DSP) Applications
    Assessment of Graphic Processing Units (GPUs) for Department of Defense (DoD) Digital Signal Processing (DSP) Applications John D. Owens, Shubhabrata Sengupta, and Daniel Horn† University of California, Davis † Stanford University Abstract In this report we analyze the performance of the fast Fourier transform (FFT) on graphics hardware (the GPU), comparing it to the best-of-class CPU implementation FFTW.WedescribetheFFT,thearchitectureoftheGPU,andhowgeneral-purpose computation is structured on the GPU. We then identify the factors that influence FFT performance and describe several experiments that compare these factors between the CPUandtheGPU.Weconcludethattheoverheadoftransferringdataandinitiating GPU computation are substantially higher than on the CPU, and thus for latency- critical applications, the CPU is a superior choice. We show that the CPU imple- mentation is limited by computation and the GPU implementation by GPU memory bandwidth and its lack of a writable cache. The GPU is comparatively better suited for larger FFTs with many FFTs computed in parallel in applications where FFT through- putismostimportant;ontheseapplicationsGPUandCPUperformanceisroughly on par. We also demonstrate that adding additional computation to an application that includes the FFT, particularly computation that is GPU-friendly, puts the GPU at an advantage compared to the CPU. The future of desktop processing is parallel.Thelastfewyearshaveseenanexplosionof single-chip commodity parallel architectures that promises to be the centerpieces of future computing platforms. Parallel hardware on the desktop—new multicore microprocessors, graphics processors, and stream processors—has the potential to greatly increase the com- putational power available to today’s computer users, with a resulting impact in computa- tion domains such as multimedia, entertainment, signal and image processing, and scientific computation.
    [Show full text]
  • Physically-Based Rendering Uses Physics to Simulate the Interaction Between Matter and Light, Realism Is the Primary Goal
    Logistics • Meeting time: 2:20pm-5:20pm, Thursday • Classroom: CSIE Room 111 • Instructor: Yung-Yu Chuang ([email protected]) Course overview • TA:賴威昇 • Webpage: http://www.csie.ntu.edu.tw/~cyy/rendering id/password Digital Image Synthesis • Mailing list: [email protected] Yung-Yu Chuang Please subscribe via https://cmlmail.csie.ntu.edu.tw/mailman/listinfo/rendering/ with slides by Mario Costa Sousa, Pat Hanrahan and Revi Ramamoorthi Prerequisites Requirements (subject to change) • C++ programming experience is required. • 3 programming assignments (60%) • Basic knowledge on algorithm and data • Class participation (5%) structure is essential. • Final project (35%) • Knowledge on linear algebra, probability, calculus and numerical methods is a plus. • Though not required, it is recommended that you have background knowledge on computer graphics. Textbook pbrt won Oscar 2014 Physically Based Rendering from Theory to Implementation, •ToMatt Pharr, Greg Humphreys and Pat 2nd ed, by Matt Pharr and Greg Humphreys Hanrahan for their formalization and reference •Authors have a lot of implementation of the concepts behind experience on ray tracing physically based rendering, as shared in their •Complete (educational) code, book Physically Based Rendering. more concrete Physically based rendering has •Has been used in many courses transformed computer graphics lighting by more accurately simulating materials and and papers lights, allowing digital artists to focus on •Implement some advanced or cinematography rather than the intricacies of rendering. First published in difficult-to-implement methods: 2004, Physically Based Rendering is both subdivision surfaces, Metropolis a textbook and a complete source-code sampling, BSSRDF, PRT. implementation that has provided a widely adopted practical roadmap for most •3rd edition is coming next year! physically based shading and lighting systems used in film production.
    [Show full text]
  • 01 the Implementation of a Scalable Texture Cache
    01 THE IMPLEMENTATION OF A SCALABLE TEXTURE CACHE Matt Pharr 5 March 2017 Abstract Texture caching—loading rectangular tiles of texture maps on demand and keeping a fixed number of them cached in memory—has proven to be an effective approach for limiting memory use when rendering complex scenes; scenes with gigabytes of texture can often be rendered with just tens or hundreds of megabytes of texture resident in memory. However, implementing an efficient texture cache is challenging in the presence of tens of rendering threads; each traced ray generally performs multiple cache lookups, one for each texel accessed during texture filtering, all while new tiles are being added to the cache and old tiles are recycled. Traditional thread synchronization approaches based on mutexes give poor parallel scalability with this workload. We present a texture cache implementation based on lock-free algorithms and the “read-copy update” technique, and show that it scales linearly up to (at least) 32 threads. Our implementation performs just as well as pbrt does with preloaded textures where there are no such cache maintenance complexities. Note: This document describes new functionality that may be included in a future version of pbrt. The implementation is available in the texcache branch in the pbrt-v3 repository on github. We’re interested in feedback (especially bug reports) about our implementation; please send a note to [email protected] or post to the pbrt Google Groups list if you have comments or questions. (Given that the implementation does some fairly tricky things to minimize locking and inter-thread coordination, it is entirely possible that subtle bugs remain.) 1.1 INTRODUCTION Most visually complex computer graphics scenes make extensive use of tex- ture maps to represent variation in surface appearance.
    [Show full text]
  • Dynamic Image-Space Per-Pixel Displacement Mapping With
    ThoseThose DeliciousDelicious TexelsTexels…… or… DynamicDynamic ImageImage--SpaceSpace PerPer--PixelPixel DisplacementDisplacement MappingMapping withwith SilhouetteSilhouette AntialiasingAntialiasing viavia ParallaxParallax OcclusionOcclusion MappingMapping Natalya Tatarchuk 3D Application Research Group ATI Research, Inc. OverviewOverview ofof thethe TalkTalk > The goal > Overview of approaches to simulate surface detail > Parallax occlusion mapping > Theory overview > Algorithm details > Performance analysis and optimizations > In the demo > Art considerations > Uses and future work > Conclusions Game Developer Conference, San Francisco, CA, March 2005 2 WhatWhat ExactlyExactly IsIs thethe Problem?Problem? > We want to render very detailed surfaces > Don’t want to pay the price of millions of triangles > Vertex transform cost > Memory > Want to render those detailed surfaces correctly > Preserve depth at all angles > Dynamic lighting > Self occlusion resulting in correct shadowing > Thirsty graphics cards want more ALU operations (and they can handle them!) > Of course, this is a balancing game - fill versus vertex transform – you judge for yourself what’s best Game Developer Conference, San Francisco, CA, March 2005 3 ThisThis isis NotNot YourYour TypicalTypical ParallaxParallax Mapping!Mapping! > Parallax Occlusion Mapping is a new technique > Different from > Parallax Mapping > Relief Texture Mapping > Per-pixel ray tracing at its core > There are some very recent similar techniques > Correctly handles complicated viewing phenomena
    [Show full text]
  • Generation of Points That Satisfy Two-Dimensional Elementary Intervals
    Journal of Computer Graphics Techniques Vol. 8, No. 1, 2019 http://jcgt.org Efficient Generation of Points that Satisfy Two-Dimensional Elementary Intervals Matt Pharr NVIDIA Research Figure 1. 4,096 pmj02bn samples generated using our technique. These points are progres- sive, satisfy all applicable power-of-two elementary intervals, and have optimized spectral properties. They were generated in 5.19 ms on a single core of a 4 GHz CPU. Abstract Precomputing high-quality sample points has been shown to be a useful technique for Monte Carlo integration in rendering; doing so allows optimizing properties of the points without the performance constraints of generating samples during rendering. A particularly useful property to incorporate is stratification across elementary intervals, which has been shown to reduce error in Monte Carlo integration. This is a key property of the recently-introduced progressive multi-jittered, pmj02 and pmj02bn points [Christensen et al. 2018]. For generating such sets of sample points, it is important to be able to efficiently choose new samples that are not in elementary intervals occupied by existing samples. Random search, while easy to implement, quickly becomes infeasible after a few thousand points. We describe an algorithm that efficiently generates 2D sample points that are stratified with respect to sets of elementary intervals. If a total of n sample points are being generated, then p for each sample, our algorithm uses O( n) time to build a data structure that represents the regions where a next sample may be placed. Given this data structure, valid samples can be generated in O(1) time.
    [Show full text]