Classes

  • namespace drjit Bring nanothread functions into scope.
  • namespace Spherical Working with spherical coordinate and angles.
  • class Array2d Generic, resizable, 2D array class.
  • class Barrier Implements a simple barrier thread-coordination mechanism using a condition variable and mutex.
  • struct BBH An axis-aligned bounding box hierarchy acceleration structure.
  • struct BBHLeaf A lighter-weight version of SurfaceGroup for BBH leaf nodes that need to store multiple surfaces, but which don't need to store additional information like a transform or explicitly stored bounds.
  • 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 An exception storing a human-readable error description passed in using fmt:format-style arguments.
  • 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.
  • class Factory Abstract factory used to construct objects by name.
  • struct HitInfo Contains information about a ray intersection hit point.
  • class HomogeneousMedium A homogeneous medium with the same scattering properties everywhere.
  • class Image An image with a generic pixel type.
  • 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 NanoVDBMedium A medium with density defined by a NanoVDB grid.
  • 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.
  • class Range Python-style range: iterates from min to max in range-based for loops.
  • struct Ray Simple ray segment data structure.
  • 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 VacuumMedium A vacuum (empty medium).
  • class XformedSurface A convenience subclass of Surface for surfaces with a Transform.
  • class XformedSurfaceWithMaterial Adds a Material to XformedSurface.