OpenVDB 3.2.0

Public Types | Public Member Functions | List of all members
DiffuseShader< GridT, SamplerType > Class Template Reference

Simple diffuse Lambertian surface shader. More...

`#include <RayTracer.h>`

Inherits BaseShader.

## Public Types
typedef math::Ray< Real > | RayT

## Public Member Functions
| DiffuseShader (const GridT &grid)
virtual | ~DiffuseShader ()
virtual Film::RGBA | operator() (const Vec3R &xyz, const Vec3R &normal, const Vec3R &rayDir) const
| Defines the interface of the virtual function that returns a RGB color. More...
virtual BaseShader * | copy () const

## Detailed Description

### template<typename GridT = Film::RGBA, typename SamplerType = tools::PointSampler>
class openvdb::v3_2_0::tools::DiffuseShader< GridT, SamplerType >

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).

## Member Typedef Documentation

## ◆ RayT

typedef math::Ray<Real> RayT
| inherited

## Constructor & Destructor Documentation

## ◆ DiffuseShader()

DiffuseShader | ( | const GridT & | grid | ) |
| inline

## ◆ ~DiffuseShader()

virtual ~DiffuseShader | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ copy()

virtual BaseShader* copy | ( |  | ) | const
| inline virtual

Implements BaseShader.

## ◆ operator()()

virtual Film::RGBA operator() | ( | const Vec3R & | xyz,
|  | const Vec3R & | nml,
|  | const Vec3R & | dir
| ) |  | const
| inline virtual

Defines the interface of the virtual function that returns a RGB color.

Parameters

  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.

The documentation for this class was generated from the following file:

- RayTracer.h