Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
PbrWeightedSasGeometry Class Reference
Inheritance diagram for PbrWeightedSasGeometry:
PbrWeightedSasObject PbrSasBase ResourceData EventObject CoreCustomData CoreBaseObject CoreBaseType

Public Member Functions

virtual unsigned int get_sampling_dimension () const override
 
GMathVec3d sample_static_scatter (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrSasSampleCtx &sample_ctx) const override
 
GMathVec3d sample_motion_scatter (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrSasSampleCtx &sample_ctx) const override
 
bool sample_static (const CtxEval &eval_ctx, CtxShader &shader_ctx, PbrSasSampleCtx &sample_ctx) const override
 
bool sample_motion (const CtxEval &eval_ctx, CtxShader &shader_ctx, PbrSasSampleCtx &sample_ctx) const override
 
unsigned int evaluate_static (const CtxEval &eval_ctx, const CtxShader &shader_ctx, PbrSasEvaluateCtx &evaluate_ctx) const override
 
unsigned int evaluate_motion (const CtxEval &eval_ctx, const CtxShader &shader_ctx, PbrSasEvaluateCtx &evaluate_ctx) const override
 
virtual double ray_scatter_init (const CtxEval &eval_ctx, CtxShader &shader_ctx, PbrLightConfig &light_config, PbrSasSampleCtx &sample_ctx) const override
 
virtual bool ray_scatter_sample (const PbrLightConfig &light_config, const PbrRandVar &var, double &t, double &pdf) const override
 
virtual double ray_scatter_pdf (const PbrLightConfig &light_config, const double &t) const override
 
- Public Member Functions inherited from PbrWeightedSasObject
void configure (const CtxEval &eval_ctx, const CtxShader &shader_ctx, const PbrIntegrationDomain &domain, PbrLightConfig &light_config) const override
 
void configure (const CtxEval &eval_ctx, const CtxShader &shader_ctx, const PbrIntegrationDomain &domain, PbrLightConfig &light_config, const MatInv4x4d &xform, ModuleSceneObject *module_scene_object=nullptr) const
 
bool sample (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrLightConfig &light_config, PbrSasSampleCtx &sample_ctx) const override
 
bool evaluate (const CtxEval &eval_ctx, const CtxShader &shader_ctx, const PbrLightConfig &light_config, PbrSasEvaluateCtx &evaluate_ctx) const override
 
const CoreArray< ProjectedArea > & get_projected_areas () const
 
void get_sub_projected_areas (const CoreBasicArray< unsigned int > &indices, ProjectedArea *projected_areas) const
 
const double & get_emission_intensity () const
 

Static Public Member Functions

static ResourceDatacreate_weighted_sas (ModuleSceneObject *module, const PbrSasGeometry *sas, CoreBasicArray< ModuleMaterial * > materials)
 

Additional Inherited Members

- Public Types inherited from EventObject
typedef void(* EventInfoFunction )(EventObject &, const EventInfo &, void *)
 event callback signature for free functions / static methods.
 
typedef void(EventObject::* EventInfoMethod )(EventObject &, const EventInfo &, void *)
 event callback signature for methods.
 
typedef void(* EventFunction )(EventObject &, const CoreString &, void *)
 
typedef void(EventObject::* EventMethod )(EventObject &, const CoreString &, void *)
 
- Static Public Attributes inherited from PbrWeightedSasObject
static const unsigned int s_cuts_material_mode = 0u
 
static const unsigned int s_sample_material_mode = 0u
 
- Protected Attributes inherited from PbrWeightedSasObject
const PbrSasObjectm_sas
 
CoreArray< ProjectedArea > m_projected_areas
 light sampling tree acceleration structure
 
double m_emission_intensity
 Area of the nodes projected along an arbitrary direction.
 

Detailed Description

class PbrWeightedSasGeometry Sampling acceleration structure for the geometry light, with the correct intensity weights for all the nodes