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
PbrWeightedSasGeometryBundle Class Reference
Inheritance diagram for PbrWeightedSasGeometryBundle:
PbrWeightedSasObject

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
 
const PbrWeightedSasGeometryget_geometry_sas (const unsigned int &geo_index) const
 
const PbrWeightedSasGeometryset_geometry_sas (ModuleGeometryBundle *module, const unsigned int &geo_index, const PbrWeightedSasGeometryConfig &config)
 

Static Public Member Functions

static ResourceDatacreate_weighted_sas (ModuleGeometryBundle *module, const GeometrySceneInfo *topo, PbrSasGeometryBundle *sas, CoreBasicArray< ModuleMaterial * > materials)
 

Additional Inherited Members

- Private 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 *)
 
- Private 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 Private 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 Private Attributes inherited from PbrWeightedSasObject
static const unsigned int s_cuts_material_mode = 0u
 
static const unsigned int s_sample_material_mode = 0u
 

Detailed Description

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