Blender V4.3
state.h File Reference

Go to the source code of this file.

Classes

struct  IntegratorShadowStateCPU
 
struct  IntegratorStateCPU
 
struct  IntegratorQueueCounter
 
struct  IntegratorStateGPU
 

Macros

#define KERNEL_STRUCT_BEGIN(name)   struct {
 
#define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature)   struct {
 
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)   type name;
 
#define KERNEL_STRUCT_MEMBER_PACKED   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_END(name)
 
#define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size)
 
#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE
 
#define KERNEL_STRUCT_BEGIN(name)   struct {
 
#define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature)   struct {
 
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)   type name;
 
#define KERNEL_STRUCT_MEMBER_PACKED   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_END(name)
 
#define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size)
 
#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE
 
#define KERNEL_STRUCT_BEGIN(name)   struct {
 
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)   ccl_global type *name;
 
#define KERNEL_STRUCT_MEMBER_PACKED   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature)   KERNEL_STRUCT_BEGIN(parent_struct)
 
#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER
 
#define KERNEL_STRUCT_END(name)
 
#define KERNEL_STRUCT_END_ARRAY(name, cpu_size, gpu_size)
 
#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE
 
#define INTEGRATOR_STATE_NULL   nullptr
 
#define INTEGRATOR_STATE(state, nested_struct, member)   ((state)->nested_struct.member)
 
#define INTEGRATOR_STATE_WRITE(state, nested_struct, member)   ((state)->nested_struct.member)
 
#define INTEGRATOR_STATE_ARRAY(state, nested_struct, array_index, member)    ((state)->nested_struct[array_index].member)
 
#define INTEGRATOR_STATE_ARRAY_WRITE(state, nested_struct, array_index, member)    ((state)->nested_struct[array_index].member)
 

Typedefs

typedef CCL_NAMESPACE_BEGIN struct IntegratorShadowStateCPU IntegratorShadowStateCPU
 
typedef struct IntegratorStateCPU IntegratorStateCPU
 
typedef struct IntegratorQueueCounter IntegratorQueueCounter
 
typedef struct IntegratorStateGPU IntegratorStateGPU
 
typedef IntegratorStateCPU *ccl_restrict IntegratorState
 
typedef const IntegratorStateCPU *ccl_restrict ConstIntegratorState
 
typedef IntegratorShadowStateCPU *ccl_restrict IntegratorShadowState
 
typedef const IntegratorShadowStateCPU *ccl_restrict ConstIntegratorShadowState
 

Macro Definition Documentation

◆ INTEGRATOR_STATE

#define INTEGRATOR_STATE ( state,
nested_struct,
member )   ((state)->nested_struct.member)

Definition at line 235 of file state.h.

Referenced by film_pass_pixel_render_buffer(), film_pass_pixel_render_buffer_shadow(), film_write_background(), film_write_data_passes(), film_write_data_passes_background(), film_write_direct_light(), film_write_emission_or_background_pass(), film_write_surface_emission(), film_write_volume_emission(), guiding_record_background(), guiding_record_direct_light(), guiding_record_light_surface_segment(), guiding_write_debug_passes(), integrate_background(), integrate_direct_light_shadow_init_common(), integrate_distant_lights(), integrate_intersect_shadow_visibility(), integrate_light(), integrate_shadow_max_transparent_hits(), integrate_surface(), integrate_surface_bsdf_bssrdf_bounce(), integrate_surface_direct_light(), integrate_surface_emission(), integrate_surface_holdout(), integrate_surface_terminate(), integrator_eval_background_shader(), integrator_intersect_closest(), integrator_intersect_skip_lights(), integrator_intersect_terminate(), integrator_intersect_volume_stack(), integrator_megakernel(), integrator_path_is_terminated(), integrator_shade_background(), integrator_shade_light(), integrator_shade_shadow(), integrator_shade_surface_next_kernel(), integrator_shadow_path_is_terminated(), integrator_state_bounce(), integrator_state_bounce(), integrator_state_diffuse_bounce(), integrator_state_diffuse_bounce(), integrator_state_glossy_bounce(), integrator_state_glossy_bounce(), integrator_state_read_isect(), integrator_state_read_ray(), integrator_state_read_shadow_ray(), integrator_state_read_shadow_ray_self(), integrator_state_transmission_bounce(), integrator_state_transmission_bounce(), integrator_state_transparent_bounce(), integrator_state_transparent_bounce(), integrator_volume_stack_update_for_subsurface(), kernel_shadow_catcher_is_path_split_bounce(), kernel_shadow_catcher_path_can_split(), light_link_receiver_forward(), light_sample_mis_weight_forward_background(), light_sample_mis_weight_forward_distant(), light_sample_mis_weight_forward_lamp(), light_sample_mis_weight_forward_surface(), lights_intersect(), path_state_ao_bounce(), path_state_continuation_probability(), path_state_next(), path_state_ray_visibility(), path_state_rng_load(), shadow_path_state_rng_load(), and surface_shader_prepare_closures().

◆ INTEGRATOR_STATE_ARRAY

#define INTEGRATOR_STATE_ARRAY ( state,
nested_struct,
array_index,
member )    ((state)->nested_struct[array_index].member)

◆ INTEGRATOR_STATE_ARRAY_WRITE

#define INTEGRATOR_STATE_ARRAY_WRITE ( state,
nested_struct,
array_index,
member )    ((state)->nested_struct[array_index].member)

◆ INTEGRATOR_STATE_NULL

