Lighting Model
VEX node
Performs a lighting model calculation that generates a color.
See also: Matte, Shadow Matte, , Two Sided
This operator performs a lighting model calculation that generates 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 .092Avoid 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 operator’s “Cf” input.
Usages in other examples
| Example name | Example for | |
|---|---|---|
| RaytraceVopShader |
Ray Trace VEX node |