The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
RiContext (ctx1);<br />
...<br />
<strong>The</strong>re is no RIB equivalent for context switching. Additionally, other language bindings<br />
may have no need for these routines, or may provide an obvious mechanism in the language<br />
for this facility (such as class instances and methods in C++).<br />
2.2 Bytestream Protocol<br />
This document also describes a byte stream representation of the <strong>RenderMan</strong> <strong>Interface</strong>,<br />
known as the <strong>RenderMan</strong> <strong>Interface</strong> Bytestream, or RIB. This byte stream serves as both<br />
a network transport protocol for modeling system clients to communicate requests to a<br />
remote rendering service, and an archive file format to save requests for later submission<br />
to a renderer.<br />
<strong>The</strong> RIB protocol provides both an ASCII and binary encoding of each request, in order to<br />
satisfy needs for both an understandable (potentially) interactive interface to a rendering<br />
server and a compact encoded format which minimizes transmission time and file storage<br />
costs. Some requests have multiple versions, for efficiency or to denote special cases of the<br />
request.<br />
<strong>The</strong> semantics of each RIB request are identical to the corresponding C entry point, except<br />
as specifically noted in the text. In Part I of this document, each RIB request is presented in<br />
its ASCII encoding, using the following format:<br />
RIB BINDING<br />
Request parameter1 parameter2... parameterN<br />
Explanation of the special semantics of the RIB protocol for this request.<br />
At the top of the description, parameter1 through parameterN are the parameters that the request<br />
requires. <strong>The</strong> notation ‘–’ in the parameter position indicates that the request expects<br />
no parameters. Normally the parameter names suggest their purpose, e.g., x, y, or angle.<br />
In RIB, square brackets ([ and ]) delimit arrays. Integers will be automatically promoted if<br />
supplied for parameters which require floating point values. A parameter list is simply a<br />
sequence of string-array pairs. <strong>The</strong>re is no explicit termination symbol as in the C binding.<br />
Example parameter lists are:<br />
”P” [0 1 2 3 4 5 6 7 8 9 10 11]<br />
”distance” [.5] ”roughness” [1.2]<br />
<strong>The</strong> details of the lexical syntax of both the ASCII and binary encodings of the RIB protocol<br />
are presented in Appendix C, Language Binding Details.<br />
10