Blender
V3.3
|
Go to the source code of this file.
Macros | |
#define | VOLUME_READ_LAMBDA(function_call) auto volume_read_lambda_pass = [=](const int i) { return function_call; }; |
#define | VOLUME_WRITE_LAMBDA(function_call) auto volume_write_lambda_pass = [=](const int i, VolumeStack entry) { function_call; }; |
Typedefs | |
typedef enum VolumeSampleMethod | VolumeSampleMethod |
Enumerations | |
enum | VolumeSampleMethod { VOLUME_SAMPLE_NONE = 0 , VOLUME_SAMPLE_DISTANCE = (1 << 0) , VOLUME_SAMPLE_EQUIANGULAR = (1 << 1) , VOLUME_SAMPLE_MIS = (VOLUME_SAMPLE_DISTANCE | VOLUME_SAMPLE_EQUIANGULAR) } |
Functions | |
template<typename StackReadOp , typename StackWriteOp > | |
ccl_device void | volume_stack_enter_exit (KernelGlobals kg, ccl_private const ShaderData *sd, StackReadOp stack_read, StackWriteOp stack_write) |
ccl_device void | volume_stack_enter_exit (KernelGlobals kg, IntegratorState state, ccl_private const ShaderData *sd) |
ccl_device void | shadow_volume_stack_enter_exit (KernelGlobals kg, IntegratorShadowState state, ccl_private const ShaderData *sd) |
ccl_device_inline void | volume_stack_clean (KernelGlobals kg, IntegratorState state) |
template<typename StackReadOp > | |
ccl_device float | volume_stack_step_size (KernelGlobals kg, StackReadOp stack_read) |
ccl_device VolumeSampleMethod | volume_stack_sample_method (KernelGlobals kg, IntegratorState state) |
#define VOLUME_READ_LAMBDA | ( | function_call | ) | auto volume_read_lambda_pass = [=](const int i) { return function_call; }; |
Definition at line 10 of file volume_stack.h.
#define VOLUME_WRITE_LAMBDA | ( | function_call | ) | auto volume_write_lambda_pass = [=](const int i, VolumeStack entry) { function_call; }; |
Definition at line 12 of file volume_stack.h.
typedef enum VolumeSampleMethod VolumeSampleMethod |
enum VolumeSampleMethod |
Enumerator | |
---|---|
VOLUME_SAMPLE_NONE | |
VOLUME_SAMPLE_DISTANCE | |
VOLUME_SAMPLE_EQUIANGULAR | |
VOLUME_SAMPLE_MIS |
Definition at line 166 of file volume_stack.h.
ccl_device void shadow_volume_stack_enter_exit | ( | KernelGlobals | kg, |
IntegratorShadowState | state, | ||
ccl_private const ShaderData * | sd | ||
) |
Definition at line 91 of file volume_stack.h.
References integrator_state_read_shadow_volume_stack(), integrator_state_write_shadow_volume_stack(), state, VOLUME_READ_LAMBDA, volume_stack_enter_exit(), and VOLUME_WRITE_LAMBDA.
ccl_device_inline void volume_stack_clean | ( | KernelGlobals | kg, |
IntegratorState | state | ||
) |
Definition at line 114 of file volume_stack.h.
References INTEGRATOR_STATE_ARRAY_WRITE, kernel_data, SHADER_NONE, and state.
Referenced by integrator_shade_volume().
ccl_device void volume_stack_enter_exit | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
StackReadOp | stack_read, | ||
StackWriteOp | stack_write | ||
) |
Definition at line 22 of file volume_stack.h.
References kernel_data, VolumeStack::object, OBJECT_NONE, SD_BACKFACING, SD_HAS_VOLUME, VolumeStack::shader, and SHADER_NONE.
Referenced by integrate_surface(), integrator_volume_stack_update_for_subsurface(), shadow_volume_stack_enter_exit(), and volume_stack_enter_exit().
ccl_device void volume_stack_enter_exit | ( | KernelGlobals | kg, |
IntegratorState | state, | ||
ccl_private const ShaderData * | sd | ||
) |
Definition at line 82 of file volume_stack.h.
References integrator_state_read_volume_stack(), integrator_state_write_volume_stack(), state, VOLUME_READ_LAMBDA, volume_stack_enter_exit(), and VOLUME_WRITE_LAMBDA.
ccl_device VolumeSampleMethod volume_stack_sample_method | ( | KernelGlobals | kg, |
IntegratorState | state | ||
) |
Definition at line 173 of file volume_stack.h.
References integrator_state_read_volume_stack(), kernel_data_fetch, SD_VOLUME_EQUIANGULAR, SD_VOLUME_MIS, VolumeStack::shader, SHADER_MASK, SHADER_NONE, blender::draw::image_engine::shaders, state, VOLUME_SAMPLE_DISTANCE, VOLUME_SAMPLE_EQUIANGULAR, VOLUME_SAMPLE_MIS, and VOLUME_SAMPLE_NONE.
ccl_device float volume_stack_step_size | ( | KernelGlobals | kg, |
StackReadOp | stack_read | ||
) |
Definition at line 126 of file volume_stack.h.
References fminf, kernel_data, kernel_data_fetch, VolumeStack::object, OBJECT_NONE, object_volume_step_size(), SD_HETEROGENEOUS_VOLUME, SD_NEED_VOLUME_ATTRIBUTES, SD_OBJECT_HAS_VOLUME_ATTRIBUTES, VolumeStack::shader, SHADER_MASK, SHADER_NONE, and blender::draw::image_engine::shaders.