The Renderman Interface

Total Page:16

File Type:pdf, Size:1020Kb

The Renderman Interface The RenderMan Interface Version 3.2 July, 2000 Copyright c 2000 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 assumes no responsibility or liability for any errors or inaccuracies that may appear in this publication. RenderMan R is a registered trademark of Pixar. i TABLE OF CONTENTS List of Figures vii List of Tables viii Preface x Part I The RenderMan Interface 1 Section 1 INTRODUCTION 2 1.1 Features and Capabilities . 4 1.1.1 Required features . 4 1.1.2 Advanced Capabilities . 5 1.2 Structure of this Document . 6 Section 2 LANGUAGE BINDING SUMMARY 7 2.1 C Binding . 7 2.2 Bytestream Protocol . 10 2.3 Additional Information . 11 Section 3 RELATIONSHIP TO THE RENDERMAN SHADING LANGUAGE 12 Section 4 GRAPHICS STATE 15 4.1 Options . 19 4.1.1 Camera . 19 4.1.2 Displays . 28 4.1.3 Additional options . 34 4.1.4 Implementation-specific options . 36 4.2 Attributes . 37 4.2.1 Color and opacity . 38 4.2.2 Texture coordinates . 40 4.2.3 Light sources . 41 4.2.4 Surface shading . 44 4.2.5 Displacement shading . 46 4.2.6 Volume shading . 46 4.2.7 Shading rate . 48 4.2.8 Shading interpolation . 49 4.2.9 Matte objects . 49 4.2.10 Bound . 51 ii 4.2.11 Detail . 51 4.2.12 Geometric approximation . 53 4.2.13 Orientation and sides . 53 4.3 Transformations . 55 4.3.1 Named coordinate systems . 58 4.3.2 Transformation stack . 60 4.4 Implementation-specific Attributes . 60 Section 5 GEOMETRIC PRIMITIVES 62 5.1 Polygons . 63 5.2 Patches . 68 5.3 Subdivision Surfaces . 75 5.4 Quadrics . 77 5.5 Point and Curve Primitives . 83 5.6 Blobby Implicit Surfaces . 85 5.7 Procedural Primitives . 87 5.8 Implementation-specific Geometric Primitives . 92 5.9 Solids and Spatial Set Operations . 92 5.10 Retained Geometry . 94 Section 6 MOTION 96 Section 7 EXTERNAL RESOURCES 99 7.1 Texture Map Utilities . 99 7.1.1 Making texture maps . 99 7.1.2 Making environment maps . 100 7.1.3 Making shadow maps . 102 7.2 Errors . 103 7.3 Archive Files . 104 Part II The RenderMan Shading Language 106 Section 8 INTRODUCTION TO THE SHADING LANGUAGE 107 Section 9 OVERVIEW OF THE SHADING PROCESS 109 Section 10 RELATIONSHIP TO THE RENDERMAN INTERFACE 112 Section 11 TYPES 114 11.1 Floats . 114 11.2 Colors . 114 11.3 Points, Vectors, and Normals . 115 11.4 Transformation Matrices . 116 11.5 Strings . 117 11.6 Arrays . 117 11.7 Uniform and Varying Variables . 118 Section 12 SHADER EXECUTION ENVIRONMENT 119 iii 12.1 Surface Shaders . 119 12.2 Light Source Shaders . 120 12.3 Volume Shaders . 122 12.4 Displacement Shaders . 122 12.5 Imager Shaders . 122 Section 13 LANGUAGE CONSTRUCTS 125 13.1 Expressions . 125 13.2 Standard Control Flow Constructs . 125 13.3 Illuminance and Illuminate Statements . 127 Section 14 SHADERS AND FUNCTIONS 129 14.1 Shaders . 129 14.2 Functions . 131 Section 15 BUILT-IN FUNCTIONS 133 15.1 Mathematical Functions . 133 15.2 Geometric Functions . 137 15.3 Color Functions . 140 15.4 Matrix Functions . 140 15.5 String Functions . 141 15.6 Shading and Lighting Functions . 141 15.7 Texture Mapping Functions . 143 15.7.1 Basic texture maps . 145 15.7.2 Environment maps . 145 15.7.3 Shadow depth maps . 146 15.7.4 Getting Information About Texture Maps . 146 15.8 Message Passing and Information Functions . 146 Section 16 EXAMPLE SHADERS 151 16.1 Surface Shaders . 151 16.1.1 Turbulence . 151 16.1.2 Ray tracer . 152 16.2 Light Sources . 152 16.3 Volume Shader . 153 16.4 Displacement Shaders . 154 16.5 Imager Shaders . 154 Section A STANDARD RENDERMAN INTERFACE SHADERS 155 A.1 Null Shader . 155 A.2 Surface Shaders . 155 A.2.1 Constant surface . 155 A.2.2 Matte surface . 155 A.2.3 Metal surface . 156 A.2.4 Shiny metal surface . 156 A.2.5 Plastic surface . 156 A.2.6 Painted plastic surface . 157 A.3 Light Source Shaders . 157 A.3.1 Ambient light source . 157 iv A.3.2 Distant light source . 157 A.3.3 Point light source . 158 A.3.4 Spotlight source . ..
Recommended publications
  • 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]
  • 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]
  • Surface Recovery: Fusion of Image and Point Cloud
    Surface Recovery: Fusion of Image and Point Cloud Siavash Hosseinyalamdary Alper Yilmaz The Ohio State University 2070 Neil avenue, Columbus, Ohio, USA 43210 pcvlab.engineering.osu.edu Abstract construct surfaces. Implicit (or volumetric) representation of a surface divides the three dimensional Euclidean space The point cloud of the laser scanner is a rich source of to voxels and the value of each voxel is defined based on an information for high level tasks in computer vision such as indicator function which describes the distance of the voxel traffic understanding. However, cost-effective laser scan- to the surface. The value of every voxel inside the surface ners provide noisy and low resolution point cloud and they has negative sign, the value of the voxels outside the surface are prone to systematic errors. In this paper, we propose is positive and the surface is represented as zero crossing two surface recovery approaches based on geometry and values of the indicator function. Unfortunately, this repre- brightness of the surface. The proposed approaches are sentation is not applicable to open surfaces and some mod- tested in realistic outdoor scenarios and the results show ifications should be applied to reconstruct open surfaces. that both approaches have superior performance over the- The least squares and partial differential equations (PDE) state-of-art methods. based approaches have also been developed to implicitly re- construct surfaces. The moving least squares(MLS) [22, 1] and Poisson surface reconstruction [16], has been used in 1. Introduction this paper for comparison, are particularly popular. Lim and Haron review different surface reconstruction techniques in Point cloud is a valuable source of information for scene more details [20].
    [Show full text]
  • Experimental Validation of Autodesk 3Ds Max Design 2009 and Daysim
    Experimental Validation of Autodesk® 3ds Max® Design 2009 and Daysim 3.0 NRC Project # B3241 Submitted to: Autodesk Canada Co. Media & Entertainment Submitted by: Christoph Reinhart1,2 1) National Research Council Canada - Institute for Research in Construction (NRC-IRC) Ottawa, ON K1A 0R6, Canada (2001-2008) 2) Harvard University, Graduate School of Design Cambridge, MA 02138, USA (2008 - ) February 12, 2009 B3241.1 Page 1 Table of Contents Abstract ....................................................................................................................................... 3 1 Introduction .......................................................................................................................... 3 2 Methodology ......................................................................................................................... 5 2.1 Daylighting Test Cases .................................................................................................... 5 2.2 Daysim Simulations ....................................................................................................... 12 2.3 Autodesk 3ds Max Design Simulations ........................................................................... 13 3 Results ................................................................................................................................ 14 3.1 Façade Illuminances ...................................................................................................... 14 3.2 Base Case (TC1) and Lightshelf (TC2)
    [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]
  • Open Source Software for Daylighting Analysis of Architectural 3D Models
    19th International Congress on Modelling and Simulation, Perth, Australia, 12–16 December 2011 http://mssanz.org.au/modsim2011 Open Source Software for Daylighting Analysis of Architectural 3D Models Terrance Mc Minn a a Curtin University of Technology School of Built Environment, Perth, Australia Email: [email protected] Abstract:This paper examines the viability of using open source software for the architectural analysis of solar access and over shading of building projects. For this paper open source software also includes freely available closed source software. The Computer Aided Design software – Google SketchUp (Free) while not open source, is included as it is freely available, though with restricted import and export abilities. A range of software tools are used to provide an effective procedure to aid the Architect in understanding the scope of sun penetration and overshadowing on a site and within a project. The technique can be also used lighting analysis of both external (to the building) as well as for internal spaces. An architectural model built in SketchUp (free) CAD software is exported in two different forms for the Radiance Lighting Simulation Suite to provide the lighting analysis. The different exports formats allow the 3D CAD model to be accessed directly via Radiance for full lighting analysis or via the Blender Animation program for a graphical user interface limited option analysis. The Blender Modelling Environment for Architecture (BlendME) add-on exports the model and runs Radiance in the background. Keywords:Lighting Simulation, Open Source Software 3226 McMinn, T., Open Source Software for Daylighting Analysis of Architectural 3D Models INTRODUCTION The use of daylight in buildings has the potential for reduction in the energy demands and increasing thermal comfort and well being of the buildings occupants (Cutler, Sheng, Martin, Glaser, et al., 2008), (Webb, 2006), (Mc Minn & Karol, 2010), (Yancey, n.d.) and others.
    [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]
  • Getting Started (Pdf)
    GETTING STARTED PHOTO REALISTIC RENDERS OF YOUR 3D MODELS Available for Ver. 1.01 © Kerkythea 2008 Echo Date: April 24th, 2008 GETTING STARTED Page 1 of 41 Written by: The KT Team GETTING STARTED Preface: Kerkythea is a standalone render engine, using physically accurate materials and lights, aiming for the best quality rendering in the most efficient timeframe. The target of Kerkythea is to simplify the task of quality rendering by providing the necessary tools to automate scene setup, such as staging using the GL real-time viewer, material editor, general/render settings, editors, etc., under a common interface. Reaching now the 4th year of development and gaining popularity, I want to believe that KT can now be considered among the top freeware/open source render engines and can be used for both academic and commercial purposes. In the beginning of 2008, we have a strong and rapidly growing community and a website that is more "alive" than ever! KT2008 Echo is very powerful release with a lot of improvements. Kerkythea has grown constantly over the last year, growing into a standard rendering application among architectural studios and extensively used within educational institutes. Of course there are a lot of things that can be added and improved. But we are really proud of reaching a high quality and stable application that is more than usable for commercial purposes with an amazing zero cost! Ioannis Pantazopoulos January 2008 Like the heading is saying, this is a Getting Started “step-by-step guide” and it’s designed to get you started using Kerkythea 2008 Echo.
    [Show full text]
  • Sony Pictures Imageworks Arnold
    Sony Pictures Imageworks Arnold CHRISTOPHER KULLA, Sony Pictures Imageworks ALEJANDRO CONTY, Sony Pictures Imageworks CLIFFORD STEIN, Sony Pictures Imageworks LARRY GRITZ, Sony Pictures Imageworks Fig. 1. Sony Imageworks has been using path tracing in production for over a decade: (a) Monster House (©2006 Columbia Pictures Industries, Inc. All rights reserved); (b) Men in Black III (©2012 Columbia Pictures Industries, Inc. All Rights Reserved.) (c) Smurfs: The Lost Village (©2017 Columbia Pictures Industries, Inc. and Sony Pictures Animation Inc. All rights reserved.) Sony Imageworks’ implementation of the Arnold renderer is a fork of the and robustness of path tracing indicated to the studio there was commercial product of the same name, which has evolved independently potential to revisit the basic architecture of a production renderer since around 2009. This paper focuses on the design choices that are unique which had not evolved much since the seminal Reyes paper [Cook to this version and have tailored the renderer to the specic requirements of et al. 1987]. lm rendering at our studio. We detail our approach to subdivision surface After an initial period of co-development with Solid Angle, we tessellation, hair rendering, sampling and variance reduction techniques, decided to pursue the evolution of the Arnold renderer indepen- as well as a description of our open source texturing and shading language components. We also discuss some ideas we once implemented but have dently from the commercially available product. This motivation since discarded to highlight the evolution of the software over the years. is twofold. The rst is simply pragmatic: software development in service of lm production must be responsive to tight deadlines CCS Concepts: • Computing methodologies → Ray tracing; (less the lm release date than internal deadlines determined by General Terms: Graphics, Systems, Rendering the production schedule).
    [Show full text]
  • Semantic Segmentation of Surface from Lidar Point Cloud 3
    Noname manuscript No. (will be inserted by the editor) Semantic Segmentation of Surface from Lidar Point Cloud Aritra Mukherjee1 · Sourya Dipta Das2 · Jasorsi Ghosh2 · Ananda S. Chowdhury2 · Sanjoy Kumar Saha1 Received: date / Accepted: date Abstract In the field of SLAM (Simultaneous Localization And Mapping) for robot navigation, mapping the environment is an important task. In this regard the Lidar sensor can produce near accurate 3D map of the environment in the format of point cloud, in real time. Though the data is adequate for extracting information related to SLAM, processing millions of points in the point cloud is computationally quite expensive. The methodology presented proposes a fast al- gorithm that can be used to extract semantically labelled surface segments from the cloud, in real time, for direct navigational use or higher level contextual scene reconstruction. First, a single scan from a spinning Lidar is used to generate a mesh of subsampled cloud points online. The generated mesh is further used for surface normal computation of those points on the basis of which surface segments are estimated. A novel descriptor to represent the surface segments is proposed and utilized to determine the surface class of the segments (semantic label) with the help of classifier. These semantic surface segments can be further utilized for geometric reconstruction of objects in the scene, or can be used for optimized tra- jectory planning by a robot. The proposed methodology is compared with number of point cloud segmentation methods and state of the art semantic segmentation methods to emphasize its efficacy in terms of speed and accuracy.
    [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]
  • Per-Pixel Displacement Mapping with Distance Functions
    108_gems2_ch08_new.qxp 2/2/2005 2:20 PM Page 123 Chapter 8 Per-Pixel Displacement Mapping with Distance Functions William Donnelly University of Waterloo In this chapter, we present distance mapping, a technique for adding small-scale dis- placement mapping to objects in a pixel shader. We treat displacement mapping as a ray-tracing problem, beginning with texture coordinates on the base surface and calcu- lating texture coordinates where the viewing ray intersects the displaced surface. For this purpose, we precompute a three-dimensional distance map, which gives a measure of the distance between points in space and the displaced surface. This distance map gives us all the information necessary to quickly intersect a ray with the surface. Our algorithm significantly increases the perceived geometric complexity of a scene while maintaining real-time performance. 8.1 Introduction Cook (1984) introduced displacement mapping as a method for adding small-scale detail to surfaces. Unlike bump mapping, which affects only the shading of surfaces, displacement mapping adjusts the positions of surface elements. This leads to effects not possible with bump mapping, such as surface features that occlude each other and nonpolygonal silhouettes. Figure 8-1 shows a rendering of a stone surface in which occlusion between features contributes to the illusion of depth. The usual implementation of displacement mapping iteratively tessellates a base sur- face, pushing vertices out along the normal of the base surface, and continuing until 8.1 Introduction 123 Copyright 2005 by NVIDIA Corporation 108_gems2_ch08_new.qxp 2/2/2005 2:20 PM Page 124 Figure 8-1. A Displaced Stone Surface Displacement mapping (top) gives an illusion of depth not possible with bump mapping alone (bottom).
    [Show full text]