Applies appleseed attributes to objects in the scene.


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


The processed output scene.


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


The input scene


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


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.


Whether or not the object is visible to camera rays. To hide an object completely, use the visibility settings on the StandardAttributes node instead.


Whether or not the object is visible to light rays (whether or not it is visible to photons).


Whether or not the object is visible to shadow rays (whether or not it casts shadows).


Whether or not the object is visible to diffuse rays - whether it casts bounce light or not.


Whether or not the object is visible in tight mirror reflections and refractions.


Whether or not the object is visible in soft specular reflections and refractions.


Number of samples to use when computing shading for the object.


Assign materials to the back side of objects. It is important to disable double sided assignments if the material has emision closures and emision is not wanted on the inside of objects, for example for closed objects, to reduce the amount of noise in the render.


Specify the object medium priority. When multiple objects share the same volume, appleseed will consider only the highest priority one for intersections and shading. Sometimes called nested dielectrics in other renderers.


Specifies a grayscale texture than can be used to efficiently discard unwanted parts of the surface of the object while computing ray intersections.


Compute smooth normals.


Compute smooth tangents.


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


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.