Houdini 20.5 Properties

VOP Node Properties

On this page

Overview

These properties can be applied to VOP nodes.

Properties

Shader Properties

Is Shader

Specifies whether the node is a shader; otherwise it’s a building block.

Render Mask

Specifies the mask for the renderers the shader node belongs to. Used for finding a USD shader translator for the shader node.

Render Context Name

Specifies the name of the render context (renderer) the shader node applies to. Used for USD material primitive output name namespace identifying the terminal shader primitive.

Shader Name

Specifies the shader name. Used for an asset or an ID attribute of the USD shader primitive.

Shader Name Kind

Specifies the interpretation and meaning of the shader name string returned by a VOP node. Values are id, asset, or code.

Asset

Renderer can find the shader in an asset.

ID

Renderer can find the shader based on the given ID.

Code

Renderer can find the shader code inlined in the USD primitive.

Shader Source Type

Identifies the type of shader source. Eg 'glsl', 'osl', 'vex' (effectively, the name of the shader’s language).

Primitive Path

Specifies the USD path of a shader, material, or graph primitive to author. Useful for creating graph primitives outside of the implied material to drive its inputs.

Primitive Type

Specifies the USD pritive type (i.e. schema name) for the USD primitive to author. The names should match schema names, eg Material, NodeGraph, or Shader. Useful for forcing the translation of a node into a particular USD primitive type, e.g., NodeGraph instead of a Material).

Default

Translate the node to prim that suits a given node by default.

Material

Translate the node to a USD Material primitive.

Node Graph

Translate the node to a USD NodeGraph primitive.

Shader

Translate the node to a USD Shader primitive.

Shader Primitive Name

Specifies the USD shader primitive name for this shader.

Material Primitive Name

Specifies the USD material parent primitive name for this shader.

Material Primitive Type

Specifies the USD primitive type (i.e. schema name) for the USD material primitive to author. The names should match schema names, eg Material or NodeGraph. Useful for forcing the translation of a node into a particular USD primitive type, e.g., NodeGraph instead of a Material).

Default

Translate node to prim that suits a given node by default.

Material

Translate node to a USD Material primitive.

Node Graph

Translate node to a USD NodeGraph primitive.

Shader

Translate node to a USD Shader primitive.

Force Terminal Output

#hprop shader_forceterminaloutput

Make sure the material primitive has a terminal shader output."

Skip Shader Parameters with Default Values

#hprop shader_skipdefvalparms

Determines whether to output (or author) only parameters that have non-default values.

Treat All Node Parameters as Shader Parameters by Default

#hprop shader_useallparms

Designates all node parameters as shader parms (or not), unless they have an explicit shader_isparm tag that indicates otherwise.

Is Material Sibling

When true, the shader node is translated into USD Material sibling primitive, rather than as a child (or descendant).

Force Translation of Children

When VOP subnet HDAs reference an existing USD material (thru shader_baseprimpath), their children don’t need to be translated, because the base primitive already has children. However, when this property is set to true, shader translators will translate them anyway.

Reference Type

Specifies whether the translated USD material should reference an existing primitive, and if so, then how.

None

Translate to prim without referencing any other USD prim.

Reference

Translate to prim that references an existing USD prim.

Inherit

Translate to prim that inherits from an existing USD prim.

Specialize

Translate to prim that specializes an existing USD prim.

Represent

Don’t translate to new prim; instead, use existing USD primitive.

Base Asset Path

Specifies the file path to the asset that contains a material to reference, when translating the node into a new USD material primitive.

Base Primitive Path

Specifies the USD path of a material to be referenced, inherited from, or specialized, when translating the node into a new USD material primitive.

Is Instanceable

Specifies whether the USD shader, node graph, or material primitive should be flagged as instanceable, which allows sharing data among any referencing primitives.

Import Base Parameters

Creates spare parameters that correspond to input attributes of the material specified in the 'Base Primitive Path'.

Properties Context Name

Specifies the render context name of the material primitive output, on whose source (ie, surface shader) the translator should author rendering properties attributes that are based on parameter of this node.

For example, Karma accepts material render properties to be authored on the surface shader. Thus, a properties shader VOP node can specify 'kma' as the properties context name, and the translator will author input attribute values based on the VOP node parameters (render properties).

Render Var Context Name

Specifies the render context name of the material primitive output, to whose source (ie, surface shader) the translator should connect the pattern shader translated from this node.

Shader Code

Shader Function Name

Specifies an explicit shader name for the VOP node.

Force Code in Context

Marks the VOP as one of the terminal nodes in the shader of the specified context. This node and its input chains will contribute to the generated shader code.

Layer Export Inputs

Lists the inputs whose shader layer exports tag should be copied to the output tag.

Layer Export Add

Lists the shader parameter names that should be added to the shader layer exports output tag. Eg, f@vex_export_parm_foo v@bar.

Properties