Contents
Primitive Variables or Primvars
Primvars can be set and manipulated on different types of geometry (as available for that type of geometry). This can allow pattern networks and shaders to retrieve this information at render time.
Class Specifiers: There are several types of Primvars
Constant: One value remains constant over the entire surface primitive.
Uniform: One value remains constant for each uv patch segment of the surface primitive.
Varying: Four values are interpolated over each uv patch segment of the surface. Bilinear interpolation is used for interpolation between the four values.
Vertex: Values are interpolated between each vertex in the surface primitive. The basis function of the surface is used for interpolation between vertices.
Facevarying: For polygons and subdivision surfaces, four values are interpolated over each face of the mesh. Bilinear interpolation is used for interpolation between the four values.
User Primvars
Name | Type | Default | Description |
---|---|---|---|
<name> <type> <value> | Any | null | Arbitrary primitive user data |
identifier:object | string | null | Object name |
Dicing and Approximating geometry
Name | Type | Default | Description |
---|---|---|---|
dice:micropolygonlength | float | 0 | Object micropolygon length expressed in pixel size |
dice:minlength | float | -1 | (Volumes) By default, minlength is not enabled: there is no minimum constraint on dicing rate. Setting minlength to a positive value specifies the minimum length of the voxel, as measured in a space denoted by the "minlengthspace" parameter. |
dice:minlengthspace | string | null | This space is allowed to be "world", "object", "camera", or any other space marked by a RiCoordinateSystem call. Setting minlength to a negative value indicates that the minlength is to be computed in a different fashion:
|
dice:offscreenstrategy | string | "viewfrustumdistance" | Defines the dicing strategy used for offscreen objects that may be traced indirectly, the options are: "clamped", "sphericalprojection, "viewfrustumdistance", "worlddistance" |
dice:rasterorient | integer | 1 | Turning this off, by setting it to 0, enables nonraster-oriented dicing , a mode of dicing that computes micropolygon sizes using an un-oriented raster space metric rather than the standard screen-aligned raster metric. This is useful in situations where it is important that the dicing rate on an object doesn't change due to camera orientation. For example, it can help in situations where objects that are viewed edge on result in large micropolygons (but small in screen space), which are then displaced leading to micropolygons that are large in screen space. |
dice:referencecamera | string | null | RenderMan has support for specifying the camera and strategy to use during dicing. These are chosen via the "strategy" and "referencecamera" parameters of "dice". This reference camera is required to define the dicing when doing multi-camera rendering. RenderMan does not choose the best/finest camera automatically, it must be set by the user. |
dice:referenceinstance | string | null | This is the object name of the referenced instance used for dicing |
dice:strategy | string | "instanceprojection" | Defines the dicing strategy used for objects on screen, the options are: "instanceprojection", "sphericalprojection", "worlddistance" |
dice:worlddistancelength | float | -1 | Object micropolygon length expressed in world space units |
Ri:GeometricApproximationFocusFactor | float | -1 | Allows the renderer to dice more coarsely for out of focus objects |
Ri:GeometricApproximationMotionFactor | float | 0 | Allows the renderer to dice more coarsely for blurry or fast moving objects |
Displacement
Name | Type | Default | Description |
---|---|---|---|
displacementbound:CoordinateSystem | string | null | The name of the coordinate system that the displacement bound is measured in.
|
displacementbound:sphere | string | null | Amount to pad the bounding box. The size is specified by identifying a single floating-point value which is the radius of a sphere which is guaranteed to contain the maximum possible displacement, and the name of the coordinate system in which this sphere resides. This value should be as tight as possible. |
Tracing Controls
Name | Type | Default | Description |
---|---|---|---|
trace:autobias | integer | 1 | Allow the renderer to automatially adjust ray bias, 0 is off |
trace:bias | float | 0.01 | The user-set bias amount, typically small values to offset a ray to avoid artifacts such as shadow acne |
trace:displacements | integer | 1 | Trace displacements (seen in reflections and refractions, etc) 0 is off |
trace:samplemotion | integer | 0 | Whether motion blurred objects appear in ray-traced results. When 0, the motion blur of other objects hit by rays launched from the object with this attribute will be ignored. When non-zero, motion blur will be taken into account by rays launched from an object with this attribute |
Shading
Name | Type | Default | Description |
---|---|---|---|
falloffpower | float | 1 | For use with points, if not supplied, or set to zero, the points will have a hard edge. A value of 1 is a "reasonable" value that emulates the usual cosine based falloff; this will likely be the goto value for most people doing volumetric particle effects. Values between 0 and 1 makes the falloff faster, eroding the point faster - point has "less presence". Values higher than 1 (up to infinity) makes the falloff slower to the point of being non-existent. |