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.

• perform gamma correction and dithering before quantization.<br />

• produce picture files containing any combination of RGB, A, and Z. <strong>The</strong> resolutions<br />

of these files must be as specified by the user.<br />

• provide all of the geometric primitives described in the specification, and provide all<br />

of the standard primitive variables applicable to each primitive.<br />

• provide the ability to perform shading calculations using user-supplied <strong>RenderMan</strong><br />

Shading Language programs. (See Part II, <strong>The</strong> <strong>RenderMan</strong> Shading Language.)<br />

• provide the ability to index texture maps, environment maps, and shadow depth<br />

maps. (See the section on Basic texture maps.)<br />

• provide the fifteen standard light source, surface, volume, displacement, and imager<br />

shaders required by the specification. Any additional shaders, and any deviations<br />

from the standard shaders presented in this specification, must be documented by<br />

providing the equivalent shader expressed in the <strong>RenderMan</strong> Shading Language.<br />

Rendering programs that implement the <strong>RenderMan</strong> <strong>Interface</strong> receive all of their data<br />

through the interface. <strong>The</strong>re must not be additional subroutines required to control or<br />

provide data to the rendering program. Data items that are substantially similar to items<br />

already described in this specification will be supplied through the normal mechanisms,<br />

and not through any of the implementation-specific extension mechanisms (RiAttribute,<br />

RiGeometry or RiOption). Rendering programs may not provide nonstandard alternatives<br />

to the existing mechanisms, such as any alternate language for programmable shading.<br />

1.1.2 Advanced Capabilities<br />

Rendering programs may also provide one or more of the following advanced capabilities,<br />

though it is recognized that algorithmic limitations of a particular implementation may<br />

restrict its ability to provide the entire feature set. If a capability is not provided by an<br />

implementation, a specific default is required (as described in the individual sections). A<br />

subset of the full functionality of a capability may be provided by a rendering program.<br />

For example, a rendering program might implement Motion Blur, but only of simple transformations,<br />

or only using a limited range of shutter times. Rendering programs should<br />

describe their implementation of the following optional capabilities using the terminology<br />

in the following list.<br />

Solid Modeling <strong>The</strong> ability to define solid models as collections of surfaces and combine<br />

them using the set operations intersection, union and difference. (See the section on<br />

Solids and Spatial Set Operations, p. 92.)<br />

Level of Detail <strong>The</strong> ability to specify several definitions of the same model and have one<br />

selected based on the estimated screen size of the model. (See the section on Detail,<br />

p. 51.)<br />

Motion Blur <strong>The</strong> ability to process moving primitives and antialias them in time. (See<br />

Section 6, Motion.)<br />

5

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

Saved successfully!

Ooh no, something went wrong!