Defines two simple but multithreaded renders, a level-set ray tracer and a volume render. To support these renders we also define perspective and orthographic cameras (both designed to mimic a Houdini camera), a Film class and some rather naive shaders.
More...
|
| class | LevelSetRayTracer< GridT, IntersectorT > |
| | A (very) simple multithreaded ray tracer specifically for narrow-band level sets. More...
|
| |
| class | VolumeRender< IntersectorT, SamplerT > |
| | A (very) simple multithreaded volume render specifically for scalar density. More...
|
| |
| class | Film |
| | A simple class that allows for concurrent writes to pixels in an image, background initialization of the image, and PPM file output. More...
|
| |
| struct | Film::RGBA |
| | Floating-point RGBA components in the range [0, 1]. More...
|
| |
| class | BaseCamera |
| | Abstract base class for the perspective and orthographic cameras. More...
|
| |
| class | PerspectiveCamera |
| |
| class | OrthographicCamera |
| |
| class | BaseShader |
| | Abstract base class for the shaders. More...
|
| |
| class | MatteShader< GridT, SamplerType > |
| | Shader that produces a simple matte. More...
|
| |
| class | MatteShader< Film::RGBA, SamplerType > |
| |
| class | NormalShader< GridT, SamplerType > |
| | Color shader that treats the surface normal (x, y, z) as an RGB color. More...
|
| |
| class | NormalShader< Film::RGBA, SamplerType > |
| |
| class | 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. More...
|
| |
| class | PositionShader< Film::RGBA, SamplerType > |
| |
| class | DiffuseShader< GridT, SamplerType > |
| | Simple diffuse Lambertian surface shader. More...
|
| |
| class | DiffuseShader< Film::RGBA, SamplerType > |
| |
|
| template<typename GridT > |
| void | rayTrace (const GridT &, const BaseShader &, BaseCamera &, size_t pixelSamples=1, unsigned int seed=0, bool threaded=true) |
| | Ray-trace a volume.
|
| |
| template<typename GridT , typename IntersectorT > |
| void | rayTrace (const GridT &, const IntersectorT &, const BaseShader &, BaseCamera &, size_t pixelSamples=1, unsigned int seed=0, bool threaded=true) |
| | Ray-trace a volume using a given ray intersector.
|
| |
Defines two simple but multithreaded renders, a level-set ray tracer and a volume render. To support these renders we also define perspective and orthographic cameras (both designed to mimic a Houdini camera), a Film class and some rather naive shaders.
- Author
- Ken Museth
- Note
- These classes are included mainly as reference implementations for ray-tracing of OpenVDB volumes. In other words they are not intended for production-quality rendering, but could be used for fast pre-visualization or as a starting point for a more serious render.