This shader performs camera projection of an image over an object.

Projection Color

The input (usually an image) to be projected.

Offscreen Color

The color returned outside of the projection camera viewing frustum.


Use this parameter to mask out areas that should not receive the projection.


The projecting camera. Leave blank to use the default render camera.

Aspect Ratio

The projection camera aspect ratio. By default, it is linked by expression to the selected camera's x/y resolution.

Front Facing

Apply the projection to polygons front-facing the projection camera. 

Back Facing

Apply the projection to polygons back-facing the projection camera.

Use Shading Normal

Use the shading normal for visibility tests instead of the geometric normal. This results in smoother but less accurate visibility boundaries that can produce seams if the render camera is used for the projection.

Coord Space

Specifies the coordinate space to use. These include World, Object, and Pref space coordinates. Pref is short for 'vertex in reference pose'. The plugin can pass these vertices to Arnold (in addition to the regular, deformed vertices) which can, in turn, be queried by the noise shader so that the noise 'sticks' to the reference pose and does not swim as the mesh deforms.

  • World space, where points are relative to the global origin of the scene.
  • Object space, where points are expressed relative to the local origin (center) of the object.
  • Pref, which isn’t really a space, but rather a reference to a bind pose (note Pref does not work with NURBS surfaces).

Pref Name

Specify the name of the reference position user-data array. Previously, the name was hard-coded as "Pref", which is still the default. The array type can be RGB/RGBA as well as VECTOR.


Input coordinates of the 4D fractal noise function. The surface point is used when not defined (0). An arbitrary coordinate space can be specified manually by linking another shader into the P parameter. This is useful for all sorts of things such as being able to animate patterns flowing through objects, having patterns move along with objects, etc.

For example, a coordinate system that you're animating to move the noise field through an object (a common technique for doing water running over a surface) or a coordinate system that is defined relative to a larger object (e.g. think of a spaceship that's comprised of many smaller objects, and you want to paint noise over the whole surface).

Below are animations that show Pref space coordinates in use with a deforming object. Note how the texture sticks to the object when using Pref space coordinates, compared to Object/World space coordinates where the texture swims. 


Using World/Object Space - Texture Swims


Using Pref Space - Fixes Texture Swimming


  • No labels