Houdini 19.0 VEX VEX Functions specular

specular VEX function

Returns a specular BSDF or computes specular shading.

bsdf  specular(vector dir, ...)

Returns a specular BSDF where dir is the direction of specularity. See writing a PBR shader for information on BSDFs.

vector  specular(vector nml, vector V, float roughness, ...)

Computes specular shading.

Light inclusion/exclusion options

"categories", string ="*"

Specifies lights to include/exclude by their “category” tags. This is the preferred include/exclude lights rather than pattern matching light names with the "lightmask" keyword argument.

For example:

diff = diffuse(nml, "lightmask", "hero | fill");

See light categories for more information.

"lightmask", string ="*"

When evaluating light and shadow shaders, objects have pre-defined light masks. This mask is usually specified in the geometry object and specifies a list of lights which are used to illuminate a surface or fog shader. It is possible to override the default light mask by specifying a “lightmask” argument.

For example:

diff = diffuse(nml, "lightmask", "light*,^light2");

‚Ķwill cause all lights whose names begin with “light” except for a light named “light2” to be considered for diffuse illumination.

All Houdini scoping patterns, excepting group expansion, are supported:

  • * - wild-card match

  • ? - single character match

  • ^ - exclusion operator

  • [list] - character list match

See also