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

Shader that produces a simple matte. More...

#include <openvdb/tools/RayTracer.h>

Inherits BaseShader.

Public Types

using RayT = math::Ray< Real >
 

Public Member Functions

 MatteShader (const GridT &grid)
 
 MatteShader (const MatteShader &)=default
 
 ~MatteShader () override=default
 
Film::RGBA operator() (const Vec3R &xyz, const Vec3R &, const Vec3R &) const override
 Defines the interface of the virtual function that returns a RGB color. More...
 
BaseShadercopy () const override
 

Detailed Description

template<typename GridT = Film::RGBA, typename SamplerType = tools::PointSampler>
class openvdb::v9_0::tools::MatteShader< GridT, SamplerType >

Shader that produces a simple matte.

The color can either be constant (if GridT = Film::RGBA which is the default) or defined in a separate Vec3 color grid. Use SamplerType to define the order of interpolation (default is zero order, i.e. closes-point).

Member Typedef Documentation

using RayT = math::Ray<Real>
inherited

Constructor & Destructor Documentation

MatteShader ( const GridT &  grid)
inline
MatteShader ( const MatteShader< GridT, SamplerType > &  )
default
~MatteShader ( )
overridedefault

Member Function Documentation

BaseShader* copy ( ) const
inlineoverridevirtual

Implements BaseShader.

Film::RGBA operator() ( const Vec3R xyz,
const Vec3R nml,
const Vec3R dir 
) const
inlineoverridevirtual

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

Parameters
xyzWorld position of the intersection point.
nmlNormal in world space at the intersection point.
dirDirection of the ray in world space.

Implements BaseShader.