RenderManAttributes

Applies RenderMan attributes to objects in the scene.

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

out

The processed output scene.

enabled

The on/off state of the node. When it is off, the node outputs the input scene unchanged.

in

The input scene

filter

The filter used to control which parts of the scene are processed. A Filter node should be connected here.

attributes

The attributes to be applied - arbitrary numbers of user defined attributes may be added as children of this plug via the user interface, or using the CompoundDataPlug API via python.

attributes.ri:grouping:id

Grouping id used for raytrace disambiguation purposes.

attributes.ri:identifier:lpegroup

Grouping membership used for light path expressions.

attributes.ri:bake:activeudims

Active udims for Integrator baking of texture atlases. Lists and ranges of udims can be provided in the string, for example: Attribute “bake” “string activeudims” “1001,1003,1005-1006”. The default is “” which means all udims get baked.

attributes.ri:bake:udimresolutions

Udim texure resolutions for Integrator baking of texture atlases. Lists and ranges of udims can be provided in the string, for example: Attribute “bake” “string udimresolutions” “1001 512 512 1002,1003 64 32 1005-1006 16 16” If the string is empty (the default) then the Display Format resolution will be used.

attributes.ri:Ri:Matte

Indicates matte object.

attributes.ri:shade:indexofrefraction

Override material IOR for nested dielectrics.

attributes.ri:shade:minsamples

Min Pixel Samples. For fine-tuning adaptive sampling.

attributes.ri:shade:relativepixelvariance

PixelVariance multiplier for camera visible objects. For fine-tuning adaptive sampling.

attributes.ri:trace:holdout

Indicates holdout object.

attributes.ri:trace:intersectpriority

Raytrace intersection priority for nested dielectrics.

attributes.ri:trace:maxdiffusedepth

Maximum diffuse light bounces.

attributes.ri:trace:maxspeculardepth

Maximum specular light bounces.

attributes.ri:visibility:camera

Indicates if object is visible to camera rays.

attributes.ri:visibility:indirect

Indicates if object is visible to indirect (reflection and refraction) rays.

attributes.ri:visibility:transmission

Indicates if object is visible to shadow rays.

attributes.ri:curves:widthaffectscurvature

Indicates whether curve width should be used when computing curve curvature. If turned off, only the curvature along the curve spline will be calculated.

attributes.ri:derivatives:extrapolate

Extrapolated smooth normals across grid boundaries.

attributes.ri:trace:autobias

Enable automatic raytrace bias.

attributes.ri:trace:bias

Manual raytrace bias in object space. Small values should be used to avoid artifacts such as shadow acne.

attributes.ri:trace:sssautobias

Enable automatic raytrace bias for subsurface scattering rays.

attributes.ri:trace:sssbias

Manual raytrace bias (in object space) for subsurface scattering rays. Small values should be used to avoid artifacts such as surface acne.

attributes.ri:trace:displacements

Enable displacement shading.

attributes.ri:displacementbound:CoordinateSystem

The name of the coordinate system that the displacement bound is measured in.

attributes.ri:displacementbound:offscreen

Apply displacementbound to offscreen geometry when dicing. Geometry that is entirely offscreen, but displaces into view may be prone to undertessellation because of the offscreen dicing strategy. This can be corrected by enabling this control and setting a reasonable displacementbound. Doing so will incur a performance penalty commensurate with the size of the displacement bound.

attributes.ri:displacementbound:sphere

Maximum displacement distance used to compute object bounds. This value should be as tight as possible.

attributes.ri:dice:micropolygonlength

Micropolygon distance in raster space for “instanceprojection” dicing. Values are expressed in pixel size.

attributes.ri:dice:offscreenstrategy

Dicing method of objects outside the viewing frustum.

attributes.ri:dice:rasterorient

Turning this off enables non-oriented dicing, a mode of dicing that computes micropolygon sizes using non-oriented raster space rather than screen-aligned raster space. Non-oriented dicing is useful for displacement around edges where projected micropolygon distance can be arbitrarily small.

attributes.ri:dice:strategy

Dicing method of objects within the viewing frustum.

attributes.ri:dice:worlddistancelength

Micropolygon distance in world space for “worlddistance” dicing or object space for “objectdistance” dicing.

attributes.ri:Ri:GeometricApproximationFocusFactor

Allows the renderer to use more coarse dicing for blurry objects due to depth of field.

attributes.ri:dice:offscreenmultiplier

