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

Classes

struct  RayScatterData
 

Public Member Functions

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
 
virtual bool sample_static (const CtxEval &eval_ctx, CtxShader &shader_ctx, PbrSasSampleCtx &sample_ctx) const =0
 
virtual bool sample_motion (const CtxEval &eval_ctx, CtxShader &shader_ctx, PbrSasSampleCtx &sample_ctx) const =0
 
virtual unsigned int evaluate_static (const CtxEval &eval_ctx, const CtxShader &shader_ctx, PbrSasEvaluateCtx &evaluate_ctx) const =0
 
virtual unsigned int evaluate_motion (const CtxEval &eval_ctx, const CtxShader &shader_ctx, PbrSasEvaluateCtx &evaluate_ctx) const =0
 
virtual GMathVec3d sample_static_scatter (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrSasSampleCtx &sample_ctx) const =0
 
virtual GMathVec3d sample_motion_scatter (const CtxEval &eval_ctx, CtxShader &shader_ctx, const PbrSasSampleCtx &sample_ctx) const =0
 
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
 
- Public Member Functions inherited from PbrSasBase
virtual unsigned int get_sampling_dimension () const =0
 
virtual double ray_scatter_init (const CtxEval &eval_ctx, CtxShader &shader_ctx, PbrLightConfig &light_config, PbrSasSampleCtx &sample_ctx) 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
 
- Public Member Functions inherited from ResourceData
 ResourceData (const ResourceData &other)
 
virtual size_t get_memory_size () const override
 Get the amount of memory occupied by the resource.
 
ResourceImportDataget_import_data () const
 
void set_import_data (ResourceImportData *data)
 
virtual Core128BitHashKey get_hash_key () const
 Get the hash key of the resource.
 
virtual bool is_serializable () const
 Tell if the resource can be serialized or not.
 
virtual void * serialize (size_t &serial_size) const
 Serialize the resource data.
 
virtual bool deserialize (void *serial, const size_t &serial_size)
 Deserialize the resource data.
 
void advert_memory_changed () const
 Adverts that the memory usage of the resource has changed.
 
bool is_protected () const
 
- Public Member Functions inherited from EventObject
 EventObject ()
 Constructor.
 
 EventObject (const EventObject &src)
 Copy Constructor.
 
virtual ~EventObject () override
 Destructor.
 
void connect (EventObject &sender, const CoreString &event_id, EventInfoMethod event_cb, void *data=0)
 Connects this to an object to listen to a specific event.
 
void connect (EventObject &sender, EventInfoMethod event_cb, void *data=0)
 Connects this to an object to listen any of its events.
 
bool disconnect (EventObject &sender, const CoreString &event_id, EventInfoMethod event_cb, void *data=0)
 
bool disconnect_all (EventObject &sender)
 Disconnects from all objects sender was listening on.
 
void disconnect_all ()
 Disconnects from all objects we were listening on.
 
void remove_all_connection ()
 Disconnects object from other objects it is listening to, and also disconnects all objects listening to it.
 
void raise_event (const CoreString &event_id) const
 sends an event
 
void raise_event (const EventInfo &event_info) const
 sends an event
 
bool is_connected (EventObject &sender, const CoreString &event_id, void *data)
 
void set_mute (const bool &mute)
 Asks for object muting. This will increase or decrease the muting counter. Unmuting may not be immediat since it will happen only when counter reaches 0.
 
bool is_mute () const
 Returns if object is muted.
 
CoreArray< EventObject * > get_senders () const
 
unsigned int get_sender_count () const
 
unsigned int get_receiver_count () const
 
void connect (EventObject &sender, const CoreString &event_id, EventMethod event_cb, void *data=0)
 Connects this to an object to listen to a specific event.
 
void connect (EventObject &sender, EventMethod event_cb, void *data=0)
 Connects this to an object to listen any of its events.
 
bool disconnect (EventObject &sender, const CoreString &event_id, EventMethod event_cb, void *data=0)
 Disconnects this from an object for a specific event.
 
- Public Member Functions inherited from CoreCustomData
 CoreCustomData (const CoreCustomData &src)
 
void add_custom_data (void *key, const bool &data)
 
void add_custom_data (void *key, const int &data)
 
void add_custom_data (void *key, const unsigned int &data)
 
void add_custom_data (void *key, const char *data)
 
void add_custom_data (void *key, const CoreString &data)
 
void add_custom_data (void *key, const double &data)
 
void add_custom_data (void *key, void *data)
 
void remove_custom_data (void *key)
 
void remove_all_custom_data ()
 
void set_custom_data (void *key, const bool &data)
 
void set_custom_data (void *key, const int &data)
 
void set_custom_data (void *key, const unsigned int &data)
 
void set_custom_data (void *key, const double &data)
 
void set_custom_data (void *key, const char *data)
 
void set_custom_data (void *key, const CoreString &data)
 
void set_custom_data (void *key, void *data)
 
void get_custom_data (void *key, bool &data) const
 
void get_custom_data (void *key, int &data) const
 
void get_custom_data (void *key, unsigned int &data) const
 
void get_custom_data (void *key, double &data) const
 
void get_custom_data (void *key, CoreString &data) const
 
void get_custom_data (void *key, void *&data) const
 
- Public Member Functions inherited from CoreBaseObject
bool is_kindof (const CoreBaseObject &object) const
 
CoreString get_class_info_name () const
 
const unsigned long & get_class_info_id () const
 
virtual bool is_kindof (const CoreClassInfo &cinfo) const
 
virtual const CoreClassInfoget_class_info () const
 
template<class T >
T * cast ()
 
template<class T >
const T * cast () const
 
- Public Member Functions inherited from CoreBaseType
bool is_kindof (const CoreClassInfo &cinfo) const
 

Static Public Attributes

static const unsigned int s_cuts_material_mode = 0u
 
static const unsigned int s_sample_material_mode = 0u
 

Protected Attributes

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.
 

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.
 

Detailed Description

class PbrWeightedSasObject Abstract class for the light sampling acceleration structure, with the correct intensity weights for all the nodes