| Camera | Class representing a simple perspective camera |
| Checker | Checkerboard material |
| Color | Class representing an RGB color value |
| Diffuse | Simple diffuse (Lambertian) material |
| Dummy | This class represents a dummy node that contains just a transform matrix and no other data |
| Image | Class representing the frame buffer, an image of size width x height pixels |
| Intersectable | Interface that needs to be implemented by all intersectable primitives |
| Intersection | Class representing a ray/object intersection point |
| Light | Base class for classes representing light sources (PointLight) |
| LightProbe | Class representing a light probe (environment map) |
| Material | Base class for classes representing materials (Diffuse, Phong, Checker) |
| Matrix | Class representing a 4x4 transformation matrix |
| Mesh | Class representing a triangle mesh |
| Mesh::vertex | Internal class representing the vertex indices |
| Node | Base class for scene hierarchy nodes (cameras, lights, primitives, etc) |
| PathTracer | Class implementing a simple pathtracer |
| Phong | Class representing a simple phong material |
| Plane | Class representing a simple rectangular plane |
| Point | Class representing a 3D point |
| PointLight | Simple point light source |
| Primitive | Base class for classes representing geometry (Mesh, Sphere, Plane) |
| Ray | Class representing a ray in 3D space |
| Raytracer | Base class for raytracers, containinng basic functionality needed by the sub classes |
| Scene | Class representing all scene data |
| Sphere | Class representing a sphere |
| Triangle | Class representing a single triangle |
| UV | Class representing a texture coordinate (u,v) pair |
| Vector | Class representing a 3D vector |
| WhittedTracer | Class implementing a simple Whitted-style raytracer |