bsdf ggx(vector ng, vector nn, vector xg, vector yg, vector F0, vector F90, float alphax, float alphay, int masking, int fresblend, float eta, float reflect, float refract, int reflectmask, int refractmask, float dispersion, ...)
Creates a BSDF for computation of the GGX microfacet model, used for rough specular reflection and refraction.
See writing a PBR shader for information on BSDFs.
Normalized geometry normal
Normalized bumped/shading normal
Normalized x tangent vector
Normalized y tangent vector
Color tint at oblique angles
Color tint at grazing angles
Roughness along the x tangent vector
Roughness along the y tangent vector (use the same value as alphax for isotropic)
Enable/Disable microfacet masking
Index of refraction
Explicit scalar on reflection (0->1). Or -1 to let the function decide itself on the appriate value based on geometric information.
Explicit scalar on refraction (0->1). Or -1 to let the function decide itself on the appriate value based on geometric information.
Bitmask representing the desired reflection behaviour. Simply passing in
bouncemask(reflectlabel) will suffice
Bitmask representing the desired refraction behaviour. Simply passing in
bouncemask(refractlabel) will suffice
Amount of dispersion
Light inclusion/exclusion options
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.
diff = diffuse(nml, "lightmask", "hero | fill");
See light categories for more information.
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.
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