Shaders

You can right-click shaders, Arnold VOP networks and ROPs to upgrade them to the current version of Arnold and HtoA. You can also globally convert all the deprecated shaders in the scene from the Arnold menu. Conversion scripts for the deprecated standard and hair shaders, the Arnold ROP from a previous version of HtoA and the discontinued alSurface and alHair shaders are provided. For shaders, the conversion will attempt to match the look as closely as possible with a standard_surface or standard_hair shader.

Shaders are created within Arnold Shader Network nodes. These nodes are also used for Light Filters and Environment Effects.

In the SHOP context Tab > Arnold > Arnold Shader Network to create an arnold_vopnet1 node. Double-clicking or pressing "I" enters a custom VEX builder context where Arnold shaders and nodes can be networked together.

You can create shaders in /mat in the arnold_materialbuilder vop network as well as the old way in /shop in the arnold_vopnet vop network. Use the material flag to enable picking of the vopnet as a material at the object level.

The OUT_Material node allows collecting the surface/displacement/volume Arnold shader graphs into one material. You can then connect the output to a collect node for example in the /mat context.

Arnold shaders created in /mat

Output Nodes

There are three types of output depending on the purpose of the shader network; Material, Light, and Environment. The result of the shader network must be connected to the input of the relevant output node. Multiple Outputs of different types can be contained within the same shader network. If multiple outputs of the same type exist, Arnold will use the first one translated by HtoA.

Material Output

Light Output

Environment Output

Shader Assignment

To assign a vopnet drag it from the SHOP onto the geometry or use the Operator Chooser in the geometry Material tab.

The 'jump to operator' in the material tab will go to the Arnold shader network, rather than jumping to the shader inside. This is Houdini's behavior because you're assigning a SHOP and thus it brings you to it, not inside.

Export Arnold Materials

You can export materials in an arnold_vopnet or from an OUT_material VOP by right-clicking with the context-sensitive menu. This exports all of the shader graphs connected (surface, displacement, and volume).

Shader List

These are the available shaders and nodes.

Core Shaders

Ambient Occlusion

Bump2d

Bump3d

Flat

Hair

Image

Lambert

Motion Vector

Noise

Skin SSS

Standard

Ray Switch

Utility

Wireframe

AOV Shaders

AOV Read Float

AOV Read Int

AOV Read RGB

AOV Write Float

AOV Write Int

AOV Write RGB

User Data

User Data Float

User Data Int

User Data RGB

User Data RGBA

User Data String

Shading State

State Float

State Int

State Matrix

State RGB

State Vector

Ramp Shaders

Ramp RGB

Ramp Float

Math Shaders

Abs

Add

Atan

Cache

Complement

Cross

Divide

Dot

Exp

Fraction

Invert

Is Finite

Ln

Log

Max

Min

Mix

Modulo

Multiply

Negate

Normalize

Pow

Reciprocal

Sign

Sqrt

Subtract

Trigo

Utility Shaders

Cache

Clamp

Color Correct

Compare

Fetch

Length

Linearize

Passthrough

Random

Range

Space Transform

Switch

Data Types

Color Convert

Int To Float

Float To Int

Float To Matrix

Float To RGB

Float To RGBA

RGB To Float

RGB To RGBA

RGB To Vector

RGBA To Float

Matrix To Float

Vector To RGB

Volumes

Blackbody

Standard Volume

Environment

Fog Atmosphere Volume Sky Physical Sky

Light Filters

Light Decay Light Blocker Gobo Barndoor