A (very) simple multithreaded ray tracer specifically for narrow-band level sets.
More...
|
| 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.
|
|
| 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.
|
|
| LevelSetRayTracer (const LevelSetRayTracer &other) |
| Copy constructor.
|
|
| ~LevelSetRayTracer () |
| Destructor.
|
|
void | setGrid (const GridT &grid) |
| Set the level set grid to be ray-traced.
|
|
void | setIntersector (const IntersectorT &inter) |
| Set the intersector that performs the actual intersection of the rays against the narrow-band level set.
|
|
void | setShader (const BaseShader &shader) |
| Set the shader derived from the abstract BaseShader class.
|
|
void | setCamera (BaseCamera &camera) |
| Set the camera derived from the abstract BaseCamera class.
|
|
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.
|
|
void | render (bool threaded=true) const |
| Perform the actual (potentially multithreaded) ray-tracing.
|
|
void | operator() (const tbb::blocked_range< size_t > &range) const |
| Public method required by tbb::parallel_for.
|
|
template<typename GridT, typename IntersectorT = tools::LevelSetRayIntersector<GridT>>
class openvdb::v12_0::tools::LevelSetRayTracer< GridT, IntersectorT >
A (very) simple multithreaded ray tracer specifically for narrow-band level sets.
Included primarily as a reference implementation.