Nori  23
Integrator Class Referenceabstract

Abstract integrator (i.e. a rendering technique) More...

#include <integrator.h>

Inheritance diagram for Integrator:
Collaboration diagram for Integrator:

Public Member Functions

virtual ~Integrator ()
 Release all memory.
 
virtual void preprocess (const Scene *scene)
 Perform an (optional) preprocess step.
 
virtual Color3f Li (const Scene *scene, Sampler *sampler, const Ray3f &ray) const =0
 Sample the incident radiance along a ray. More...
 
virtual EClassType getClassType () const override
 Return the type of object (i.e. Mesh/BSDF/etc.) provided by this instance.
 
- Public Member Functions inherited from NoriObject
virtual ~NoriObject ()
 Virtual destructor.
 
virtual void addChild (NoriObject *child)
 Add a child object to the current instance. More...
 
virtual void setParent (NoriObject *parent)
 Set the parent object. More...
 
virtual void activate ()
 Perform some action associated with the object. More...
 
virtual std::string toString () const =0
 Return a brief string summary of the instance (for debugging purposes)
 
void setIdName (const std::string &name)
 Allow to assign a name to the object.
 
const std::string & getIdName () const
 

Additional Inherited Members

- Public Types inherited from NoriObject
enum  EClassType {
  EScene = 0 , EMesh , ETexture , EBSDF ,
  EPhaseFunction , EEmitter , EMedium , ECamera ,
  EIntegrator , ESampler , ETest , EReconstructionFilter ,
  EClassTypeCount
}
 
- Static Public Member Functions inherited from NoriObject
static std::string classTypeName (EClassType type)
 Turn a class type into a human-readable string.
 
- Protected Attributes inherited from NoriObject
std::string m_idname
 

Detailed Description

Abstract integrator (i.e. a rendering technique)

In Nori, the different rendering techniques are collectively referred to as integrators, since they perform integration over a high-dimensional space. Each integrator represents a specific approach for solving the light transport equation—usually favored in certain scenarios, but at the same time affected by its own set of intrinsic limitations.

Definition at line 35 of file integrator.h.

Member Function Documentation

◆ Li()

virtual Color3f Integrator::Li ( const Scene scene,
Sampler sampler,
const Ray3f ray 
) const
pure virtual

Sample the incident radiance along a ray.

Parameters
sceneA pointer to the underlying scene
samplerA pointer to a sample generator
rayThe ray in question
Returns
A (usually) unbiased estimate of the radiance in this direction

Implemented in PhotonMapper.


The documentation for this class was generated from the following file: