HDK
|
A (very) simple multithreaded ray tracer specifically for narrow-band level sets. More...
#include <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.
Definition at line 71 of file RayTracer.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayTracer< GridT, IntersectorT >::GridType = GridT |
Definition at line 74 of file RayTracer.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayTracer< GridT, IntersectorT >::RayType = typename IntersectorT::RayType |
Definition at line 76 of file RayTracer.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayTracer< GridT, IntersectorT >::Vec3Type = typename IntersectorT::Vec3Type |
Definition at line 75 of file RayTracer.h.
|
inline |
Constructor based on an instance of the grid to be rendered.
Definition at line 782 of file RayTracer.h.
|
inline |
Constructor based on an instance of the intersector performing the ray-intersections.
Definition at line 798 of file RayTracer.h.
|
inline |
Copy constructor.
Definition at line 814 of file RayTracer.h.
|
inline |
Destructor.
Definition at line 826 of file RayTracer.h.
|
inline |
Public method required by tbb::parallel_for.
Definition at line 892 of file RayTracer.h.
|
inline |
Perform the actual (potentially multithreaded) ray-tracing.
Definition at line 884 of file RayTracer.h.
|
inline |
Set the camera derived from the abstract BaseCamera class.
Definition at line 857 of file RayTracer.h.
|
inline |
Set the level set grid to be ray-traced.
Definition at line 833 of file RayTracer.h.
|
inline |
Set the intersector that performs the actual intersection of the rays against the narrow-band level set.
Definition at line 841 of file RayTracer.h.
|
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. |
Definition at line 865 of file RayTracer.h.
|
inline |
Set the shader derived from the abstract BaseShader class.
Definition at line 849 of file RayTracer.h.