Course 21: Writing RenderMan Shaders Tony Apodaca (Pixar) Darwyn Peachey (Pixar) Tom Porter (Pixar) Rick Sayre (Pixar) Eliot Smyrl (Pixar) Who Should Attend Anyone who would like to write RenderMan shaders for high-quality image or animation production. Level/Desired Background We called it Advanced, but don't let that scare you. The course does require a solid background in both 3-D computer grahics and programming, but you don't have to be a rocket scientist. Some familiarity with the RenderMan Shading Language is strongly encouraged (e.g., took the previous Siggraph course or have read the "RenderMan Companion", or have written at least one shader). We will be talking a lot about Shading Language programs, however, so fluency in the C programming language is expected. Course Description The RenderMan Shading Language is a special-purpose programming language that performs shading calculations in RenderMan rendering programs. Shading Language programs, called shaders, can be used to model materials and effects in a physically realistic or in an "unrealistic" artistic style. Attendees learn how to write shaders that create a rich visual world in applications such as animation, CAD and presentation graphics. Examples of successful RenderMan images and animations will be presented as detailed case studies to give attendees an injection of practical experience with the Shading Language. Course Objectives The course covers the theory and practice of writing sophisticated RenderMan shaders to simulate natural and artificial objects and effects, such as: bricks, plants, fruit, fire, water and special light sources, in rendering styles ranging from photorealistic to cartoon style. No one is going to become an instant expert, but the attendees should learn some useful techniques of how to approach shader writing problems, and should leave with the confidence that they too can write visually complex shaders to simulate interesting surfaces. Suggested Reading Material "The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics", Steve Upstill, Addison-Wesley, ISBN 0-201-50868-0 This is the basic textbook for RenderMan, and is a must read. Chapters 11 through 16 cover shading and the relationship between geometry and shaders. The cover image and the color plates are the kind of images that attendees will be able to make after attending this course. "The RenderMan Interface and Shading Language", Siggraph 1991 Course #21 Course Notes (or alternatively, Siggraph 1990 Course #18 Course Notes) These are the notes to the previous course on RenderMan. The second half of the course notes concentrate on Shading Language basics, and fulfill the prequisite for this course. If you can find one of these, you should take a few minutes to review them. Speaker Biographies Tony Apodaca is a Senior Engineer and Project Manager in the RenderMan Division at Pixar. Tony is co-developer and reigning Chief Architect of the RenderMan Interface Specification. He is also one of the Unknown Implementors of Pixar's image synthesis products. Tony received his Master's degree in Computer and Systems Engineering at Rensselaer Polytechnic Institute in 1986. His screen credits include Tin Toy and knickknack, but not Terminator 2. Darwyn Peachey is an Animation Scientist at Pixar. Since 1988 he has worked on the design and implementation of the RenderMan renderers and in-house animation software. Darwyn received M.Sc. and B.Sc. degrees in computer science from the University of Saskatchewan, Canada. Prior to joining Pixar he spent three years developing UNIX kernel software and four years as a member of the computer science research staff at the University of Saskatchewan. Tom Porter is Director of Effects Animation at Pixar. Tom has been working in 3-D graphics since 1976. He wrote the software for the first commercial paint program (the Ampex AVA), developed fundamental algorithms for digital compositing (which led to the Pixar Image Computer) and for motion-blurred rendering. Tom has taken time out over the years to create still frame images (1984, Textbook Strike) to advance the state of the art in computer generated photorealism, his main research interest. Eliot Smyrl joined Pixar in 1989 after receiving his M.S. and B.S. degrees in Computer Science from the University of California at Berkeley. At Pixar, Eliot worked in the RenderMan Group developing Looks software before joining the Animation Production Group in January, 1991. He currently serves as a technical director and production software developer. Eliot plays the trumpet and enjoys wandering around uninhabited mountainous areas. Rick Sayre joined Pixar in 1987. He received his B.S.E.E. from the University of California at Berkeley and studied film at the University of California at Davis. At Pixar, he built a wide variety of warping and image processing tools and constructed shaders before joining the Animation Production group, where he is a technical director and production software developer. Rick has outside interests which could be used to label him Art Damaged, and occasionally blows up performance artists.