Blender V5.0
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)
#define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature)
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)
#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)
#define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature)
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)
#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)
#define KERNEL_STRUCT_MEMBER(parent_struct, type, name, feature)
#define KERNEL_STRUCT_MEMBER_PACKED   KERNEL_STRUCT_MEMBER
#define KERNEL_STRUCT_BEGIN_PACKED(parent_struct, feature)
#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)
#define INTEGRATOR_STATE_WRITE(state, nested_struct, member)
#define INTEGRATOR_STATE_ARRAY(state, nested_struct, array_index, member)
#define INTEGRATOR_STATE_ARRAY_WRITE(state, nested_struct, array_index, member)

Typedefs

using IntegratorState = IntegratorStateCPU *
using ConstIntegratorState = const IntegratorStateCPU *
using IntegratorShadowState = IntegratorShadowStateCPU *
using ConstIntegratorShadowState = const IntegratorShadowStateCPU *

Macro Definition Documentation

◆ INTEGRATOR_STATE

#define INTEGRATOR_STATE ( state,
nested_struct,
member )
Value:
((state)->nested_struct.member)
static ulong state[N]

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_bssrdf_bounce(), guiding_record_bssrdf_segment(), guiding_record_bssrdf_weight(), guiding_record_continuation_probability(), guiding_record_direct_light(), guiding_record_light_surface_segment(), guiding_record_surface_bounce(), guiding_record_surface_emission(), guiding_record_surface_segment(), guiding_record_volume_bounce(), guiding_record_volume_emission(), guiding_record_volume_segment(), guiding_record_volume_transmission(), 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_portal_bounce(), integrator_state_portal_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_path_mnee_sample(), 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(), mnee_path_contribution(), path_state_ao_bounce(), path_state_continuation_probability(), path_state_next(), path_state_ray_visibility(), path_state_rng_load(), shadow_path_state_rng_load(), surface_shader_bsdf_eval(), surface_shader_prepare_closures(), and write_optical_depth().

◆ INTEGRATOR_STATE_ARRAY

#define INTEGRATOR_STATE_ARRAY ( state,
nested_struct,
array_index,
member )

◆ INTEGRATOR_STATE_ARRAY_WRITE

#define INTEGRATOR_STATE_ARRAY_WRITE ( state,
nested_struct,
array_index,
member )

◆ INTEGRATOR_STATE_NULL

◆ 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)
Value:
struct {

Definition at line 49 of file state.h.

◆ KERNEL_STRUCT_BEGIN [2/3]

#define KERNEL_STRUCT_BEGIN ( name)
Value:
struct {

Definition at line 49 of file state.h.

◆ KERNEL_STRUCT_BEGIN [3/3]

#define KERNEL_STRUCT_BEGIN ( name)
Value:
struct {

Definition at line 49 of file state.h.

◆ KERNEL_STRUCT_BEGIN_PACKED [1/3]

#define KERNEL_STRUCT_BEGIN_PACKED ( parent_struct,
feature )
Value:
KERNEL_STRUCT_BEGIN(parent_struct)
#define KERNEL_STRUCT_BEGIN(name)

Definition at line 50 of file state.h.

◆ KERNEL_STRUCT_BEGIN_PACKED [2/3]

#define KERNEL_STRUCT_BEGIN_PACKED ( parent_struct,
feature )
Value:
struct {

Definition at line 50 of file state.h.

◆ KERNEL_STRUCT_BEGIN_PACKED [3/3]

#define KERNEL_STRUCT_BEGIN_PACKED ( parent_struct,
feature )
Value:
struct {

Definition at line 50 of file state.h.

◆ KERNEL_STRUCT_END [1/3]

#define KERNEL_STRUCT_END ( name)
Value:
} \
const char * name

Definition at line 54 of file state.h.

◆ KERNEL_STRUCT_END [2/3]

#define KERNEL_STRUCT_END ( name)
Value:
} \

Definition at line 54 of file state.h.

◆ KERNEL_STRUCT_END [3/3]

#define KERNEL_STRUCT_END ( name)
Value:
} \

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[gpu_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[cpu_size];

Definition at line 57 of file state.h.

◆ KERNEL_STRUCT_MEMBER [1/3]

#define KERNEL_STRUCT_MEMBER ( parent_struct,
type,
name,
feature )
Value:
#define ccl_global

Definition at line 51 of file state.h.

◆ KERNEL_STRUCT_MEMBER [2/3]

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

Definition at line 51 of file state.h.

◆ KERNEL_STRUCT_MEMBER [3/3]

#define KERNEL_STRUCT_MEMBER ( parent_struct,
type,
name,
feature )
Value:
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.

◆ IntegratorShadowState

Definition at line 230 of file state.h.

◆ IntegratorState

Definition at line 228 of file state.h.