HitRec | Result record for a ray-casting operation |
Intersectable | Base interface for all object types that can be ray-traced. The most important implementing classes are TriangleMesh and Transformed (usually referring to a TriangleMesh). A KDTree will build a hierarchy of Intersectables. TraingleMesh::Patch is also an implementing class, and a TriangleMesh contains a KDTree of patches |
KDTree | |
KDTree::TraverseStack | Stack to implement the recursive traversal algorithm |
Material | Material class for ray tracing. A material that can be assigned to Intersectables. Implements [lambert + phong + ideal reflection + refraction + emission] model. Descendants may override this by texturing (TexturedMaterial) or procedural texturing |
PathMapEffect | Main class for the PRM computation and usage application. This class encapsulates all resources needed for computing PRMs and using them in the final rendering. PRM resources may be generated, saved to files, or restored |
PathMapEffect::Method | Clever enum for supported final rendering methods |
PathMapEffect::RenderMesh | Struct containing all mesh related data. Will be filled from X files in PathMapEffect constructor |
Radion | Class that describes a virtual light source on a diffuse surface |
Ray | Class that describes a ray to be traced |
TexturedMaterial | A Material that can be assigned to an Intersectable (typically a TriangleMesh), and contains a texture. The texture must be square (equal height and width), 32bpp, BGRA |
Transformation | 3D linear transformation + translation class. Used by the ray-tracing system to store entity modelling transformations. Class Transformed is an Intersecable that refers to an Intersectable and contains a Transformation |
TriangleMesh | Ray-tracable representaion of a mesh TriangleMesh encapsulates a kd-tree containing triangles. It can be constructed using the vertex and index buffers of a mesh. Ray-intersection and random surface sampling are supported |
TriangleMesh::Patch | A triangle with ray-intersection |
Vector | 3D vector class with overloaded operators. Used for positions, directions, colors, etc. It has the same memory layout as D3DXVECTOR3 |
WoodMaterial | A procedural material |