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

Color shader that treats position (x, y, z) as an RGB color in a cube defined from an axis-aligned bounding box in world space. More...

#include <openvdb/tools/RayTracer.h>

Inherits BaseShader.

Public Types

using RayT = math::Ray< Real >
 

Public Member Functions

 PositionShader (const math::BBox< Vec3R > &bbox, const GridT &grid)
 
 PositionShader (const PositionShader &)=default
 
 ~PositionShader () 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_1::tools::PositionShader< GridT, SamplerType >

Color shader that treats position (x, y, z) as an RGB color in a cube defined from an axis-aligned bounding box in world space.

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

PositionShader ( const math::BBox< Vec3R > &  bbox,
const GridT &  grid 
)
inline
PositionShader ( const PositionShader< GridT, SamplerType > &  )
default
~PositionShader ( )
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.