Nori  23
Mirror Class Reference

Ideal mirror BRDF. More...

Inheritance diagram for Mirror:
Collaboration diagram for Mirror:

Public Member Functions

 Mirror (const PropertyList &)
 
virtual Color3f eval (const BSDFQueryRecord &) const override
 Evaluate the BSDF for a pair of directions and measure specified in code bRec. More...
 
virtual float pdf (const BSDFQueryRecord &) const override
 Compute the probability of sampling bRec.wo (conditioned on bRec.wi). More...
 
virtual Color3f sample (BSDFQueryRecord &bRec, const Point2f &) const override
 Sample the BSDF and return the importance weight (i.e. the value of the BSDF * cos(theta_o) divided by the probability density of the sample with respect to solid angles). More...
 
virtual std::string toString () const override
 Return a brief string summary of the instance (for debugging purposes)
 
- Public Member Functions inherited from BSDF
virtual EClassType getClassType () const override
 Return the type of object (i.e. Mesh/BSDF/etc.) provided by this instance.
 
virtual 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.
 
- 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...
 
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

Ideal mirror BRDF.

Definition at line 25 of file mirror.cpp.

Member Function Documentation

◆ eval()

virtual Color3f Mirror::eval ( const BSDFQueryRecord bRec) const
inlineoverridevirtual

Evaluate the BSDF for a pair of directions and measure specified in code bRec.

Parameters
bRecA record with detailed information on the BSDF query
Returns
The BSDF value, evaluated for each color channel

Implements BSDF.

Definition at line 29 of file mirror.cpp.

◆ pdf()

virtual float Mirror::pdf ( const BSDFQueryRecord bRec) const
inlineoverridevirtual

Compute the probability of sampling bRec.wo (conditioned on bRec.wi).

This method provides access to the probability density that is realized by the sample() method.

Parameters
bRecA record with detailed information on the BSDF query
Returns
A probability/density value expressed with respect to the specified measure

Implements BSDF.

Definition at line 34 of file mirror.cpp.

◆ sample()

virtual Color3f Mirror::sample ( BSDFQueryRecord bRec,
const Point2f sample 
) const
inlineoverridevirtual

Sample the BSDF and return the importance weight (i.e. the value of the BSDF * cos(theta_o) divided by the probability density of the sample with respect to solid angles).

Parameters
bRecA BSDF query record
sampleA uniformly distributed sample on $[0,1]^2$
Returns
The BSDF value divided by the probability density of the sample sample. The returned value also includes the cosine foreshortening factor associated with the outgoing direction, when this is appropriate. A zero value means that sampling failed.

Implements BSDF.

Definition at line 39 of file mirror.cpp.


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