XformedSurfaceWithMaterial class

A convenience subclass of Surface for simple surfaces with a Transform and a Material.

Explicitly stores a Transform which positions/orients the surface in the scene and pointer to a single Material which specifies the light reflectance properties.

Base classes

class Surface
This is the abstract superclass for all surfaces.

Derived classes

class Quad
A quad spanning from -m_size / 2 to m_size / 2 in the (x,y)-plane at z=0.
class Sphere
A sphere centered at the origin with radius m_radius.

Public functions

auto bounds() const -> Box3f override
The world-space bounds: obtained by simply applying m_xform to the result of local_bounds()
auto local_bounds() const -> Box3f pure virtual
Return the surface's local-space AABB.
auto is_emissive() const -> bool override
Return whether or not this Surface's Material is emissive.

Protected variables

Transform m_xform
Local-to-world Transformation.