Page tree


The natural RenderMan coordinate system is a left-handed one in which the x-axis points to the right (blue), the y-axis points up (green), and the z-axis points into the screen (red).

Built-in Coordinate Systems

The built-in coordinate systems are those that are implicitly defined by the renderer or scene description. They may be queried by name from a valid geometry or shading context.

currentInternal coordinate system. The represents the active coordinate system and is context dependent.
worldThe world space coordinate system commonly used for shading. This space varies per object instance.
worldoffsetInternal coordinate system. This space represents a translation offset from world space to provide greater floating point precision.
objectGeometry local coordinates commonly used for shading. This space does not vary per object instance.
cameraCamera local space of the viewing camera.
screenScreen space as defined by the screen window.
rasterRaster space is defined by the pixel coordinates from zero to resolution across the image.
NDCNormalized Device Coordinates (NDC) are zero to one across the entire image. This space is useful for culling geometry based on the camera frustum.

RenderMan provides no guarantee for what "current" space means at any time. If computations or pattern evaluation require an explicit coordinate system, shaders should transform data from "current" space into the desired space. Never assume that "current" space means anything particular.

User Defined Coordinate Systems

RenderMan allows users to define their own named coordinate systems for use in shading. These coordinate systems are bound to geometry instances and may be queried by name. Different geometry instances may bind to different coordinate systems of the same name. This is useful when "scoping" coordinate systems inside a scene hierarchy.