OpenVDB 13.0.0

Loading...
Searching...
No Matches
BaseShader Class Referenceabstract

Abstract base class for the shaders. More...

`#include <openvdb/tools/RayTracer.h>`

Inheritance diagram for BaseShader:

## 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.
virtual BaseShader * | copy () const =0

## Detailed Description

Abstract base class for the shaders.

## Member Typedef Documentation

## ◆ RayT

using RayT = math::Ray<Real>

## Constructor & Destructor Documentation

## ◆ BaseShader() [1/2]

BaseShader | ( |  | ) |
| inline

## ◆ BaseShader() [2/2]

BaseShader | ( | const BaseShader & |  | ) |
| default

## ◆ ~BaseShader()

virtual ~BaseShader | ( |  | ) |
| virtual default

## Member Function Documentation

## ◆ copy()

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

Implemented in 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 >.

## ◆ operator()()

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

  xyz | World position of the intersection point.
  nml | Normal in world space at the intersection point.
  dir | Direction of the ray in world space.

Implemented in 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 >.