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

Color shader that treats the surface normal (x, y, z) as an RGB color. More...

#include <openvdb/tools/RayTracer.h>

Inherits BaseShader.

Public Types

using RayT = math::Ray< Real >
 

Public Member Functions

 NormalShader (const GridT &grid)
 
 NormalShader (const NormalShader &)=default
 
 ~NormalShader () override=default
 
Film::RGBA operator() (const Vec3R &xyz, const Vec3R &normal, 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::v12_0::tools::NormalShader< GridT, SamplerType >

Color shader that treats the surface normal (x, y, z) as an RGB color.

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

NormalShader ( const GridT &  grid)
inline
NormalShader ( const NormalShader< GridT, SamplerType > &  )
default
~NormalShader ( )
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.