|
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.