The Renderman Interface Specification, V3.1
Total Page:16
File Type:pdf, Size:1020Kb
The RenderMan Interface Version 3.1 September 1989 (with typographical corrections through May 1995) Copyright 1987, 1988, 1989, 1995 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 as- sumes no responsibility or liability for any errors or inaccuracies that may appear in this publication. RenderMan is a registered trademark of Pixar. Pixar 1001 W. Cutting Blvd. Richmond, CA 94804 (510) 236-4000 Fax: (510) 236-0388 ii TABLE OF CONTENTS LIST OF ILLUSTRATIONS ................................................................................................. vii LIST OF TABLES ............................................................................................................... viii PREFACE ............................................................................................................................ ix Part I The RenderMan Interface Section 1 INTRODUCTION................................................................................................ 3 Features and Capabilities ....................................................................................................... 5 Required features ............................................................................................................. 5 Optional capabilities ........................................................................................................ 6 Structure of this Document .................................................................................................... 7 Section 2 LANGUAGE BINDING SUMMARY..................................................................... 9 C Binding .................................................................................................................................. 9 Bytestream Protocol .............................................................................................................. 11 Additional Information......................................................................................................... 12 Section 3 RELATIONSHIP TO THE RenderMan SHADING LANGUAGE .......................... 13 Section 4 GRAPHICS STATE ............................................................................................. 15 Options.................................................................................................................................... 18 Camera ............................................................................................................................. 18 Displays ........................................................................................................................... 27 Additional options ......................................................................................................... 33 Implementation-specific options.................................................................................. 35 Attributes ................................................................................................................................ 36 Color and opacity ........................................................................................................... 37 Texture coordinates........................................................................................................ 38 Light sources ................................................................................................................... 40 Surface shading............................................................................................................... 42 Volume shading.............................................................................................................. 43 Shading rate..................................................................................................................... 45 Shading interpolation .................................................................................................... 46 Table of Contents iii Matte objects.................................................................................................................... 46 Bound ............................................................................................................................... 47 Detail ................................................................................................................................ 48 Geometric approximation ............................................................................................. 49 Orientation and sides..................................................................................................... 50 Transformations..................................................................................................................... 52 Named coordinate systems........................................................................................... 57 Transformation stack ..................................................................................................... 57 Implementation-specific Attributes .................................................................................... 58 Section 5 GEOMETRIC PRIMITIVES.................................................................................. 59 Polygons.................................................................................................................................. 60 Patches..................................................................................................................................... 65 Quadrics.................................................................................................................................. 72 Procedural Primitives ........................................................................................................... 78 Implementation-specific Geometric Primitives................................................................. 79 Solids and Spatial Set Operations ....................................................................................... 80 Retained Geometry................................................................................................................ 81 Section 6 MOTION........................................................................................................... 83 Section 7 EXTERNAL RESOURCES .................................................................................... 87 Texture Map Utilities ............................................................................................................ 87 Making texture maps ..................................................................................................... 87 Making bump maps....................................................................................................... 88 Making environment maps........................................................................................... 89 Making shadow maps.................................................................................................... 91 Errors ....................................................................................................................................... 92 Archive Files........................................................................................................................... 93 Part II The RenderMan Shading Language Section 8 INTRODUCTION TO THE SHADING LANGUAGE .......................................... 97 Section 9 OVERVIEW OF THE SHADING PROCESS......................................................... 99 Section 10 RELATIONSHIP TO THE RenderMan INTERFACE......................................... 103 Section 11 TYPES ............................................................................................................ 105 Floats...................................................................................................................................... 105 Colors .................................................................................................................................... 105 Points..................................................................................................................................... 106 Strings.................................................................................................................................... 107 Uniform and Varying Variables ........................................................................................ 107 Section 12 SHADER EXECUTION ENVIRONMENT ........................................................ 109 Surface Shaders.................................................................................................................... 109 Light Source Shaders........................................................................................................... 111 iv Table of Contents Volume Shaders................................................................................................................... 112 Displacement Shaders......................................................................................................... 112 Transformation Shaders ....................................................................................................