|
Blender
V2.93
|
Go to the source code of this file.
Functions | |
| CCL_NAMESPACE_BEGIN ccl_device_noinline_cpu float3 | direct_emissive_eval (KernelGlobals *kg, ShaderData *emission_sd, LightSample *ls, ccl_addr_space PathState *state, float3 I, differential3 dI, float t, float time) |
| ccl_device_noinline_cpu bool | direct_emission (KernelGlobals *kg, ShaderData *sd, ShaderData *emission_sd, LightSample *ls, ccl_addr_space PathState *state, Ray *ray, BsdfEval *eval, bool *is_lamp, float rand_terminate) |
| ccl_device_noinline_cpu float3 | indirect_primitive_emission (KernelGlobals *kg, ShaderData *sd, float t, int path_flag, float bsdf_pdf) |
| ccl_device_noinline_cpu void | indirect_lamp_emission (KernelGlobals *kg, ShaderData *emission_sd, ccl_addr_space PathState *state, PathRadiance *L, Ray *ray, float3 throughput) |
| ccl_device_noinline_cpu float3 | indirect_background (KernelGlobals *kg, ShaderData *emission_sd, ccl_addr_space PathState *state, ccl_global float *buffer, ccl_addr_space Ray *ray) |
| ccl_device_noinline_cpu bool direct_emission | ( | KernelGlobals * | kg, |
| ShaderData * | sd, | ||
| ShaderData * | emission_sd, | ||
| LightSample * | ls, | ||
| ccl_addr_space PathState * | state, | ||
| Ray * | ray, | ||
| BsdfEval * | eval, | ||
| bool * | is_lamp, | ||
| float | rand_terminate | ||
| ) |
Definition at line 101 of file kernel_emission.h.
References __SHADOW_TRICKS__, bsdf_eval_is_zero(), bsdf_eval_mul(), bsdf_eval_mul3(), bsdf_eval_sum(), LightSample::D, Ray::D, Ray::dD, differential3_zero(), BsdfEval::diffuse, direct_emissive_eval(), dot(), Ray::dP, fabs(), BsdfEval::glossy, is_zero(), kernel_data, kg, LIGHT_BACKGROUND, max3(), LightSample::Ng, normalize_len(), LightSample::P, Ray::P, PATH_RAY_SHADOW_CATCHER, LightSample::pdf, power_heuristic(), LightSample::prim, PRIM_NONE, ray_offset(), LightSample::shader, shader_bsdf_eval(), SHADER_CAST_SHADOW, SHADER_EXCLUDE_ANY, SHADER_EXCLUDE_DIFFUSE, SHADER_EXCLUDE_GLOSSY, SHADER_EXCLUDE_SCATTER, SHADER_EXCLUDE_TRANSMIT, SHADER_USE_MIS, state, LightSample::t, Ray::t, BsdfEval::transmission, LightSample::type, BsdfEval::volume, and zero_float3().
Referenced by kernel_direct_lighting(), and kernel_path_surface_connect_light().
| CCL_NAMESPACE_BEGIN ccl_device_noinline_cpu float3 direct_emissive_eval | ( | KernelGlobals * | kg, |
| ShaderData * | emission_sd, | ||
| LightSample * | ls, | ||
| ccl_addr_space PathState * | state, | ||
| float3 | I, | ||
| differential3 | dI, | ||
| float | t, | ||
| float | time | ||
| ) |
Definition at line 20 of file kernel_emission.h.
References ccl_global, LightSample::D, Ray::D, Ray::dD, differential3_zero(), Ray::dP, LightSample::eval_fac, I, kernel_tex_fetch, kg, LightSample::lamp, LAMP_NONE, LIGHT_BACKGROUND, make_float3, LightSample::Ng, NULL, LightSample::object, LightSample::P, Ray::P, PATH_RAY_EMISSION, path_state_modify_bounce(), LightSample::prim, PRIM_NONE, LightSample::shader, shader_background_eval(), shader_constant_emission_eval(), shader_emissive_eval(), shader_eval_surface(), shader_setup_from_background(), shader_setup_from_sample(), state, Ray::t, t, Ray::time, time, LightSample::type, LightSample::u, LightSample::v, and zero_float3().
Referenced by direct_emission(), and indirect_lamp_emission().
| ccl_device_noinline_cpu float3 indirect_background | ( | KernelGlobals * | kg, |
| ShaderData * | emission_sd, | ||
| ccl_addr_space PathState * | state, | ||
| ccl_global float * | buffer, | ||
| ccl_addr_space Ray * | ray | ||
| ) |
Definition at line 288 of file kernel_emission.h.
References buffer, kernel_data, kg, L, make_float3, PATH_RAY_CAMERA, PATH_RAY_DIFFUSE, PATH_RAY_EMISSION, PATH_RAY_GLOSSY, PATH_RAY_MIS_SKIP, PATH_RAY_REFLECT, PATH_RAY_TRANSMIT, PATH_RAY_VOLUME_SCATTER, path_state_modify_bounce(), power_heuristic(), shader(), shader_background_eval(), shader_constant_emission_eval(), shader_eval_surface(), SHADER_EXCLUDE_ANY, SHADER_EXCLUDE_CAMERA, SHADER_EXCLUDE_DIFFUSE, SHADER_EXCLUDE_GLOSSY, SHADER_EXCLUDE_SCATTER, SHADER_EXCLUDE_TRANSMIT, shader_setup_from_background(), state, and zero_float3().
Referenced by CPUDevice::CPUDevice(), kernel_path_background(), kernel_path_shader_apply(), DeviceSplitKernel::load_kernels(), and DeviceSplitKernel::path_trace().
| ccl_device_noinline_cpu void indirect_lamp_emission | ( | KernelGlobals * | kg, |
| ShaderData * | emission_sd, | ||
| ccl_addr_space PathState * | state, | ||
| PathRadiance * | L, | ||
| Ray * | ray, | ||
| float3 | throughput | ||
| ) |
Definition at line 235 of file kernel_emission.h.
References ccl_optional_struct_init, Ray::D, Ray::dD, direct_emissive_eval(), kernel_data, kg, L, lamp, lamp_light_eval(), one_float3(), Ray::P, path_radiance_accum_emission(), PATH_RAY_DIFFUSE, PATH_RAY_GLOSSY, PATH_RAY_MIS_SKIP, PATH_RAY_REFLECT, PATH_RAY_TRANSMIT, PATH_RAY_VOLUME_SCATTER, power_heuristic(), SHADER_EXCLUDE_ANY, SHADER_EXCLUDE_DIFFUSE, SHADER_EXCLUDE_GLOSSY, SHADER_EXCLUDE_SCATTER, SHADER_EXCLUDE_TRANSMIT, SHADER_NONE, state, Ray::t, and Ray::time.
Referenced by kernel_path_lamp_emission().
| ccl_device_noinline_cpu float3 indirect_primitive_emission | ( | KernelGlobals * | kg, |
| ShaderData * | sd, | ||
| float | t, | ||
| int | path_flag, | ||
| float | bsdf_pdf | ||
| ) |
Definition at line 209 of file kernel_emission.h.
References kg, L, PATH_RAY_MIS_SKIP, power_heuristic(), PRIMITIVE_ALL_TRIANGLE, SD_USE_MIS, shader_emissive_eval(), t, and triangle_light_pdf().
Referenced by kernel_path_shader_apply().