Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
PbrLight Class Referenceabstract
Inheritance diagram for PbrLight:
ModulePhysicalPbrLight PbrLightSas

Public Member Functions

virtual void configure (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrIntegrationDomain &domain, PbrLightConfig &light_config) const =0
 
virtual unsigned int get_sampling_dimension () const =0
 
virtual void sample (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrIntegrationDomain &domain, const PbrLightConfig &light_config, const PbrRandVar &var, const PbrScatter *scatter, PbrSample &sample) const =0
 
virtual void evaluate (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrIntegrationDomain &domain, const PbrLightConfig &light_config, const PbrSample &sample, const PbrScatter *scatter, PbrEval &eval) const =0
 
virtual GMathVec3f get_contribution (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrScatter *scatter) const =0
 
virtual unsigned int get_ray_scatter_sampling_dimension () const =0
 
virtual double ray_scatter_init (const CtxEval &eval_ctx, CtxShader &shader_ctx, const double &t_min, const double &t_max, PbrLightConfig &light_config) const =0
 
virtual bool ray_scatter_sample (const PbrLightConfig &light_config, const PbrRandVar &var, double &t, double &pdf) const =0
 
virtual double ray_scatter_pdf (const PbrLightConfig &light_config, const double &t) const =0
 
virtual bool is_visible (const unsigned int &total_depth) const =0
 
virtual bool is_visible (const PbrChannelIndex &channel_index, const unsigned int &channel_depth) const =0
 
virtual const bool & is_enabled () const =0
 
virtual const PbrEmissionModifierget_emission_modifier () const =0