The RIS API

The RIS API

The RIS API is embodied in these header files:

RixShading.h

required by all RIS plugins. Defines the RixShadingContext interface that presents the shading state (data and services) to Pattern and Bxdf plugins. The shading context provides access to shading geometry, attribute lookups, the means to evaluate upstream parameters in a parameter graph, and the means to sample primitive variables.

RixPattern.h

required by RixPattern plugins. Describes the simple interface that Pattern plugins must implement.

RixBxdf.h

required by RixBxdf plugins. Describes the simple interface that Bxdf plugins must follow.

RixIntegrator.h

required by RixIntegrator plugins. Defines the RixIntegratorContext that presents the integrator state (data and services) to Integrator plugins. The integrator context offers ray tracing, lighting, and display services to the integrator developer. RixInteriorIntegrators are defined here, too. This class of object enables the independent integration of interior, or subsurface, regions. Our subsurface scattering implementation resides behind a built-in interior integrator.

RixLighting.h

exposes the lighting services API for use by integrators. RixLightingServices exposes the geometric area light functionality - including light groups, portals, blockers, and gobos - to the integrator developer.

RixProjection.h

RixProjection plugins characterize camera and lens projections. They are responsible for turning stratified random samples into rays. These are then traced as the primary camera rays and passed along with any hits to the RixIntegrator. The main job of the plugin is to implement the Project() method.


Additional Information

Further information can be found in the documentation for The PRMan SDK: