The number of archive used by the current archive primitive.
$u
The u parameter of the underlying surface.
$v
The v parameter of the underlying surface.
$cLength
The final, computed length of the current primitive.
$cWidth
The final, computed width of the current primitive.
$cDepth
The final, computed depth of the current primitive without displacement.
$descId
The current description's ID.
$faceid
$faceId - The current face id.
$frame
The current frame being evaluated. This value should be used with care as it is not advisable for certain attributes to change across frames (for example, length and density) as this would make motion blur calculations impossible.
$id
The current primitive’s ID. This variable is useful for expressions involving modifiers.
$objectId
Alias for $patchId. Vectors.
$patchId
The current patch's ID.
Surface Vectors
$P
The surface point at which the primitive is being evaluated.
$Pg
The surface point without displacement.
$Pref
The reference surface point at which the primitive is being evaluated.
$Prefg
The reference surface point without displacement.
$Pw
The surface point at which the primitive is being evaluated. World space.
$Pgw
The surface point without displacement. World space.
$Prefw
The reference surface point at which the primitive is being evaluated. World space.
$Prefgw
The reference surface point without displacement. World space.
$dPdu
The surface dPdu at which the primitive is being evaluated.
$dPdug
The surface dPdu without displacement.
$dPduref
The reference surface dPdu at which the primitive is being evaluated.
$dPdurefg
The reference surface dPdu without displacement.
$dPdv
The surface dPdv at which the primitive is being evaluated.
$dPdvg
The surface dPdv without displacement.
$dPdvref
The reference surface dPdv at which the primitive is being evaluated.
$dPdvrefg
The reference surface dPdv.
Surface normal vectors
$N
The surface normal at which the primitive is being evaluated.
$Ng
The surface normal without displacement.
$Nref
The reference surface normal at which the primitive is being evaluated.
$Nrefg
The reference surface normal without displacement.
Surface normal vectors
$N
The surface normal at which the primitive is being evaluated.
$Ng
The surface normal without displacement.
$Nref
The reference surface normal at which the primitive is being evaluated.
$Nrefg
The reference surface normal without displacement.
Image vectors and scalers
$Cs
Color surface for the current primitive.
$As
Alpha surface for the current primitive.
Important notes
There are a set of variables describing underlying patch information that can be used in expressions. The vector forms may be used as vectors or individual components can be referenced. For example,
$N
refers to the surface normal vector, and
$N[0] refers to the x component of the normal vector.
Since the value of the displaced variables, such as for point (P) and normal (N) variables, depend on the displacement, offset and bump expressions values, those variables cannot be used within those expressions. If you wish to use point based noise, or any other expression that needs to use values from the underlying surface, you should use the g variety, such as
Prefg and
Nrefg.