|
Blender
V2.93
|
#include "kernel/kernel_random.h"#include "kernel/kernel_projection.h"#include "kernel/kernel_montecarlo.h"#include "kernel/kernel_differential.h"#include "kernel/kernel_camera.h"#include "kernel/geom/geom.h"#include "kernel/bvh/bvh.h"#include "kernel/kernel_write_passes.h"#include "kernel/kernel_accumulate.h"#include "kernel/kernel_shader.h"#include "kernel/kernel_light.h"#include "kernel/kernel_adaptive_sampling.h"#include "kernel/kernel_passes.h"#include "kernel/kernel_path_state.h"#include "kernel/kernel_shadow.h"#include "kernel/kernel_emission.h"#include "kernel/kernel_path_common.h"#include "kernel/kernel_path_surface.h"#include "kernel/kernel_path_volume.h"#include "kernel/kernel_path_subsurface.h"Go to the source code of this file.
| ccl_device_noinline void kernel_path_ao | ( | KernelGlobals * | kg, |
| ShaderData * | sd, | ||
| ShaderData * | emission_sd, | ||
| PathRadiance * | L, | ||
| ccl_addr_space PathState * | state, | ||
| float3 | throughput, | ||
| float3 | ao_alpha | ||
| ) |
Definition at line 329 of file kernel_path.h.
References Ray::D, Ray::dD, differential3_zero(), dot(), Ray::dP, kernel_data, kg, L, Ray::P, path_radiance_accum_ao(), path_radiance_accum_total_ao(), path_state_rng_2D(), PRNG_BSDF_U, PROFILING_AO, PROFILING_INIT, ray_offset(), sample_cos_hemisphere(), shader_bsdf_ao(), shadow_blocked(), state, Ray::t, and Ray::time.
Referenced by kernel_path_integrate(), and kernel_shadow_blocked_ao().
| ccl_device_forceinline void kernel_path_background | ( | KernelGlobals * | kg, |
| ccl_addr_space PathState * | state, | ||
| ccl_addr_space Ray * | ray, | ||
| float3 | throughput, | ||
| ShaderData * | sd, | ||
| ccl_global float * | buffer, | ||
| PathRadiance * | L | ||
| ) |
Definition at line 115 of file kernel_path.h.
References average(), buffer, indirect_background(), kernel_data, kg, L, PASSMASK, path_radiance_accum_background(), PATH_RAY_TRANSPARENT_BACKGROUND, path_state_ao_bounce(), and state.
Referenced by kernel_indirect_background(), and kernel_path_integrate().
| ccl_device_forceinline void kernel_path_integrate | ( | KernelGlobals * | kg, |
| PathState * | state, | ||
| float3 | throughput, | ||
| Ray * | ray, | ||
| PathRadiance * | L, | ||
| ccl_global float * | buffer, | ||
| ShaderData * | emission_sd | ||
| ) |
Definition at line 509 of file kernel_path.h.
References buffer, kernel_data, kernel_path_ao(), kernel_path_background(), kernel_path_lamp_emission(), kernel_path_scene_intersect(), kernel_path_shader_apply(), kernel_path_surface_bounce(), kernel_path_surface_connect_light(), kg, L, SubsurfaceIndirectRays::num_rays, path_state_ao_bounce(), path_state_continuation_probability(), path_state_rng_1D(), PRNG_TERMINATE, PROFILING_INIT, PROFILING_PATH_INTEGRATE, result, SD_BSSRDF, SD_HAS_ONLY_VOLUME, shader_bsdf_alpha(), shader_eval_surface(), shader_prepare_closures(), shader_setup_from_ray(), ShaderData, state, VOLUME_PATH_MISSED, and VOLUME_PATH_SCATTERED.
Referenced by kernel_path_trace().
| ccl_device_forceinline void kernel_path_lamp_emission | ( | KernelGlobals * | kg, |
| ccl_addr_space PathState * | state, | ||
| Ray * | ray, | ||
| float3 | throughput, | ||
| ccl_addr_space Intersection * | isect, | ||
| ShaderData * | emission_sd, | ||
| PathRadiance * | L | ||
| ) |
Definition at line 86 of file kernel_path.h.
References ccl_optional_struct_init, Ray::D, Ray::dD, Ray::dP, indirect_lamp_emission(), kernel_data, kg, L, Ray::P, PATH_RAY_CAMERA, PROFILING_INDIRECT_EMISSION, PROFILING_INIT, state, and Ray::time.
Referenced by kernel_lamp_emission(), and kernel_path_integrate().
| CCL_NAMESPACE_BEGIN ccl_device_forceinline bool kernel_path_scene_intersect | ( | KernelGlobals * | kg, |
| ccl_addr_space PathState * | state, | ||
| Ray * | ray, | ||
| Intersection * | isect, | ||
| PathRadiance * | L | ||
| ) |
Definition at line 57 of file kernel_path.h.
References kernel_data, kg, L, PATH_RAY_CAMERA, PATH_RAY_SHADOW, path_state_ao_bounce(), path_state_ray_visibility(), PROFILING_INIT, PROFILING_SCENE_INTERSECT, scene_intersect(), state, and Ray::t.
Referenced by kernel_path_integrate(), and kernel_scene_intersect().
| ccl_device_forceinline bool kernel_path_shader_apply | ( | KernelGlobals * | kg, |
| ShaderData * | sd, | ||
| ccl_addr_space PathState * | state, | ||
| ccl_addr_space Ray * | ray, | ||
| float3 | throughput, | ||
| ShaderData * | emission_sd, | ||
| PathRadiance * | L, | ||
| ccl_global float * | buffer | ||
| ) |
Definition at line 254 of file kernel_path.h.
References average(), buffer, indirect_background(), indirect_primitive_emission(), isequal_float3(), kernel_data, kernel_write_data_passes(), kg, L, NULL, one_float3(), path_radiance_accum_emission(), PATH_RAY_SHADOW_CATCHER, PATH_RAY_STORE_SHADOW_INFO, PATH_RAY_TRANSPARENT_BACKGROUND, PROFILING_INIT, PROFILING_SHADER_APPLY, SD_EMISSION, SD_HOLDOUT, SD_OBJECT_HOLDOUT_MASK, SD_OBJECT_SHADOW_CATCHER, shader_bsdf_blur(), shader_bsdf_transparency(), shader_holdout_apply(), sqrtf, state, and zero_float3().
Referenced by kernel_holdout_emission_blurring_pathtermination_ao(), and kernel_path_integrate().
| ccl_device void kernel_path_trace | ( | KernelGlobals * | kg, |
| ccl_global float * | buffer, | ||
| int | sample, | ||
| int | x, | ||
| int | y, | ||
| int | offset, | ||
| int | stride | ||
| ) |
Definition at line 643 of file kernel_path.h.
References AS_SHADER_DATA, buffer, ccl_global, kernel_data, kernel_path_integrate(), kernel_path_trace_setup(), kernel_write_result(), kg, L, one_float3(), path_radiance_init(), path_state_init(), PROFILING_INIT, PROFILING_RAY_SETUP, blender::compositor::sample(), ShaderData, ShaderDataTinyStorage, state, stride, Ray::t, x, and y.
Referenced by path_trace().