HDK
|
Simple diffuse Lambertian surface shader. More...
#include <RayTracer.h>
Public Member Functions | |
DiffuseShader (const GridT &grid) | |
DiffuseShader (const DiffuseShader &)=default | |
~DiffuseShader () override=default | |
Film::RGBA | operator() (const Vec3R &xyz, const Vec3R &normal, const Vec3R &rayDir) const override |
Defines the interface of the virtual function that returns a RGB color. More... | |
BaseShader * | copy () const override |
Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tools::BaseShader | |
BaseShader () | |
BaseShader (const BaseShader &)=default | |
virtual | ~BaseShader ()=default |
Additional Inherited Members | |
Public Types inherited from openvdb::OPENVDB_VERSION_NAME::tools::BaseShader | |
using | RayT = math::Ray< Real > |
Simple diffuse Lambertian surface shader.
The diffuse color can either be constant (if GridT = Film::RGBA which is the default) or defined in a separate Vec3 color grid. Lambertian implies that the (radiant) intensity is directly proportional to the cosine of the angle between the surface normal and the direction of the light source. Use SamplerType to define the order of interpolation (default is zero order, i.e. closes-point).
Definition at line 697 of file RayTracer.h.
|
inline |
Definition at line 700 of file RayTracer.h.
|
default |
|
overridedefault |
|
inlineoverridevirtual |
Implements openvdb::OPENVDB_VERSION_NAME::tools::BaseShader.
Definition at line 712 of file RayTracer.h.
|
inlineoverridevirtual |
Defines the interface of the virtual function that returns a RGB color.
xyz | World position of the intersection point. |
nml | Normal in world space at the intersection point. |
dir | Direction of the ray in world space. |
Implements openvdb::OPENVDB_VERSION_NAME::tools::BaseShader.
Definition at line 703 of file RayTracer.h.