OpenVDB  2.1.0
Classes | Namespaces | Functions
RayTracer.h File Reference

Defines a simple, multithreaded level-set ray tracer, perspective and orthographic cameras (both designed to mimic a Houdini camera), a Film class and some rather naive shaders. More...

#include <openvdb/Types.h>
#include <openvdb/math/BBox.h>
#include <openvdb/math/Ray.h>
#include <openvdb/math/Math.h>
#include <openvdb/tools/RayIntersector.h>
#include <boost/scoped_ptr.hpp>
#include <vector>

Go to the source code of this file.

Classes

class  LevelSetRayTracer< GridT, IntersectorT >
 A (very) simple multithreaded ray tracer specifically for narrow-band level sets. More...
 
class  Film
 A simple class that allows for concurrent writes to pixels in an image, background initialization of the image, and PPM or EXR 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
 Shader that produces a simple matte. More...
 
class  NormalShader
 Color shader that treats the surface normal (x, y, z) as an RGB color. More...
 
class  PositionShader
 
class  DiffuseShader
 Simple diffuse Lambertian surface shader. More...
 

Namespaces

 openvdb
 
 openvdb::v2_1_0
 
 openvdb::v2_1_0::tools
 

Functions

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. More...
 
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. More...
 

Detailed Description

Defines a simple, multithreaded level-set ray tracer, 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 to illustrate how to ray-trace OpenVDB volumes. They are not intended for production-quality rendering.