User Properties
From K-3D
Overview
Nearly every K-3D node stores its state as a collection of Properties, which are determined by the node's author when the node is created. Users can modify a node's properties using the Node Properties Panel, and interconnect properties using the Visualization Pipeline. All of these actions can also be performed by scripts.
Normally, the set of properties for a node is fixed by its design, but some special nodes can make use of custom User Properties, which are added to the nodes by users. Some example of user properties in action include:
- Shader parameters - the RenderMan shader plugins, RenderManDisplacementShader, RenderManImagerShader, RenderManLightShader, RenderManSurfaceShader, and RenderManVolumeShader all use user properties to store the parameters for their shaders. When you load a shader into one of these nodes, it automatically creates a user property for each shader parameter.
- Script parameters - the K-3D Category:Scripting plugins treat user properties as inputs, so users can hook scripted nodes into the Visualization Pipeline.
- RenderMan Attributes and RenderMan Options - the RenderMan standard allows render engine implementations to expose custom features as "Attributes" or "Options", and K-3D provides some special user property types to control them.
- Aqsis shader layers - the Aqsis RenderMan engine includes a nonstandard feature for combining shaders in "layers", and K-3D has some special user property types to specify the connections between shader layers.
Notes
- You can add user properties to any node, but nodes that aren't written to take advantage of user properties (most) will simply ignore them.

