Clarisse 4.0 SP10 SDK  4.0.0.0.10
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
CtxShader Class Reference

Classes

struct  Aovs
 
struct  SubPixelFilters
 

Public Member Functions

 CtxShader (unsigned int aov_count, unsigned int max_light_count)
 
 CtxShader (const CtxShader &ctx)
 
void init ()
 
ModuleGroupget_group (const GMathRay::Type &type) const
 
const CtxGasget_default_gas_ctx (const GMathRay::Type &type) const
 
const GasObjectget_default_gas (const GMathRay::Type &type) const
 
void set_default_gas_ctx (const GMathRay::Type &type, const CtxGas &gas_ctx)
 
void set_default_gas_ctx (const GMathRay::Type &type, const GasObject *gas, const SceneObjectShading *shading)
 
const CtxGasget_gas_ctx (const GMathRay::Type &type) const
 
const GasObjectget_gas (const GMathRay::Type &type) const
 
void set_gas_ctx (const GMathRay::Type &type, const CtxGas &gas_ctx)
 
void set_gas_ctx (const GMathRay::Type &type, const GasObject *gas, const SceneObjectShading *shading)
 
CtxIlluminationget_illumination_ctx () const
 
CtxVolumeget_volume_ctx () const
 
CtxDeferredShadingget_deferred_shading_ctx () const
 
CtxTransmittanceget_transmittance_ctx () const
 
MaterialOutputget_material_output () const
 
CoreArray< float > & get_aov_list () const
 
CoreVector< GMathVec2d > & get_uv_samples () const
 
CoreVector< GMathVec3f > & get_color_samples () const
 
CoreVector< GMathVec3f > & get_opacity_samples () const
 
CoreVector< LightSample > & get_light_samples () const
 
const unsigned int & get_recursion_depth () const
 
void clamp_color (GMathVec3f &color) const
 
void clamp_color (GMathVec4f &color) const
 
GMathVec3f clamp_color (const GMathVec3f &color) const
 
GMathVec4f clamp_color (const GMathVec4f &color) const
 
GRandomMtget_rng () const
 
double rand () const
 
void init_working_data (const size_t &size)
 
template<class T >
CoreBasicArray< T > get_working_array (const unsigned int &count)
 
GeometryIntersectionnew_intersection ()
 
void free_intersection (GeometryIntersection *intersection)
 
GMathMatrix4x4d * new_matrix ()
 
void free_matrix (GMathMatrix4x4d *m)
 
GeometryCustomDatanew_custom_data (size_t size)
 
void free_custom_data (GeometryCustomData *data)
 
template<class T >
GeometryCustomDatanew_custom_data ()
 
template<class T >
GeometryCustomDatanew_custom_data (const T &value)
 
CtxRaytracenew_raytrace_ctx ()
 
void free_raytrace_ctx (CtxRaytrace *ctx)
 
CtxFrustumnew_frustum_ctx ()
 
void free_frustum_ctx (CtxFrustum *ctx)
 
CtxRayFrustumnew_ray_frustum_ctx ()
 
void free_ray_frustum_ctx (CtxRayFrustum *ctx)
 
void push (const bool &new_recursion)
 Push the status of the shading context. This must be called before shading a fragment.
 
void pop ()
 Pop the shading context and returns to the previous status.
 
unsigned int prepare_for_sampling (const unsigned int &count)
 Configure the sampling of the current fragment.
 
void prepare_for_sampling (HierarchicalSampler2d &sampler, const unsigned int &count)
 Configure the sampling of the current fragment.
 
CtxRaytracenew_raytrace_ctx (const unsigned int &ray_count)
 
CtxRaytracenew_raytrace_ctx (const GMathRay &ray, const double &tnear=gmath_epsilon, const double &tfar=gmath_infinity)
 
CtxFrustumnew_frustum_ctx (const GMathRay::Type &ray_type=GMathRay::TYPE_CAMERA, const GeometryFrustumData::GatherMode &mode=GeometryFrustumData::GATHER_PARTIAL_OBJECTS)
 
CtxRayFrustumnew_ray_frustum_ctx (const unsigned int &ray_count, const unsigned int &display_pixels)
 
CtxShaderoperator= (const CtxShader &other)
 
CtxShaderStats get_stats () const
 

Public Attributes

const OfObjectFactoryfactory
 
ModuleGroupgroups [GMathRay::TYPE_COUNT]
 
CtxGas gass [GMathRay::TYPE_COUNT]
 
ModuleLayer3dlayer
 
MatteOverridematte_override
 
ModuleMaterialoverride_material
 
ModuleShadingLayershading_layer
 
ImageCanvasimage
 
CtxFragmentfragment
 
CtxScratchpadscratchpad
 
double quality
 
int image_quality
 
double resolution_multiplier
 
int material_channel_id
 
unsigned int max_reflection_depth
 
unsigned int max_refraction_depth
 
unsigned int max_shadow_depth
 
unsigned int max_gi_depth
 
int current_frame
 
double current_time
 
bool is_previz
 
bool is_deep_raw_samples
 
CtxMotionBlur motion_blur
 
ModuleGrouplight_group
 
ModuleLight ** lights
 
unsigned int light_count
 
const GasObjectlas
 
struct {
unsigned int id
 
unsigned int count
 
thread
 
struct {
ModuleCameraobject
 
unsigned int width
 
unsigned int height
 
int x
 
int y
 
unsigned int bucket_count
 
unsigned int bucket_index
 
CtxBucket image_bucket
 
CtxBucket render_bucket
 
CtxPixel pixel
 
double near_clip
 
double far_clip
 
const GMathVec4i * region
 
camera
 
ModuleIntegratorintegrator
 
CtxIntegratorintegrator_ctx
 
struct {
unsigned int max_path_length
 
unsigned int max_depth
 
double threshold
 
alpha
 
struct {
double quality
 
double sub_quality
 
double light_quality_depth_multiplier
 
sampling
 
struct CtxShader::Aovs aovs
 
struct {
bool is_enabled
 
float max_value
 
clamping
 
struct CtxShader::SubPixelFilters sub_pixel_filters
 
CtxInternal internal
 

Static Public Attributes

static const double min_value = 0.001
 

Friends

class CtxRecursionData
 

Member Function Documentation

unsigned int CtxShader::prepare_for_sampling ( const unsigned int &  count)

Configure the sampling of the current fragment.

Parameters
countthe required number of samples for the current pixel
Returns
the number of samples to use for the current fragment
Note
This function also set the following parameters in the fragment: sample_seed, sample_count, sample_index, sample_quality
void CtxShader::prepare_for_sampling ( HierarchicalSampler2d sampler,
const unsigned int &  count 
)

Configure the sampling of the current fragment.

Parameters
samplersampler to setup
countthe required number of samples for the current pixel
Note
This function also set the following parameters in the fragment: sample_seed, sample_count, sample_index, sample_quality
void CtxShader::push ( const bool &  new_recursion)

Push the status of the shading context. This must be called before shading a fragment.

Parameters
new_recursionwhen true, the recursion depth is increased