Dicing rate multiplier for objects outside the viewing frustum. If a value less than zero is specified, the value from the Option with the same name will be used instead.

attributes.ri:falloffpower

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.

attributes.ri:curve:opacitysamples

number of opacity/presence shading samples along a curve for opacity caching, if equal to zero then the value is determined using the dicing oracle and the length of each curve.

attributes.ri:curve:widthaffectscurvature

When true the curve width of round curves is taken into account in the computation of the tube curvature, otherwise only the curvature along the curve is. This control does not affect curve ribbons.

attributes.ri:dice:minlength

Volume minimum dice length. Negative indicates to automatically compute this value.

attributes.ri:dice:minlengthspace

Coordinate space of dice:minlength.

attributes.ri:volume:aggregate

The name of the volume aggregate to which a volume belongs. If non-empty, the volume will only be rendered if the integrator explicitly uses that named aggregate, or if a surface shader such as PxrSurface binds the named aggregate to its interior.

attributes.ri:volume:dsominmax

Currently only used for aggregate volumes, and only for volumes that use an ImplicitField DSO. If set to 1, the DSO may be able to use stored information from the file directly to compute the minimum and maximum values within the volume. This may allow the renderer to avoid shading the volume up front, greatly decreasing time to first pixel. This can only be enabled if the density signal from the volume is used directly, or if the density signal is modulated only by the DSO itself. Any shading modifications of the density signal requires setting this parameter to off.

attributes.ri:volume:fps

The frames per second for volumetric velocity data. The velocity data will be divided by this quantity to derive the velocity for the frame.

attributes.ri:volume:shutteroffset

The shutter offset used to interpret volumetric velocity. A value of 1 will use the current position of the object and the position of the object on the next frame as the time interval to use for motion blur. A value of -1 will use the position of the object on the previous frame and the current position of the object as the time. A value of 0 will generate an interval which begins halfway through the previous frame and ends halfway into the next frame.

attributes.ri:volume:velocityshuttercorrection

If set to 1, volumetric velocity data for Eulerian motion blur will be assumed to be relative to the entire frame, and will be corrected to match the current shutter interval. If set to 0, no correction will be made.

attributes.ri:volume:aggregaterespectvisibility

If set to 1, standard visibility attributes will be respected by the volume if it is part of an aggregate. If set to 0, the visibility attributes will be ignored and only the integrator visibility settings will apply.

attributes.ri:volume:dsovelocity

Used only for aggregate volumes that use an ImplicitField DSO. If set to 1, the DSO can provide velocity bounds to the renderer directly via the BoxMotion call. This can allow the renderer to avoid upfront shading of the volume’s velocity data when using Eulerian velocity, improving render time and time to first pixel greatly. This can only be enabled if the velocity signal from the DSO is used directly.

attributes.ri:dice:pretessellate

Pre-tessellate subdivision geometry to polygons.

attributes.ri:dice:watertight

Tessellate geometry with no holes. Watertight geometry requires less raytrace bias.

attributes.ri:polygon:smoothdisplacement

Output smoothed (per-vertex) normals as Ndsp primvar, if polygon:smoothnormals hasn’t already inserted smooth normals.

attributes.ri:polygon:smoothnormals

Smooth (per-vertex) normals if not provided.

attributes.ri:procedural:immediatesubdivide

Used by RiProcedural to compel a procedural to immediately subdivide (behavior supported via the __immediatesubdivide meta-parameter in RiProcedural2). This attribute is “special” in that it is not inherited into sub-procedural contexts - meaning parent immediate-subdivide procedurals don’t accidentally trigger immediate-subdivide children. A value of 0 (the default) disables, 1 enables, and 2 forces all child procedurals to crack immediately.

attributes.ri:procedural:reentrant

Enabling this attribute will cause any subsequent procedural to not lock the global mutex. Note that this requires that the procedural be thread safe. This attribute is disabled by default, i.e. all procedurals remain locked.

global

Causes the attributes to be applied to the scene globals instead of the individual locations defined by the filter.

extraAttributes

An additional set of attributes to be added. Arbitrary numbers of attributes may be specified within a single IECore.CompoundObject, where each key/value pair in the object defines an attribute. This is convenient when using an expression to define the attributes and the attribute count might be dynamic. It can also be used to create attributes whose type cannot be handled by the attributes CompoundDataPlug, with IECoreScene.ShaderNetwork being one example.

If the same attribute is defined by both the attributes and the extraAttributes plugs, then the value from the extraAttributes is taken.