Houdini 20.0 Nodes VOP nodes

Lighting Model VOP node

Performs a lighting model calculation to generate a color.

The available lighting models are:

Constant              (string "constant")
Head Light            (string "headlight")
Lambertian            (string "lambert")
Oren-Nayar            (string "oren")
Phong                 (string "phong")
Blinn                 (string "blinn")
Anisotropic Specular  (string "anisotropic")
VEX Specular          (string "specular")

Constant simply assigns the diffuse (diff) value to the color. Like Head Light, Lambertian, and Oren-Nayar, it ignores specular color. Constant and Head Light also ignore the ambient color.

Oren-Nayar, Phong, Blinn, and VEX Specular use only the first roughness parameter (urough) to simulate surface roughness.

Anisotropic Specular, also known as the “Ward model”, is the only model that also uses the second roughness parameter (vrough). However, if urough equals vrough, the specular highlight becomes isotropic. Many materials can be simulated with this lighting model:

Material            Diffuse  Specular U-Rough V-Rough
Rolled brass           .1      .33     .05     .16
Rolled aluminum        .1      .21     .04     .09
Brushed aluminum       .15     .19     .088    .13
Varnished plywood      .25     .025    .04     .11
Enamel finished metal  .25     .047    .08     .096
Painted cardboard box  .19     .043    .076    .085
White ceramic tile     .7      .05     .071    .071
Glossy grey paper      .29     .083    .082    .082
Ivory computer plastic .45     .043    .13     .13
Plastic laminate       .67     .07     .092    .092

Avoid using the Anisotropic Specular model on non-subdivided polygonal geometry because it will look flat shaded.

The basic Phong model works well for plastics, while Oren-Nayar is good for simulating clays. The Constant model can be used for mattes, and so on.

The input normal (N) and incident (I) directions should be normalized if explicitly connected as inputs, and front-face calculation is optional but recommended. If either direction is not connected, the global variable by the same name will be used instead.

Typically, applying a lighting model is the last thing you do before connecting the resulting color to the Output Variable node’s Cf input.

See also

VOP nodes