


The interface also includes a set of geometric primitive procedures that describe the actual geometry in a scene.

These routines are classified here as mode-changing procedures, option-changing procedures, and attribute-changing procedures. To control the graphics state, there are procedures in the interface that change the current mode, options, and attributes. This stack allows various parts of the graphics state to be saved and reinstated at will. The interface mode constrains and controls the context of allowed RenderMan procedure calls, and it also maintains the graphics state stack. Options are the rendering parameters that affect how an entire scene will be rendered, while attributes are the parameters that can differ from object to object in a scene. The graphics state consists of options, attributes, and the interface mode. To control the positioning and shading of these objects, the RenderMan Interface maintains a graphics state, which is primarily just a current setting for each of a large number of parameters associated with the rendering of an object in a scene. This sequence specifies all the objects in a scene in terms of the variety of flat and curved surfaces that RenderMan supports. The RenderMan Interface describes a scene as a sequence of geometric primitives.
Pixar renderman instagram full#
The conversion to RIB is quite straightforward, and a full description of it can be found in The RenderMan Interface, Version 3.1. This protocol is known as the RenderMan Interface Bytestream (RIB), and it not only allows a scene description to be stored as an ASCII or binary coded file but also provides a means for transport over a network.įor the sake of simplicity, the interface will be presented here in its C language form. Since then, a bytestream protocol has also been defined and incorporated into the interface specification. To date, it is the only proposed rendering interface standard that includes provisions for all the features in a scene description required to synthesize photorealistic images.Īt the time of its introduction, the RenderMan Interface was defined in terms of a C language binding, a set of 96 C procedures that provides a complete rendering interface.

The RenderMan Interface was proposed by Pixar in May, 1988, as a standard interface between modelers and high-quality renderers. It concludes with a brief description of how certain concepts that are common to 3D graphics are handled in the interface. What follows is a very general overview of the RenderMan Interface that introduces the interface routines and terminology. The design of the interface emphasizes the ability to convey, compactly and efficiently, the information required to produce rendered images that resemble actual photographs. As such, it has provisions for the specification of 3-D scene descriptions that include: hidden surfaces, spatial filtering, dithering, motion blur, depth of field, flat and curved surfaces, objects, constructive solid geometry, and programmable shading to express lighting conditions, shadows, and surface appearances, with sophisticated control over color, texture, and reflectivity. The RenderMan interface is designed to be a standard interface between modeling programs and high-quality rendering programs.
