`ARM LTD, et al. v. ATI Technologies ULC
`IPR2018-01148
`Page 1 of 516
`
`
`
`Ta Gd,
`
`7
`RenderMan" Companio
`A Programmer's Guide to Realistic Computer Graphics
`
`e
`Steve Upstill
`
`Pixar
`
`A
`WV ADDISON-WESLEY PUBLISHING COMPANY
`
`Reading, Massachusetts « Menlo Park, California « New York
`DonMills, Ontario + Wokingham, England + Amsterdam + Bonn
`Milan + Paris + Sydney * Singapore * Tokyo + Madrid » San juan
`
`
`
`|
`:
`
`|
`
`ATI Exhibit 2017, Page 2 of 516
`
`ATI Exhibit 2017, Page 2 of 516
`
`
`
`Library of Congress Cataloging-in-Publication Data
`
`Upstill, Steve.
`The RenderMan companion / Steve Upstill.
`p.
`cm.
`Bibliography: p.
`Includes index.
`ISBN 0-201-50868-0
`1. Computer graphics.
`T385.U67 1990
`006.6—dc20
`
`.
`I. Title.
`
`89-33853
`CIP
`
`The information in this book is furnished for informational use only, is subject to change
`without notice, and should not be construed as a commitment by Pixar. Pixar assumes no
`responsibility or liability for any errors or inaccuracies that may appear in this book.
`Pixar owns the copyrights in the RenderMan Interface, including the list of procedures
`which constitute the interface, and the RenderManspecification and manuals. These may
`not be‘copied without Pixar's permission.
`Pixar will enforce its copyrights and trademark rights. However, Pixar does not intend to
`exclude anyone from creating modeling systems that call the RenderMan Interface pro-
`cedures. Also, Pixar does not intend to exclude anyone from creating rendering systems that
`execute the RenderMan Interface, procedures, provided a separate written agreement is
`entered into with Pixar.
`.
`
`"Pixar gives permission for you to copy the RenderMan procedurecalls for writing modeling
`. programs that tise the RenderMan Interface. Any program that incorporates any of the
`RenderMan procedure calls must include the proper copyright notice on each program copy,
`as given in the RenderManInterface Specification, available from Pixar.
`A no-chargelicense iis available from Pixar for anyone who wishesto write a renderer that
`uses the PixarRenderMan procedurecalls. This license mustbe in writing.
`The trademark “RendérMan” should refér only to the scene description interface created
`by Pixar. Please consult that RenderMan Interface Specification, available from Pixar, 3240
`Kerner Blvd., San Rafael, CA 94901, (415) 258-8100, for information on proper andlimited
`use of the trademark.
`Many of the designations used by manufacturers and sellers to distinguish their products
`are claimed as trademarks. Whete those designations appear in this book, and Addison-
`Wesley or Pixar was awareof a trademarkclaim, the designations have been printedin initial
`capsorall caps.
`
`Reprinted with corrections July, 1992
`
`Copyright © 1990 by Pixar. RenderManis a registered trademark of Pixar. All rights
`reserved.
`
`Nopart of this publication may be reproduced, storedin a retrieval system, or transmitted,
`in any form or by any means, electronic, mechanical, photocopying, recording, or other-
`wise, without the prior written permission of the publisher. Printed in the United States of
`America. Published simultaneously in Canada.
`9 10 MA 97
`
`ATI Exhibit 2017, Page 3 of 516
`
`ATI Exhibit 2017, Page 3 of 516
`
`
`
`Preface
`
`Computers and humans have been struggling for almost thir-
`ty years to forge a new tool for visual creation. The ambitions
`of computer graphics practitioners have hurtled along with
`stunning improvements in imaging methods to the point to-
`day that realistic three-dimensional image synthesis is ready
`to take its place as a legitimate, rich medium forartistic expres-
`sion. The worldwide computer graphics research community
`has brought forth a host of powerful techniques all across the
`field, yielding a quality of realism that would have been too
`much to hope for twenty, or even ten, years ago. Increases in
`computer power have brought
`the machines to within the
`reach of ordinary mortals, and the quality of software for gen-
`erating images has improved in parallel. A field that began as
`a laboratory novelty and luxury is now ready to hand visual
`artists a mature technology for creating stunning three-dimen-
`sional images.
`The major remaining problem is familiar from other comput-
`ing, technologies: tying it all together and making it accessible
`to people. The RenderMan Interface provides that access. It is
`a method for describing the content of an image to a comput-
`er program in the kind of detail required to reach realistic lev-
`els of complexity and quality. The two key characteristics of
`the interface are its conceptual simplicity and its complete-
`ness. RenderMan is about access to realism; and this book is
`about access to RenderMan. Cover to cover, every image in
`this book was rendered by a computer using the RenderMan
`
`ATI Exhibit 2017, Page 4 of 516
`
`ATI Exhibit 2017, Page 4 of 516
`
`
`
`The capabilities provided by RenderMan span much of
`present-day computer graphics. It is not practical to cover that
`topic from the ground up in one book. The ideal reader brings
`the equivalent of an undergraduate course in computer graph-
`ics. He or she should, however, be able to survive armed only
`with a feeling for
`three-dimensional geometry, an intuition
`into the nature of light reflection and enough experience with
`computers
`to read a program. Each discussion includes
`enough background to use the corresponding features,
`leav-
`ing out non-essential
`information. There are also suggested
`readings for anyone who wants more background.
`
`Those who will benefit most from the book are programmers
`who can generate computer models in enough detail to pro-
`duce interesting imagery. The RenderMan Interface is meant
`to be challenged, to expand the limits of what can be imagined.
`with a computer.
`
`Structure of This Book
`
`This book is divided into four parts. The first part is intended
`mainly to define terms and break ground for the remainder.
`Chapter 1 discusses the roots of synthetic imagery in the be-
`havior of light, and how RenderMan in particular reflects
`that process. A series of example programs in Chapter 2 step
`the reader through a basic RenderMan program, introducing
`specific aspects of the interface as they arise. After these exam-
`ples, the key concepts of the interface can be drawn in more
`detail in Chapter3.
`
`After this introductory material, Parts II and III should beself-
`sufficient. They separately address the topics of shape and
`shading. Part II covers shape, the description of geometric con-
`tent in three dimensions, as well as the process of viewing
`that contentin an image.
`
`The ability to create interesting variations in shading is intro-
`duced :in Part II: lighting scenes as a whole, and controlling
`the reflective properties of objects in a scene. The fourth part
`describes
`the RenderMan facilities
`that are important
`for
`achieving the most powerful shading effects: the RenderMan
`
`iv
`
`Preface
`
`ATI Exhibit 2017, Page 5 of 516
`
`ATI Exhibit 2017, Page 5 of 516
`
`
`
`Shading Language. The shading language challenges the us-
`er’s imagination by providing nearly complete control over
`the ultimate appearanceof an image.
`
`The goal of this book is to help the reader make pictures. In
`the beginning, we set out the conceptual structures and terms
`embodied in the interface so that the actual routines and stan-
`dard methods make sense. That exposition begins with the
`broad. discussions of the introductory chapters and culminates
`in the Glossary of Technical Terms found at the end. Every
`term is highlighted in boldface when first discussed or signifi-
`cantly expanded, and is summarized in the Glossary.
`
`To: flesh out the conceptual material, there are program exam-
`ples at each point of discussion, beginning with the simplest.
`The examples should be useful for learning the interface and
`should serve as a modelfor writing other programs.
`
`Once the concepts are mastered and the examples assimilated,
`the book should serve as a useful reference to the functional-
`ity of the interface, so that the programmer can look back and
`quickly extract the information necessary for actually using a
`particular routine. Two features are provided for that pur-
`pose. When a given procedure is first discussed, its definition
`is set off in a box along with a terse description of the proce-
`dure’s parameters and,
`if appropriate, a figure illustrating
`their meanings. At the end of the book, Appendix D declares
`all procedures in alphabetical order,
`together with the page
`wherethe boxed declaration appears.
`
`Appendixes A and C are also useful references; Appendix A
`summarizes
`the structure of RenderMan for determining
`what routines are appropriate at which point in a program,
`and Appendix C reproduces a C headerfile, ri.h, which de-
`clares all RenderMan types, routines and constants. Almost
`any RenderManrenderer will havea similar 17.h.
`
`they are often
`Since this is a book about computer images,
`used to illustrate points and concepts. All of the raster imag-
`ery found in the book was computer-generated, sometimes
`with line art added using Adobe Illustrator. All the synthetic
`imagery used the RenderManInterface.
`
`Structure of This Book
`
`v
`
`ATI Exhibit 2017, Page 6 of 516
`
`ATI Exhibit 2017, Page 6 of 516
`
`
`
`Acknowledgments
`
`I would never have had the opportunity to write this book
`without the support of Pixar. It took a great leap of faith to put
`a work of this complexity into the hands of a first-time au-
`thor, and a great deal of patience to remain calm as the scope
`of it actually dawned on him. In particular, the manager of
`RenderMan, Mickey Mantle, was a steady, cheerful pillar in
`the face of inflating schedules and authorialstress.
`
`A book like this is like an enormous, open-book take-home
`quiz consisting of one essay question, in which the only ac-
`ceptable score is Perfect. Sooner or later you realize that there
`is no alternative but to cheat by calling on the help of others.
`My warmest thanks and heartiest gratitude go to those who
`stepped in to contribute major pieces of this work:
`
`Thanks to: my Alpha readers (Ken Fishkin, Rick Sayre, Alvy
`Ray Smith, Flip Phillips, Dana Batali) for their tolerance for
`half-baked prose; my technical reviewers (Tony Derose, Lin-
`coln Hu, Andy Hertzfeld and Andries Van Dam) for their tact;
`my Beta readers (Ed Catmull, Alvy Ray Smith, Tom Porter,
`Pat Hanrahan, Darwyn Peachey, Tony Apodaca and Jim Law-
`son at Pixar, and Peter Shieh and Ann Eldredge at Autodesk)
`for their thoroughness and immunity to repeated readings;
`Craig Good for the use of his Venice photograph; and of
`course to Krys, Andrea and Kimberly for understanding my
`frequent absencesfrom hometo work.
`
`The images rendered here would have had to await the sec-
`ondedition without
`the tools of the Animation Production
`Group at Pixar, In particular, Eben Ostby provided handhold-
`ing and bug fixes with a cheerful, unflappable patience, and
`Don Conway worked weekends scanning colorplates.
`
`Tom Deering and Fred Bunting bore the brunt of turning a
`large body of text into a finished book: Tom’s line art graces
`every chapter, and Fred had to condense hundreds of techni-
`cal terms into the Glossary. The two of them skillfully worked
`a pile of touchy software to greateffect, and Tom’s twins spent
`many Dadless weekends as a result. Nancy Tague’s consulta-
`tion on typography and layout was equally essential. Without
`
`vl
`
`Preface
`
`ATI Exhibit 2017, Page 7 of 516
`
`ATI Exhibit 2017, Page 7 of 516
`
`
`
`the sense of craft brought by Nancy, Tom and Fred, the finish
`on this project would have been much the worse.
`Tom Porter: spent many weeks with Pat Hanrahan on diplo-
`matic forays gathering industry input on the RenderMan In-
`terface. Tom’s contribution. didn’t stop there, however. He
`was alreadyavailable to pick up thankless tasks like managing
`the production of the color section and correcting images. His
`desk, has for years borne a worn, cracked, chipped bowling pin
`labelled “The Complexity. of Reality.” He made that complexi-
`ty a reality fer.the cover itnage, dubbed “Textbook Strike,” as-
`sembling the power of RenderMan to make what I believe to
`be the second most convincing synthetic image ever pro-
`duced. The greatest. of thanks to him and to Flip Phillips, who
`animated the bowlingpins.
`The entire RenderMan. teain at Pixar contributed to this book
`either directly, by pitching in, or indirectly, by clearing space
`for others to help out. This is the first publicly available fruit
`of their effort, and I only hope it is a faithful reflection of their
`capability and dedication.
`The RerderMan Mafia, Tony Apodaca, Darwyn Peachey arid
`Jim Lawson, took their microscopes to.a whole series of penul-
`timate drafts of the manuscript, ferreting out errors and tak-
`ing thé time in the midst of hectic implementation to nail
`down dozens of details at the fringes of the specification. They
`also responded immediately to bug reports when the images
`were in production.
`Mike Malione shouldered the job of collecting a set of useful,
`pedagogically iriteresting shaders and making them present-
`able in Chapter 16. The results are a credit to his care andskill.
`Malcolm Blanchard developed the shaders
`for
`the office
`scene, pencils arid guitar in the color plates, and he wasal-
`ways available and cheerful to pick up pieces of work, render
`pictures, instantly read one more penultimate draft or make a
`program useful, correct or interesting.
`Finally, I am in many ways only a ghost writer for the archi-
`tect ofthe RenderMan Interface, Pat Hanrahan. Not only did
`he sally forth on dozens of missions to hammer out a coher-
`ent design. Not only did he bring his own clarity of thought
`and sense of purpose to maintaining order in the face of po-
`
`Acknowledgments
`
`vii
`
`ATI Exhibit 2017, Page 8 of 516
`
`ATI Exhibit 2017, Page 8 of 516
`
`
`
`tential chaos. Not only did he read more drafts of this book
`than anyoneelse, and in more exhaustive detail. Not only did
`his comments clarify the text consistently. But his determina-
`tion to make this a useful, cogent, accessible description of
`RenderMan kept me going two drafts after my own motiva-
`tion had worn to the nub. Those two drafts madeall the differ-
`ence in the finished product.
`This book is affectionately dedicated to Pat. His contribution
`to Pixar will long befelt.
`
`.
`
`Further Reading
`
`For playing catch-up before beginning this book,there are two
`widely-used general texts in the computer graphics field. New-
`man and Sproull’s Principles of Interactive Computer Graphics
`[NEWMAN79] has been. a standard for almostfifteen years. It
`covers much more than three-dimensional
`raster graphics,
`and as a result its coverage of that topic may be too broad for
`the current reader. Foley & Van Dam’s Fundamentals of Interac-
`tive Computer Graphics [FOLEY82] is more recent, and has con-
`comitantly more emphasis on raster graphics. The upcoming
`second edition promises to be exhaustive. Either of these texts
`would be useful to readers who skip around intelligently. Less
`well-known, but no less useful, is Roger’s Procedural Elements
`of Computer Graphics [ROGERSS85].
`At a more sophisticated level, computer graphics is a fast-
`moving field, and a. substantial amount of its work is found
`in academic papers. The yearly proceedings of the Association
`for’ Computing Machinery’s Special Interest Group in Com-
`puter Graphics (SIGGRAPH)are the venue of choice for lead-
`ing research, along with the ACM’s Transactions on Graphics.
`They form a rich source of advanced information. A good col-
`lection of papers from SIGGRAPH and other sources is John
`Beatty and Kelly Booth’s
`‘Tutorial: Computer Graphics”
`[BEATTY82], published by the Institute of Electrical and Elec-
`tronic Engineers.
`.
`
`viii
`
`’ Preface
`
`ATI Exhibit 2017, Page 9 of 516
`
`ATI Exhibit 2017, Page 9 of 516
`
`
`
`
`
`| Table of Contents
`
`
`
`Preface oon ecccccscccessssesessssssssseeessssnsssvesscssssssseeessssssneeseeesssnnnesetee
`
`tii
`
`FOPOWOTK nn... esesseesseeeecsssssssenececsssssnnsesssssssnnsscsnnsnnneeenecnenneesss
`
`xv
`
`1
`The Image-Rendering World .........0........ccceeccceceeeeeee
`' Making Pictures in the Real World .........ccs 2
`Synthetic Rendering: How Computers DoIt... een
`5
`Modeling vs. Rendering.......sccssssnietsenes
`11
`
`Whatis RenderMan?ou... ccesecccsssesssaeesesseseeenerenesseeneesess
`412
`WhatRenderMan Offers ......csessssssesseesseenserseessssensereresreeess
`14
`
`Getting Started cesseccccesssessseesessssseseeeeeeeeseeseeensssoneeevese
`
`A Basic Program...
`Controlling the Picture...
`A More Complex ODjeCt.......scecesssseeesseessensesssssssessseeneenenes
`Combining Objects...........00
`
`A Simple Animation...............
`we
`vee
`
`SUMIMALY o..scsssccerseceeeesseneseaneseanesgesseeeeseseassesuecenecesecaneneenneneaney
`
`The Structure of a RenderMan Program.....................
`RenderMan Procedures....ssscssssesscscrsnssesesrerscsrsssesersecsennes
`Data TYPes ...scteeseteeeeeees
`vee
`ese
`Graphics State...ccc
`Program Structure: BIOCKS......scsessesseecsesegeesssssseeeereessaenes
`
`
`
`17
`17
`20
`23
`29
`33
`34
`
`/
`37
`37
`40
`44
`47
`
`ix
`
`ATI Exhibit 2017, Page 10 of 516
`
`ATI Exhibit 2017, Page 10 of 516
`
`
`
`
`Coordinate Systems..
`
`
`Hider Selection..........osssessssseesiness
`A Boilerplate RenderMan Program.......cscccccsssceeceneige
`SUITATY0...sseessseccssseeccnseceestsersussceesssscsssssenssecsesseessseesessesssnses
`CHAPTER 4
`.
`Primitive Surfaces I: Quadric Surfaces... 59
`Quadric Declaration ROUtiies ...cccssccsssessssessssssseccsssssssesssesens
`62
`
`54
`54
`56
`
`CHAPTER 5
`Primitive Surfaces I]: Polygons................. canseseccnuenveeeceeeenners
`Basic Polygon Types....sesssssssesesscssensesseensniesescennsnieseessanies
`CHAPTER 6
`;
`85
`Primitive Surfaces III: Parametric Surfaces...
`
`86
`Uniform Bilinear and Bicubic Patches...............
`90
`Types of Bicubic Surface... iscssesessessssesesesssesssssseesseersscess
`94
`Bicubic Patch Meshes.......ccsscssesssessesssecenessecseessessssssessessees
`Non-uniform RationalB+-Spline Surfaces (NURBs)........... 103
`Further Reading... isssssesssssesssesssssecseestecsesssseessescnseatesesseeese 105
`
`69
`69
`
`CHAPTER 7
`
`Geometric Transformations and Hierarchical
`Modeling...............assaresconnseescensensenssuecseeeeieresessnecsssssssssena 107
`
`Concepts of Hierarchical Modeling...epee: 107
`
`Geometric Transformation Environmentoo... 110
`
`Constructive Solid Geometry ....ccccccseceseeseseseeeeeseeseeteee 125
`Object IMStancitng «oeeseeessecseceesssessssenseseatsasansesneseescneseesceeesseas 133
`CHAPTER 8
`Viewing |: The Digital Camera... 137
`An Example viewing Program desaeescesecseescsnssereesesseeetenenserees 138
`sacdesesseceseeeeeeeateseeesetaes seeseaeseaeneneeaees
`141
`A Virtual Camera..
`
`The Digital Image...
`A Better Viewing Prograim....csccssssessesssssecsssscnenssesecneenes 167
`
`CHAPTER 9
`Viewing II: A Modelof the Rendering Process............. 171
`Surface Approximation....cccccclsesssseccnseccneenecesneeses
`171
`Raster OUPUt.eeieeecscsssesscssenegueeaseneeresecnesaceeenesneeaeases 172
`
`x
`
`Table of Contents
`
`ATI Exhibit 2017, Page 11 of 516
`
`ATI Exhibit 2017, Page 11 of 516
`
`
`
`
`Depth ofField .......
`
`.Motion Blur.............
`
`Further Research o.....ccccccssccsccscsssceccesssecercsusesscescsaseescssseereeeees
`191
`
`Procedural Models and Level of Detail.......................... 193
`Level of Detail Calculations and Models...............sseeeee
`194
`
`Procedural Models......c:scsssceneereecsseeeesssssees
`wee
`201
`Further Reading.....ccssccsssssessecssessesreeeneereesesaneenessicansenecsscnnsenes 208
`
`.
`Lighting and Shading.............ccsssssccsccsiessseeseeeeesseeneeness 209
`Using Shaders .....cccsssccssessssescusesensecnreennresseessnesccasenniseanranes
`211
`Light Source Shaders..
`wa. 216
`
`wee 225
`Surface ShaderS......:cssseccssersecctserreeceseserees
`Volume Shaders........ccsccccecscesreceeersesecersneses
`we 233
`
`wa 237
`Other Shaders.........
`
`Further Reading .....ccsecsesssssecesseenersecnsensneeressssscseenennesneenanns 237
`
`Surface Mapping... cccccssssscesssssseeenecseeseessessssnssnnnneeens 239
`Simple Surface Mapping...cssesiesecsmeseeeeseenneenatey
`241
`Using Texture Maps........-ee
`we 250
`
`Texture Mapping Generalized....
`257
`
`CONCIUSION wiccicccseecssceeseteecesceneeseecceessecessessteneeeenssenessensaneees 270
`Further Reading ........cccsseseseeeseeseseerecesnesseesnesnssmeamnanseneas
`271
`
`273
`The RenderMan Shading LanguageI: Introduction
`Shaders from the Outside Looking In...cesses 276
`Shaders from the Inside Looking Out... cesses 280
`
`An Example Shader ......cccseecsscsseesecseersecressetennesseesnaessanssaes 282
`
`Further Reading ........cccessssecsssseeeeeetesneseseesesssmsannnsennaeese 285
`
`CHAPTER 14
`287
`The RenderMan Shading LanguageII: Description
`Defining Shaders and FUnctions.........sssccsseeessseesessesens 287
`Data eceecccscsscssscsssssssccssenscesscecssccesscseeerersesaeseassessepseessscaersssneeages 288
`
`
`SYMEAX .o.ssecssecseesessssensecseceerenseneteveesnessssseessesnassenssenneeneseaesnatnasens 297
`MTUMIMANCE 0. ese cessescaceeeeeeeaerseeeseseesesssseensaeesscseneseeeenes 302
`illuminate and sollar..........:ccccccccecece se sceseessesesssaneseseseneseenense 305
`
`Table of Contents
`
`xi
`
`ATI Exhibit 2017, Page 12 of 516
`
`ATI Exhibit 2017, Page 12 of 516
`
`
`
`CHAPTER 15
`
`The RenderManShading LanguageIII: Tools................ 311
`Mathematical Functions......cc.ccccsssssssscsssevrsssscerserevsesesneeceees 311
`
`Shading, Coloring, and Lighting Functions........ccese 315
`Map Access Function.1.......cccccssessesecseeseesesteeesssateeaseeenes 319
`Geometric Functions 0... cesses eecessessesseensseseeesessceseenee 325
`Further Reading...eescssessesecteneeseeseesseectsarsessessestesessaeaes 332
`
`CHAPTER 16
`
`A Gallery of Shaderss...........:cccccccscssssesscscsssssssssessssssessenssnsssssisn 333
`Standard shaders ...0.......ecessccecseseececeeseeneessSeaseseseeaeavevenssuennene 333
`Procedural Texturing .....cccccceseessscneeeesssseenserecseaseess 343
`Simple Tricks............ esceeeseeeseeneseseeseessersscsecueneassatseersacsneaenneees 360
`
`Texture Mapping ........ccssccccecesescceerersensectenesseseateaseseeassaeess 371
`A Case Study: One Perfect Pencil uu... ceesecseeeceeeeeseeeeees 381
`Further Examples......ccccscssssssssssssssescssssssessecesnseneeetersseers 386
`The FUture oo... cscssssesessescssscssesstssvessesssessenesnescneeaseneerersasereesess 387
`
`APPENDIX A
`
`Summaryof RenderManProgram Structure................. 389
`Order of Transformations 0.0... cc escescceeseseereeeeatesteseerseenees 389
`RenderMan Program Structure .......ceesecesscseecsenseeneeees 390
`
`APPENDIX B
`
`Constructing Basis Matrices for Bicubic Surfaces....... 393
`Introduction oo... eessecsessscssesarsssesseessesseeseaeecessnteaseceeeasentsneensenees 393
`A TensedInterpolating Spline........csseecesessssereeseceeeenees 395
`A Tensed Approximating Spline 00...
`eeeeeeeeeee 398
`A Biased, Tensed Interpolating Spline... 400
`
`A Biased, Tensed Approximating Spline... 402
`Further Reading ...c.cccessssssecsscssensesecceessessesseessesessatenesses 403
`
`APPENDIX C
`
`The rif Header File .........cccccccccceccsssccccsesessssessssseessseesssssess 405
`
`APPENDIX D
`
`,
`
`List of RenderMan Functions o.........cccccecccccsseecssssseeescseeeees 409
`
`RenderManInterface Routines..............
`RenderMan Shading Language Routines... 415
`
`xti
`
`Table of Contents
`
`ATI Exhibit 2017, Page 13 of 516
`
`ATI Exhibit 2017, Page 13 of 516
`
`
`
`Glossaryof Technnical Teri..............ccccccssscscsscscssssssseeneneee 419
`
`Bibliography«ssssssscetssssssscsnnceeceeeeessssmnnnnnanscseceeeee 443
`
`VWooccccccccssssesseececseessscenessvssscsusssscsscsuccseessccueesunsnseaessceneensesuteaeeere 447
`
`Table of Contents
`
`;
`
`xiii
`
`ATI Exhibit 2017, Page 14 of 516
`
`ATI Exhibit 2017, Page 14 of 516
`
`
`
`ATI Exhibit 2017, Page 15 of 516
`
`ATI Exhibit 2017, Page 15 of 516
`
`
`
`
`
`
`
`Foreword
`
`The quest for realism in computer graphics has had an excit-
`ing history. We have seen an evolution from crude pictures
`made on expensive research machines to compelling images
`made on desktop computers. This quest has been one of the
`focal points of my professionallife. It has been a fun and re-
`warding twenty years.
`
`Back in the early days of computer graphics we were happy to
`get any picturesat all. The objects had jagged edges and looked
`like they were made out ofplastic, but we were full of ideas
`that could make them look better. Our goal was to make the
`images lookreal.
`the University of
`the early developments were at
`Utah, where Dave Evans and Ivan Sutherland started a re-
`markable computer graphics program that attracted people
`from all over. In addition, Utah had a notable image process-
`ing group led by Tom Stockham. Thefirst major task was to
`develop algorithms for determining what was visible in a
`scene, which led to the famous paper analyzing hidden-sur-
`face algorithms by Ivan Sutherland, Bob Sproull, and Bob
`Schumacher. My own contribution here was the develop-
`mentof the Z buffer.
`Better shading was the next major problem. Henri Gouraud
`discovered that he could substantially reduce the faceted ap-
`pearance of objects by linearly interpolating the values at the
`vertices of the polygons. Bui T. Phong took it a step further by
`interpolating the surface normals to get a smoother appear-
`ance as well as highlights. I made a contribution by develop-
`
`XV
`
`ATI Exhibit 2017, Page 16 of 516
`
`ATI Exhibit 2017, Page 16 of 516
`
`
`
`ing texture mapping and the display of cubic patches. It was
`only at this point that I felt pictures were starting to look real-
`istic. Jim Blinn went on to extend texture mapping to include
`perturbation of surface normals, producing stunning pictures
`of oranges and strawberries. We had reached the point where
`the calculations required to shade became greater than. those
`required to determinevisibility.
`As computer graphics developed, major advances began to
`come from other places. I left Utah to become the director of
`the Computer Graphics Lab at the New York Institute of Tech-
`nology, where researchers from all over the country came to
`develop realistic images and animation. During the late 70's
`Cornell grew to be a major computer graphics institution un-
`der the direction of Don Greenberg.
`It was there that Rob
`Cook discovered that the lighting model everyone used best
`approximated plastic. He proposed a different model that Jet
`us simulate other surfaces such as metals.
`By the early 80’s realism fever began to catch hold. Turner
`Whitted made ray tracing popular and thus started a caval-
`cade of advances in ray tracing. At first the pictures took ex-
`traordinarily long to produce—sometimes days. But again
`new algorithms were developed that made ray tracing more
`efficient. Around the same time SIGGRAPH became a phe-
`nomenon. Each year the proceedings had some great new pic-
`tures: fractals, plants, radiosity, cloth, and so on. Somecriti-
`cized the emphasis on “pretty pictures,” but the excitement
`was undeniable. Every time someone made a new discovery
`it would be shown to colleagues, resulting in raves and ap-
`plause, and causing others to redouble their efforts to do even
`better.
`
`In 1979 Alvy Ray Smith and I had joined Lucasfilm to start
`the Computer Division, which later became Pixar. Some of
`the best people from the above institutions gathered to try to
`make images so realistic that they could be used in live-action
`motion pictures.
`Wedecided to throw the book out and start all over again in
`defining a system for creating extremely complex pictures
`with a high degree of realism. We had a phenomenal team—
`both Loren Carpenter and Rob Cook were amazingly produc-
`tive and creative. Rodney Stock suggested dithered sampling
`
`xvi
`
`Foreword
`
`ATI Exhibit 2017, Page 17 of 516
`
`ATI Exhibit 2017, Page 17 of 516
`
`
`
`and Tom Porter suggested spreading the samples over time.
`Rob generalized the shading formulas to “shade trees,” Pat
`Hanrahan and Jim Lawson generalized this to a shading lan-
`
`Thepictures werestarting to look amazingly good.
`And just as important. we now understood what it meant to
`describe an image. This opened the door to the definition of an
`interface that could be independent of algorithms, hardware,
`and speed of execution. Pat, Hanrahan putall that we knew
`about geometry, lighting models, ray tracing, antialiasing, mo-
`tion blur, and shade trees into a compact interface, which he
`named RenderMan.
`Our goal wasn’t just to make photorealistic pictures; it was al-
`so to make the tools and systems that would let thousands of
`people create pictures of whatever they chose to design. Two
`more things were needed. Mickey Mantle, Tony Apodaca, Dar-
`wyn Peachey, and Jim Lawson took research code and made
`software that met the RenderMan specification. Finally, Steve
`Upstill took responsibility for explainingit all in this book.
`The quest for better pictures will continue, of course, but we
`have reached a new era. I am proud to be associated with the
`team that has made the results of twenty years of research
`available to everybody.
`
`Ed Catmull
`
`The RenderManinterface is meant to be the PostScript of 3-D
`graphics. Just as PostScript allows a desktop publishing system
`to pass page representations to a printer, RenderMan allows
`three-dimensional modeling systems to pass scene descrip-
`tions to a renderer. The design of the RenderManinterface
`hasbeen the result of a great deal of experience designing and
`implementing rendering systems.
`In 1981 Loren Carpenter wrote the first rendering system at
`Lucasfilm. He named it REYES, which stood for Renders Every-
`
`xvii
`
`ATI Exhibit 2017, Page 18 of 516
`
`ATI Exhibit 2017, Page 18 of 516
`
`
`
`thing You Ever Saw. After its use for the Genesis effect of Star
`Trek I, the Wrath of Khan, Rob Cook and Ed Catmull set out
`with Loren to redesign it to produce film resolution pictures
`of typical naturally occurring scenes. They estimated that a
`model of a natural scene would require 80,000,000 polygons, a
`level of complexity far beyond the capabilities or even aspira-
`tions of existing systems. This goal forced them to rethink ev-
`ery aspectof the rendering process.
`Another fundamental goal of the Lucasfilm group was to
`avoid digital artifacts in image production. The most trouble-
`some were those due to spatial aliasing (aggies), but
`they
`came to realize that
`temporal aliasing was responsible for
`strobing artifacts during animation. A practical motion blural-
`gorithm was therefore needed. A friendly competition among
`Ed, Loren and Rob culminated in Rob’s discovery of stochastic
`sampling, which led to practical solutions for spatial antialias-
`ing, motion blur, depth of field and a variety of other effects.
`One of the most challenging aspects of the RenderMan design
`was the goal
`to allow control over these effects, and image
`quality in general.
`
`During this period Rob also invented shade trees, which Jim
`Lawson and I have enhanced to be a complete shading lan-
`guage. The observation that modeling the optical properties
`of real materials requires the full generality of a programming
`language is perhaps the most important aspect of RenderMan,
`and one which distinguishes it from other graphics interfaces,
`which are usually based on a single large parameterized shad-
`ing model.
`
`to routinely generate pictures
`It was painfully obvious that
`containing 80,000,000 polygons in a reasonable amount of
`time would require special-purpose hardware. Tom Porter,
`Adam Levinthal, Mark Leather and Jeff Mock set out to de-
`sign a large-scale machine, named the REYES machine, to ren-
`der these types of pictures. The prospect of the REYES ma-
`chine led to the need for a standard interface between the
`scenes being produced by a modeling system and accepted by
`the rendering system. This interface is RenderMan.
`Bill Reeves and I designed the first version of RenderMan.
`Most notable was the fact that the interface was built around
`
`xviii
`
`Foreword
`
`ATI Exhibit 2017, Page 19 of 516
`
`ATI Exhibit 2017, Page 19 of 516
`
`
`
`the
`that
`It was thought crucial
`curved-surface primitives.
`modeling program not convert
`these into polygons, because
`this would lead to geometric artifacts (polygonal silhouettes)
`and shading artifacts (Mach bands) in the final images. In fact,
`rendering curved surfaces had always been an active area of
`research at Lucasfilm and Pixar, beginning with Tom Duff's
`quadric and Loren Carpenter’s bicubic patch rendering algo-
`rithms. Of course, the process of choosing the exact set of
`primitives caused many heated arguments. In the end, weal-
`lowed for primitives that rendering systems could be expected
`to handle directly, without decomposition.
`Ourinitial specification was then circulated internally for an
`extensive design review. Tony Apodaca, Loren Carpenter, Ed
`Catmull, Rob Cook, Charlie Gunn, Paul Heckbert, Jim Law-
`son, Sam Leffler, Mickey Mantle, Eben Ostby, Darwyn
`Peachey, To