Optional Capabilities

The RenderMan Interface Specification 3.1 identified certain capabilities which a renderer could choose to implement or not to implement and still be called compliant..  The following list summarizes RenderDotC's features in terms of these optional capabilities.

Solid Modeling

The Solid Modeling optional capability is not implemented.  All primitives are rendered as a collection of surfaces.  The spatial set operators are ignored.

Trim Curves

The Trim Curve optional capability is fully implemented.  Note that the curve orientation rule mentioned in the specification need not be followed (i.e. the curve may go clockwise or counter-clockwise).  Only the odd winding rule and the trim curve "sense" define which part is inside and which is outside.

Level of Detail

The Level of Detail optional capability is fully implemented.

Motion Blur

The Motion Blur optional capability is partially implemented. Only linear blur between the shutter open and close times specified in RiShutter() is supported.  Times passed to RiMotionBegin that do not fall between shutter open and close times result in the motion being clamped for the duration of the difference.  If more than two keyframes are specified between RiMotionBegin and RiMotionEnd, then only the first and last ones are used. Any transformation may be used when doing transformational motion blur.  All primitives correctly do deformational motion blur.  Shading is done at shutter open time only.  Shading parameters do not motion blur.  Shutter open time is passed to shaders as the shading global "time".

Depth of Field

The Depth of Field optional capability is fully implemented.

Programmable Shading

The Programmable Shading optional capability is partially implemented. Users may write surface, light, volume and displacement shaders in RenderMan Shading Language.  Imager and deformation shaders are not supported.

Special Camera Projections

The Special Camera Projections optional capability is not implemented. Only the required orthographic and perspective camera projections are allowed.

Deformations

The Deformations optional capability is not implemented.  Deformation shaders are ignored.

Displacements

The Displacements optional capability is fully implemented.

Spectral Colors

The Spectral Colors optional capability is not implemented. Multiple component colors are accepted, but are immediately converted to RGB color space for internal calculations. Note that RiColorSamples works correctly.

Texture Mapping

The Texture Mapping optional capability is fully implemented.

Environment Mapping

The Environment Mapping optional capability is fully implemented.

Bump Mapping

The Bump Mapping optional capability is not implemented. The bump() function always returns [0.0 0.0 0.0].  RiMakeBump() does nothing.

Shadow Depth Mapping

The Shadow Depth Mapping optional capability is fully implemented.

Volume Shading

The Volume Shading optional capability is partially implemented. Atmosphere shaders work correctly. Interior and exterior shaders are ignored. The incident() and opposite() functions return 0.0.

Ray Tracing

The Ray Tracing optional capability is not implemented.  The trace() function returns [0.0 0.0 0.0].

Radiosity

The Radiosity optional capability is not implemented.

Area Light Sources

The Area Light Source optional capability is not implemented. RiAreaLightSource() is equivalent to RiLightSource().


Copyright © 1999-2006 Dot C Software, Inc. All rights reserved.
Dot C Software, Inc., 182 Kuuhale St., Kailua, HI 96734
(808) 262-6715 (voice) (808) 261-2039 (fax)
The RenderMan® Interface Procedure and RIB Protocol are:
Copyright © 1988, 1989, Pixar.  All rights reserved.
RenderMan® is a registered trademark of Pixar.