OpenVDB
12.0.0
|
A (very) simple multithreaded ray tracer specifically for narrow-band level sets. More...
#include <openvdb/tools/RayTracer.h>
Public Types | |
using | GridType = GridT |
using | Vec3Type = typename IntersectorT::Vec3Type |
using | RayType = typename IntersectorT::RayType |
Public Member Functions | |
LevelSetRayTracer (const GridT &grid, const BaseShader &shader, BaseCamera &camera, size_t pixelSamples=1, unsigned int seed=0) | |
Constructor based on an instance of the grid to be rendered. More... | |
LevelSetRayTracer (const IntersectorT &inter, const BaseShader &shader, BaseCamera &camera, size_t pixelSamples=1, unsigned int seed=0) | |
Constructor based on an instance of the intersector performing the ray-intersections. More... | |
LevelSetRayTracer (const LevelSetRayTracer &other) | |
Copy constructor. More... | |
~LevelSetRayTracer () | |
Destructor. More... | |
void | setGrid (const GridT &grid) |
Set the level set grid to be ray-traced. More... | |
void | setIntersector (const IntersectorT &inter) |
Set the intersector that performs the actual intersection of the rays against the narrow-band level set. More... | |
void | setShader (const BaseShader &shader) |
Set the shader derived from the abstract BaseShader class. More... | |
void | setCamera (BaseCamera &camera) |
Set the camera derived from the abstract BaseCamera class. More... | |
void | setPixelSamples (size_t pixelSamples, unsigned int seed=0) |
Set the number of pixel samples and the seed for jittered sub-rays. A value larger than one implies anti-aliasing by jittered super-sampling. More... | |
void | render (bool threaded=true) const |
Perform the actual (potentially multithreaded) ray-tracing. More... | |
void | operator() (const tbb::blocked_range< size_t > &range) const |
Public method required by tbb::parallel_for. More... | |
A (very) simple multithreaded ray tracer specifically for narrow-band level sets.
Included primarily as a reference implementation.
using GridType = GridT |
using RayType = typename IntersectorT::RayType |
using Vec3Type = typename IntersectorT::Vec3Type |
|
inline |
Constructor based on an instance of the grid to be rendered.
|
inline |
Constructor based on an instance of the intersector performing the ray-intersections.
|
inline |
Copy constructor.
|
inline |
Destructor.
|
inline |
Public method required by tbb::parallel_for.
|
inline |
Perform the actual (potentially multithreaded) ray-tracing.
|
inline |
Set the camera derived from the abstract BaseCamera class.
|
inline |
Set the level set grid to be ray-traced.
|
inline |
Set the intersector that performs the actual intersection of the rays against the narrow-band level set.
|
inline |
Set the number of pixel samples and the seed for jittered sub-rays. A value larger than one implies anti-aliasing by jittered super-sampling.
ValueError | if pixelSamples is equal to zero. |
|
inline |
Set the shader derived from the abstract BaseShader class.