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.
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.