OpenVDB  9.0.1
Public Types | Public Member Functions | List of all members
BaseShader Class Referenceabstract

Abstract base class for the shaders. More...

#include <openvdb/tools/RayTracer.h>

Inherited by DiffuseShader< GridT, SamplerType >, DiffuseShader< Film::RGBA, SamplerType >, MatteShader< GridT, SamplerType >, MatteShader< Film::RGBA, SamplerType >, NormalShader< GridT, SamplerType >, NormalShader< Film::RGBA, SamplerType >, PositionShader< GridT, SamplerType >, and PositionShader< Film::RGBA, SamplerType >.

Public Types

using RayT = math::Ray< Real >
 

Public Member Functions

 BaseShader ()
 
 BaseShader (const BaseShader &)=default
 
virtual ~BaseShader ()=default
 
virtual Film::RGBA operator() (const Vec3R &xyz, const Vec3R &nml, const Vec3R &dir) const =0
 Defines the interface of the virtual function that returns a RGB color. More...
 
virtual BaseShadercopy () const =0
 

Detailed Description

Abstract base class for the shaders.

Member Typedef Documentation

using RayT = math::Ray<Real>

Constructor & Destructor Documentation

BaseShader ( )
inline
BaseShader ( const BaseShader )
default
virtual ~BaseShader ( )
virtualdefault

Member Function Documentation

virtual BaseShader* copy ( ) const
pure virtual
virtual Film::RGBA operator() ( const Vec3R xyz,
const Vec3R nml,
const Vec3R dir 
) const
pure virtual

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.

Implemented in DiffuseShader< Film::RGBA, SamplerType >, DiffuseShader< GridT, SamplerType >, PositionShader< Film::RGBA, SamplerType >, PositionShader< GridT, SamplerType >, NormalShader< Film::RGBA, SamplerType >, NormalShader< GridT, SamplerType >, MatteShader< Film::RGBA, SamplerType >, and MatteShader< GridT, SamplerType >.