21 #ifndef LIB_LIGHTMETRICA_EMITTER_H
22 #define LIB_LIGHTMETRICA_EMITTER_H
24 #include "generalizedbsdf.h"
98 virtual AABB GetAABB()
const = 0;
104 #endif // LIB_LIGHTMETRICA_EMITTER_H
virtual Math::Vec3 EvaluatePosition(const SurfaceGeometry &geom) const =0
Definition: generalizedbsdf.h:168
virtual void RegisterPrimitives(const std::vector< Primitive * > &primitives)=0
Definition: primitive.h:39
virtual EmitterShape * CreateEmitterShape() const =0
Definition: emittershape.h:41
Definition: surfacegeometry.h:36
virtual Math::PDFEval EvaluatePositionPDF(const SurfaceGeometry &geom) const =0
virtual void PostConfigure(const Scene &scene)=0
virtual void SamplePosition(const Math::Vec2 &sample, SurfaceGeometry &geom, Math::PDFEval &pdf) const =0