Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

asr Namespace Reference

The asr namespace contains all code related to the raytracer. More...


Classes

class  AABB
 Class representing an axis-aligned bounding box (AABB). More...
class  Camera
 Class representing a simple perspective camera. More...
class  Checker
 Class representing a simple checkerboard material. More...
class  Color
 Class representing an RGB color value. More...
class  Diffuse
 Simple diffuse (Lambertian) material. More...
class  Dummy
 This class represents a dummy node that contains just a transform matrix and no other data. More...
class  Image
 Class representing an image of size width x height pixels. More...
class  Intersectable
 Interface that needs to be implemented by all intersectable primitives (Plane, Sphere, Triangle). More...
class  Intersection
 Class representing a ray/object intersection point. More...
class  KDTree
 Class representing a kD-tree acceleration structure for fast ray intersections. More...
class  Light
 Base class for classes representing light sources (PointLight). More...
class  LightProbe
 Class representing a light probe (environment map). More...
class  Material
 Base class for classes representing materials (Diffuse, Phong, Checker). More...
class  Matrix
 Class representing a 4x4 transformation matrix. More...
class  Vector
 Class representing a 3D vector. More...
class  Point
 Class representing a 3D point. More...
class  UV
 Class representing a texture coordinate (u,v) pair. More...
class  MemPool
 Class implementing a memory pool for fast allocation of objects. More...
class  Mesh
 Class representing a triangle mesh. More...
class  Node
 Base class for all scene hierarchy nodes (cameras, lights, primitives, etc). More...
class  PathTracer
 Class implementing a simple path tracer. More...
class  Phong
 Class representing a simple phong material. More...
class  Plane
 Class representing a simple rectangular plane. More...
class  PointLight
 Class representing a simple point light source. More...
class  Primitive
 Base class for classes representing geometry (Mesh, Sphere, Plane). More...
class  Ray
 Class representing a ray in 3D space. More...
class  Raytracer
 Base class for raytracers, containinng basic functionality needed for implementing various raytracing algorithms (Whitted, Pathtracing). More...
class  Scene
 Class representing all scene data. More...
class  Sphere
 Class representing a sphere. More...
class  Timer
 Class representing a simple timer. More...
class  Triangle
 Class representing a single triangle. More...
class  WhittedTracer
 Class implementing a simple Whitted-style raytracer. More...

Functions

Color operator * (float s, const Color &c)
 Component-wise multiplication with scalar (mixed-mode).
std::ostream & operator<< (std::ostream &os, const Color &c)
 Write color values to an output stream in text format.
static float uniform ()
 Returns a uniform random number in the range [0,1).
static std::string int2str (int i)
 Helper function for converting an int to a string.
static void swap (float &a, float &b)
 Swaps two floats.
template<class T>
max (T a, T b)
 Returns the maximum of the two elements.
template<class T>
min (T a, T b)
 Returns the minimum of the two elements.
std::ostream & operator<< (std::ostream &os, const Matrix &A)
 Write matrix elements to an output stream.
std::ostream & operator<< (std::ostream &os, const Vector &A)
 Write elements to an output stream.
std::ostream & operator<< (std::ostream &os, const Point &A)
 Write elements to an output stream.

Variables

static float INF = std::numeric_limits<float>::infinity()
 Define positive infinity for floats.
static const float epsilon = 1e-6
 Small value.
static Diffuse DEFAULT_MATERIAL = Diffuse(Color(0.7f,0.7f,0.7f))
 Default material is a gray diffuse material.
static const char EXR_OUTPUT_COMMENT [] = "ASR Raytracer"
 This string is stored as a comment in exr files written by this class.
static const float EMPTY_BONUS = 0.1f
 Nodes in the tree which are completely empty are assigned a bonus between 0 and 1 during tree construction as they will speed up traversal by cutting of empty portions of the scene.
static const float INTERSECTION_COST = 80.0f
 The cost of performing a ray/object intersection.
static const float TRAVERSAL_COST = 1.0f
 The cost of traversing into a node in the tree.
const float overlap = 1e-3
 Triangle overlap distance to avoid problems at edges.


Detailed Description

The asr namespace contains all code related to the raytracer.
Generated on Sun Mar 26 19:14:10 2006 for ASR by  doxygen 1.4.4