Nori  23
Diffuse Class Reference

Diffuse / Lambertian BRDF model. More...

Inheritance diagram for Diffuse:
Collaboration diagram for Diffuse:

Public Member Functions

 Diffuse (const PropertyList &propList)
 
virtual void addChild (NoriObject *obj) override
 Add texture for the albedo.
 
virtual void activate () override
 Perform some action associated with the object. More...
 
virtual Color3f eval (const BSDFQueryRecord &bRec) const override
 Evaluate the BRDF model.
 
virtual float pdf (const BSDFQueryRecord &bRec) const override
 Compute the density of sample() wrt. solid angles.
 
virtual Color3f sample (BSDFQueryRecord &bRec, const Point2f &sample) const override
 Draw a a sample from the BRDF model.
 
bool isDiffuse () const
 Return whether or not this BRDF is diffuse. This is primarily used by photon mapping to decide whether or not to store photons on a surface.
 
virtual std::string toString () const override
 Return a human-readable summary.
 
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 setParent (NoriObject *parent)
 Set the parent object. More...
 
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

Diffuse / Lambertian BRDF model.

Definition at line 29 of file diffuse.cpp.

Member Function Documentation

◆ activate()

virtual void Diffuse::activate ( )
inlineoverridevirtual

Perform some action associated with the object.

The default implementation throws an exception. Certain objects may choose to override it, e.g. to implement initialization, testing, or rendering functionality.

This function is called by the XML parser once it has constructed an object and added all of its children using addChild().

Reimplemented from NoriObject.

Definition at line 62 of file diffuse.cpp.


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