The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
- 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