#define INTEGRATOR_STATE_NULL   nullptr

◆ INTEGRATOR_STATE_WRITE

◆ KERNEL_STRUCT_ARRAY_MEMBER [1/3]

#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER

Definition at line 53 of file state.h.

◆ KERNEL_STRUCT_ARRAY_MEMBER [2/3]

#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER

Definition at line 53 of file state.h.

◆ KERNEL_STRUCT_ARRAY_MEMBER [3/3]

#define KERNEL_STRUCT_ARRAY_MEMBER   KERNEL_STRUCT_MEMBER

Definition at line 53 of file state.h.

◆ KERNEL_STRUCT_BEGIN [1/3]

#define KERNEL_STRUCT_BEGIN ( name)    struct {

Definition at line 49 of file state.h.

◆ KERNEL_STRUCT_BEGIN [2/3]

#define KERNEL_STRUCT_BEGIN ( name)    struct {

Definition at line 49 of file state.h.

◆ KERNEL_STRUCT_BEGIN [3/3]

#define KERNEL_STRUCT_BEGIN ( name)    struct {

Definition at line 49 of file state.h.

◆ KERNEL_STRUCT_BEGIN_PACKED [1/3]

#define KERNEL_STRUCT_BEGIN_PACKED ( parent_struct,
feature )   struct {

Definition at line 50 of file state.h.

◆ KERNEL_STRUCT_BEGIN_PACKED [2/3]

#define KERNEL_STRUCT_BEGIN_PACKED ( parent_struct,
feature )   struct {

Definition at line 50 of file state.h.

◆ KERNEL_STRUCT_BEGIN_PACKED [3/3]

#define KERNEL_STRUCT_BEGIN_PACKED ( parent_struct,
feature )   KERNEL_STRUCT_BEGIN(parent_struct)

Definition at line 50 of file state.h.

◆ KERNEL_STRUCT_END [1/3]

#define KERNEL_STRUCT_END ( name)
Value:
} \
name;

Definition at line 54 of file state.h.

◆ KERNEL_STRUCT_END [2/3]

#define KERNEL_STRUCT_END ( name)
Value:
} \
name;

Definition at line 54 of file state.h.

◆ KERNEL_STRUCT_END [3/3]

#define KERNEL_STRUCT_END ( name)
Value:
} \
name;

Definition at line 54 of file state.h.

◆ KERNEL_STRUCT_END_ARRAY [1/3]

#define KERNEL_STRUCT_END_ARRAY ( name,
cpu_size,
gpu_size )
Value:
} \
name[cpu_size];

Definition at line 57 of file state.h.

◆ KERNEL_STRUCT_END_ARRAY [2/3]

#define KERNEL_STRUCT_END_ARRAY ( name,
cpu_size,
gpu_size )
Value:
} \
name[cpu_size];

Definition at line 57 of file state.h.

◆ KERNEL_STRUCT_END_ARRAY [3/3]

#define KERNEL_STRUCT_END_ARRAY ( name,
cpu_size,
gpu_size )
Value:
} \
name[gpu_size];

Definition at line 57 of file state.h.

◆ KERNEL_STRUCT_MEMBER [1/3]

#define KERNEL_STRUCT_MEMBER ( parent_struct,
type,
name,
feature )   type name;

Definition at line 51 of file state.h.

◆ KERNEL_STRUCT_MEMBER [2/3]

#define KERNEL_STRUCT_MEMBER ( parent_struct,
type,
name,
feature )   type name;

Definition at line 51 of file state.h.

◆ KERNEL_STRUCT_MEMBER [3/3]

#define KERNEL_STRUCT_MEMBER ( parent_struct,
type,
name,
feature )   ccl_global type *name;

Definition at line 51 of file state.h.

◆ KERNEL_STRUCT_MEMBER_PACKED [1/3]

#define KERNEL_STRUCT_MEMBER_PACKED   KERNEL_STRUCT_MEMBER

Definition at line 52 of file state.h.

◆ KERNEL_STRUCT_MEMBER_PACKED [2/3]

#define KERNEL_STRUCT_MEMBER_PACKED   KERNEL_STRUCT_MEMBER

Definition at line 52 of file state.h.

◆ KERNEL_STRUCT_MEMBER_PACKED [3/3]

#define KERNEL_STRUCT_MEMBER_PACKED   KERNEL_STRUCT_MEMBER

Definition at line 52 of file state.h.

◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [1/3]

#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE

Definition at line 60 of file state.h.

◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [2/3]

#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE

Definition at line 60 of file state.h.

◆ KERNEL_STRUCT_VOLUME_STACK_SIZE [3/3]

#define KERNEL_STRUCT_VOLUME_STACK_SIZE   MAX_VOLUME_STACK_SIZE

Definition at line 60 of file state.h.

Typedef Documentation

◆ ConstIntegratorShadowState

Definition at line 231 of file state.h.

◆ ConstIntegratorState

Definition at line 229 of file state.h.

◆ IntegratorQueueCounter

typedef struct IntegratorQueueCounter IntegratorQueueCounter

◆ IntegratorShadowState

◆ IntegratorShadowStateCPU

typedef CCL_NAMESPACE_BEGIN struct IntegratorShadowStateCPU IntegratorShadowStateCPU

◆ IntegratorState

Definition at line 228 of file state.h.

◆ IntegratorStateCPU

typedef struct IntegratorStateCPU IntegratorStateCPU

◆ IntegratorStateGPU

typedef struct IntegratorStateGPU IntegratorStateGPU