Classes

  • class Array2d Generic, resizable, 2D array class.
  • struct BBH An axis-aligned bounding box hierarchy acceleration structure.
  • struct BBHNode A node of an axis-aligned bounding box hierarchy.
  • struct Box An N-D axis-aligned bounding box consisting of two N-D points min and max.
  • class Camera A virtual (pinhole) camera.
  • class DartsException Simple exception class, which stores a human-readable error description.
  • class DartsFactory A specialization of the Factory for darts objects read from json.
  • class Dielectric A smooth dielectric surface that reflects and refracts light according to the specified index of refraction ior.
  • class DiffuseLight A material that emits light equally in all directions from the front side of a surface.
  • struct EmitterRecord Data record for conveniently querying and sampling emitters.
  • class Factory Abstract factory used to construct objects by name.
  • struct HitInfo Contains information about a ray intersection hit point.
  • class Image3f A floating-point RGB image.
  • class Independent Independent sampling - returns independent uniformly distributed random numbers on $[0, 1)^2$ .
  • struct IntersectionTest A class to test the results of a ray-surface intersection.
  • class Lambertian A perfectly diffuse (Lambertian) material.
  • class Material A base class used to represent surface material properties.
  • struct Mesh A triangle mesh.
  • class Metal A metallic material that reflects light into the (potentially rough) mirror reflection direction.
  • class Progress A thread-safe helper object to display and update a progress bar in the terminal.
  • class Quad A quad spanning from -m_size / 2 to m_size / 2 in the (x,y)-plane at z=0.
  • struct Ray Simple ray segment data structure.
  • class Sampler Abstract sample generator.
  • class Scene Main scene data structure.
  • class Sphere A sphere centered at the origin with radius m_radius.
  • class Surface This is the abstract superclass for all surfaces.
  • class SurfaceGroup A collection of Surfaces grouped together.
  • struct Test Base class for unit tests in Darts.
  • struct Transform Homogeneous coordinate transformation.
  • class Triangle An instance of a triangle for a given face in a mesh.
  • class XformedSurfaceWithMaterial A convenience subclass of Surface for simple surfaces with a Transform and a Material.