26.01.2015 Views

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Appendix I<br />

DIFFERENCES BETWEEN VERSION 3.2 AND 3.1<br />

Several new API calls have been added to the <strong>RenderMan</strong> <strong>Interface</strong>:<br />

• New geometric primitives: RiSubdivisionMesh, RiPoints, RiCurves, RiBlobby.<br />

• New built-in procedural routines suitable to use as RiProcedural primitives: RiProcDelayedReadArchive,<br />

RiProcRunProgram, RiProcDynamicLoad.<br />

• Reading an existing RIB archive into the renderer at an arbitrary point in the command<br />

stream. RiReadArchive.<br />

• New routines affecting the graphics state: RiCoordSysTransform, RiClippingPlane.<br />

<strong>The</strong>re is no longer an approved K&R C binding of the <strong>RenderMan</strong> <strong>Interface</strong>. Instead, only<br />

an ANSI C binding is described. All interfaces and examples are now shown in ANSI C in<br />

this document.<br />

<strong>The</strong> following data types have been added to the <strong>RenderMan</strong> <strong>Interface</strong>: vector, normal,<br />

matrix, hpoint, and to ri.h (as RtVector, RtNormal, and RtHpoint). <strong>The</strong> ri.h header file also<br />

now defines an RtInt to be an int, not a long.<br />

<strong>The</strong> storage classes vertex and constant have been added to the <strong>RenderMan</strong> <strong>Interface</strong>. A<br />

vertex primitive variable must supply the same number of data elements as are supplied<br />

for the position, ”P”, and interpolation is performed in the same manner as position. A<br />

constant primitive variable supplies a single data value for an entire geometric primitive<br />

(even an aggregate primitive, like a PointsPolygons). Descriptions of all the geometric<br />

primitives have been updated to explain the expected number of data elements for each<br />

storage class.<br />

”NDC” space is now a standard space known to an implementation.<br />

Clarified that output depth values are camera space z values, not screen space values.<br />

Clarified that the type parameter of RiDisplay is not limited to be ”file” or ”framebuffer”, but<br />

may be any format or device type name supported by a particular implementation. <strong>The</strong><br />

”file” and ”framebuffer” names select the implementation’s default file format or framebuffer<br />

device.<br />

<strong>The</strong> <strong>RenderMan</strong> <strong>Interface</strong> 3.1 Specification was silent on the number of uniform and varying<br />

values supplied for primitive variables on RiNuPatch primitives. <strong>The</strong> number of varying<br />

211

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!