OpenVDB
2.1.0
|
Simple diffuse Lambertian surface shader. More...
#include <RayTracer.h>
Inherits BaseShader.
Public Types | |
typedef math::Ray< Real > | RayT |
Public Member Functions | |
DiffuseShader (const Film::RGBA &d=Film::RGBA(1.0f)) | |
virtual Film::RGBA | operator() (const Vec3R &, const Vec3R &normal, const Vec3R &rayDir) const |
Defines the interface of the virtual function that returns a RGB color. More... | |
virtual BaseShader * | copy () const |
OPENVDB_DEPRECATED Film::RGBA | operator() (const Vec3R &xyz, const Vec3R &nml, const RayT &ray) const |
Deprecated, use the method above instead. More... | |
Simple diffuse Lambertian surface shader.
Diffuse simply means the color is constant (e.g., white), and 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.
|
inline |
|
inlinevirtual |
Implements BaseShader.
|
inlineinherited |
Deprecated, use the method above instead.
|
inlinevirtual |
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 BaseShader.