Classes | |
class | Camera |
Class representing a simple perspective camera. More... | |
class | Checker |
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 the frame buffer, an image of size width x height pixels. More... | |
class | Intersectable |
Interface that needs to be implemented by all intersectable primitives. More... | |
class | Intersection |
Class representing a ray/object intersection point. 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 | Mesh |
Class representing a triangle mesh. More... | |
class | Node |
Base class for scene hierarchy nodes (cameras, lights, primitives, etc). More... | |
class | PathTracer |
Class implementing a simple pathtracer. More... | |
class | Phong |
Class representing a simple phong material. More... | |
class | Plane |
Class representing a simple rectangular plane. More... | |
class | PointLight |
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 by the sub classes. More... | |
class | Scene |
Class representing all scene data. More... | |
class | Sphere |
Class representing a sphere. 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. | |
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. | |
const char | EXR_OUTPUT_COMMENT [] = "ASR Raytracer" |
This string is stored as a comment in exr files written by this class. | |
static const float | RUSSIAN_ROULETTE = 0.75f |
A path is terminated if a uniform random number in [0,1] falls above the threshold. | |
static const int | NUMBER_SAMPLES = 100 |
Number of samples per pixel. | |
const float | overlap = 1e-3 |
Triangle overlap distance to avoid problems at edges. |