Understand the fundamentals of Bxdf plugins for RenderMan® 21+, both the technical details and API architecture. The main goal of the book is to enable technical artists, hobbyists, and students in using the noncommercial (NCR), free RenderMan® edition. RenderMan® is an industry standard for rendering software. It has been used for every Pixar film to date and numerous other projects. RenderMan® 21, and all subsequent versions, use Monte Carlo path tracing. This change has necessitated the use of C++ plugins in place of the RenderMan Shader Language (RSL). Because of this, writing Bxdfs now requires knowledge of Monte Carlo integration, probability density functions, and the RenderMan® C++ API.
Essential Guide to RenderMan® Shading Plugin Development specifically addresses writing RenderMan® C++ materials. It explores the mathematical models of representative Bxdfs while drawing parallels, when helpful, to earlier RSL implementations. It also includes an overview of Integrators, providing further context for modern RenderMan® programmable shading.
What You Will Learn- C++ development for Bxdfs
- Fundamentals of the rendering equation
- Monte Carlo integration
Who Is This Book ForBeginner plugin writers for RenderMan®, such as technical artists, students, or hobbyists who may already have experience with RSL or another shader language. More experienced C++ developers without knowledge of RenderMan® or Monte Carlo path tracing will benefit from the content as well. While some prior experience in computer graphics is helpful, the book provides background and references for further study.
Chapter 1: Overview, Brief Contextual History, and Pixar's Non-Commercial RenderMan.- Chapter 2: What RenderMan Plugins Are Made Of: C++ Language and Shared Object Files.- Chapter 3: Radiometry and Bi-Directional Scattering Functions.- Chapter 4: Monte Carlo integration and Global Integrators.- Chapter 5: The RenderMan (Rix) API.- Chapter 6: Canonical Scattering Regimes for Bxdf.- Chapter 7: Developing and Debugging Bxdf.- Chapter 8: PDF Normalization, Sampling, and Anisotropic Bxdf.- Conclusion.