Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
PbrBxdfNormalisation Class Referenceabstract

The PbrBxdfNormalisation class This class is used to compensate the energy loss of a bxdf by normalizing the albedo. More...

Inheritance diagram for PbrBxdfNormalisation:
CoreScratchpadObject PbrBrdfLambertNormalisation PbrBrdfNormalisation PbrBsdfNormalisation PbrBtdfNormalisation

Public Member Functions

void set_strength (const double strength)
 
const double & get_strength () const
 
virtual GMathVec3f evaluate (const GMathVec3f &value, const GMathVec3d &wi, const GMathVec3d &wo, const GMathVec3d &normal, const GMathVec3d &kr, const GMathVec3d &kt) const =0
 evaluate Evaluate the normalisation necessary to compensate the energy loss and return the value that take into account the normalization.
 
- Public Member Functions inherited from CoreScratchpadObject
virtual ~CoreScratchpadObject ()
 Implement this virtual destructor in your data class, the memory scratchpad will call it on the reset call.
 

Protected Attributes

GMathVec3d m_average_fresnel
 

Detailed Description

The PbrBxdfNormalisation class This class is used to compensate the energy loss of a bxdf by normalizing the albedo.

Member Function Documentation

virtual GMathVec3f PbrBxdfNormalisation::evaluate ( const GMathVec3f &  value,
const GMathVec3d &  wi,
const GMathVec3d &  wo,
const GMathVec3d &  normal,
const GMathVec3d &  kr,
const GMathVec3d &  kt 
) const
pure virtual

evaluate Evaluate the normalisation necessary to compensate the energy loss and return the value that take into account the normalization.

Parameters
bxdfThe bxdf that needs to be normalized.
valueThe current value return by the bxdf.
wiThe incident ray
normalthe normal where the bxdf is evaluated
krThe reflection coeffecient of the fresnel
ktThe transmission coeffeceint of the fresnel
Returns
the bxdf's value that take into account the normalization.

Implemented in PbrBtdfNormalisation, PbrBrdfLambertNormalisation, PbrBrdfNormalisation, and PbrBsdfNormalisation.