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
PbrWeightedSasTree Class Reference
Inheritance diagram for PbrWeightedSasTree:
PbrWeightedSasObject PbrSasBase ResourceData EventObject CoreCustomData CoreBaseObject CoreBaseType PbrWeightedSasScene PbrWeightedSasSceneObjectTree

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
 

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 Member Functions inherited from EventObject
static void connect (EventObject &sender, const CoreString &event_id, EventObject &receiver, EventInfoMethod event_cb, void *data=0)
 Static version of the above function.
 
static void connect (EventObject &sender, EventObject &receiver, EventInfoMethod event_cb, void *data=0)
 Static version of the above function.
 
static void connect (EventObject &sender, const CoreString &event_id, EventInfoFunction event_cb, void *data=0)
 Connects to an object to listen to a specific event.
 
static void connect (EventObject &sender, EventInfoFunction event_cb, void *data=0)
 Connects to an object to listen any of its events.
 
static bool disconnect (EventObject &sender, const CoreString &event_id, EventInfoFunction event_cb, void *data=0)
 
static void raise_event (EventObject &sender, const CoreString &event_id)
 Sends an event.
 
static void raise_event (EventObject &sender, const EventInfo &event_info)
 Sends an event.
 
static void connect (EventObject &sender, const CoreString &event_id, EventFunction event_cb, void *data=0)
 Connects to an object to listen to a specific event.
 
static void connect (EventObject &sender, EventFunction event_cb, void *data=0)
 Connects to an object to listen any of its events.
 
static void connect (EventObject &sender, const CoreString &event_id, EventObject &receiver, EventMethod event_cb, void *data=0)
 Static version of the above function.
 
static void connect (EventObject &sender, EventObject &receiver, EventMethod event_cb, void *data=0)
 Static version of the above function.
 
static bool disconnect (EventObject &sender, const CoreString &event_id, EventFunction event_cb, void *data=0)
 Disconnects this from an object for a specific event.
 
- 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 PbrWeightedSasTree Sampling acceleration structure for object having nested scene object SAS, with the correct intensity weights for all the nodes