|
Blender V4.3
|
#include "kernel/light/area.h"#include "kernel/light/background.h"#include "kernel/light/distant.h"#include "kernel/light/point.h"#include "kernel/light/spot.h"#include "kernel/light/triangle.h"#include "kernel/sample/lcg.h"#include "kernel/sample/mapping.h"Go to the source code of this file.
| ccl_device_inline bool light_link_light_match | ( | KernelGlobals | kg, |
| const int | object_receiver, | ||
| const int | light_emitter ) |
Definition at line 54 of file kernel/light/light.h.
References kernel_data, kernel_data_fetch, KERNEL_FEATURE_LIGHT_LINKING, and OBJECT_NONE.
Referenced by integrate_distant_lights(), light_sample(), and lights_intersect_impl().
| ccl_device_inline bool light_link_object_match | ( | KernelGlobals | kg, |
| const int | object_receiver, | ||
| const int | object_emitter ) |
Definition at line 73 of file kernel/light/light.h.
References kernel_data, kernel_data_fetch, KERNEL_FEATURE_LIGHT_LINKING, and OBJECT_NONE.
Referenced by integrate_surface_emission(), and light_sample().
| ccl_device_inline int light_link_receiver_forward | ( | KernelGlobals | kg, |
| IntegratorState | state ) |
Definition at line 41 of file kernel/light/light.h.
References INTEGRATOR_STATE, kernel_data, KERNEL_FEATURE_LIGHT_LINKING, OBJECT_NONE, and state.
Referenced by integrate_distant_lights(), integrate_surface_emission(), light_sample_mis_weight_forward_background(), light_sample_mis_weight_forward_lamp(), light_sample_mis_weight_forward_surface(), and lights_intersect().
| ccl_device_inline int light_link_receiver_nee | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd ) |
Definition at line 28 of file kernel/light/light.h.
References kernel_data, KERNEL_FEATURE_LIGHT_LINKING, and OBJECT_NONE.
Referenced by integrate_surface_direct_light().
| ccl_device_noinline bool light_sample | ( | KernelGlobals | kg, |
| const float3 | rand_light, | ||
| const float | time, | ||
| const float3 | P, | ||
| const float3 | N, | ||
| const int | object_receiver, | ||
| const int | shader_flags, | ||
| const int | bounce, | ||
| const uint32_t | path_flag, | ||
| ccl_private LightSample * | ls ) |
Definition at line 179 of file kernel/light/light.h.
References ccl_global, float3_to_float2(), kernel_data, kernel_data_fetch, light_link_light_match(), light_link_object_match(), light_sample(), light_select_reached_max_bounces(), N, P, PATH_RAY_SHADOW_CATCHER_PASS, SD_OBJECT_SHADOW_CATCHER, triangle_light_sample(), and UNLIKELY.
| ccl_device_inline bool light_sample | ( | KernelGlobals | kg, |
| const int | lamp, | ||
| const float2 | rand, | ||
| const float3 | P, | ||
| const float3 | N, | ||
| const int | shader_flags, | ||
| const uint32_t | path_flag, | ||
| ccl_private LightSample * | ls ) |
Definition at line 102 of file kernel/light/light.h.
References area_light_sample(), background_light_sample(), ccl_global, D, distant_light_sample(), FLT_MAX, kernel_data_fetch, lamp, lamp_lightgroup(), LIGHT_BACKGROUND, LIGHT_DISTANT, LIGHT_POINT, LIGHT_SPOT, N, P, PATH_RAY_SHADOW_CATCHER_PASS, point_light_sample(), PRIM_NONE, SHADER_EXCLUDE_SHADOW_CATCHER, spot_light_sample(), float2::x, float2::y, and zero_float3().
Referenced by light_sample(), light_sample_from_position(), and light_sample_from_volume_segment().
| ccl_device bool light_sample_from_intersection | ( | KernelGlobals | kg, |
| ccl_private const Intersection *ccl_restrict | isect, | ||
| const float3 | ray_P, | ||
| const float3 | ray_D, | ||
| const float3 | N, | ||
| const uint32_t | path_flag, | ||
| ccl_private LightSample *ccl_restrict | ls ) |
Definition at line 454 of file kernel/light/light.h.
References area_light_sample_from_intersection(), ccl_global, kernel_assert, kernel_data_fetch, lamp, lamp_lightgroup(), LIGHT_AREA, LIGHT_POINT, LIGHT_SPOT, N, point_light_sample_from_intersection(), and spot_light_sample_from_intersection().
Referenced by integrate_light().
| CCL_NAMESPACE_BEGIN ccl_device_inline bool light_select_reached_max_bounces | ( | KernelGlobals | kg, |
| int | index, | ||
| int | bounce ) |
Definition at line 21 of file kernel/light/light.h.
References kernel_data_fetch.
Referenced by light_sample().
| ccl_device bool lights_intersect | ( | KernelGlobals | kg, |
| IntegratorState | state, | ||
| ccl_private const Ray *ccl_restrict | ray, | ||
| ccl_private Intersection *ccl_restrict | isect, | ||
| const int | last_prim, | ||
| const int | last_object, | ||
| const int | last_type, | ||
| const uint32_t | path_flag ) |
Definition at line 396 of file kernel/light/light.h.
References INTEGRATOR_STATE, light_link_receiver_forward(), lights_intersect_impl(), PRIM_NONE, and state.
Referenced by integrator_intersect_closest().
| ccl_device_forceinline int lights_intersect_impl | ( | KernelGlobals | kg, |
| ccl_private const Ray *ccl_restrict | ray, | ||
| ccl_private Intersection *ccl_restrict | isect, | ||
| const int | last_prim, | ||
| const int | last_object, | ||
| const int | last_type, | ||
| const uint32_t | path_flag, | ||
| const uint8_t | path_mnee, | ||
| const int | receiver_forward, | ||
| ccl_private uint * | lcg_state, | ||
| int | num_hits ) |
Definition at line 259 of file kernel/light/light.h.
References area_light_intersect(), ccl_global, distant_light_intersect(), FLT_MAX, kernel_assert, kernel_data, kernel_data_fetch, KERNEL_FEATURE_SHADOW_LINKING, lamp, lcg_step_float(), LIGHT_AREA, LIGHT_DISTANT, light_link_light_match(), LIGHT_LINK_MASK_ALL, LIGHT_POINT, LIGHT_SPOT, OBJECT_NONE, PATH_MNEE_CULL_LIGHT_CONNECTION, PATH_RAY_CAMERA, PATH_RAY_SHADOW_CATCHER_PASS, point_light_intersect(), PRIM_NONE, PRIMITIVE_LAMP, SHADER_EXCLUDE_CAMERA, SHADER_EXCLUDE_SHADOW_CATCHER, SHADER_USE_MIS, spot_light_intersect(), and v.
Referenced by lights_intersect(), and lights_intersect_shadow_linked().
| ccl_device int lights_intersect_shadow_linked | ( | KernelGlobals | kg, |
| ccl_private const Ray *ccl_restrict | ray, | ||
| ccl_private Intersection *ccl_restrict | isect, | ||
| const int | last_prim, | ||
| const int | last_object, | ||
| const int | last_type, | ||
| const uint32_t | path_flag, | ||
| const int | receiver_forward, | ||
| ccl_private uint * | lcg_state, | ||
| const int | num_hits ) |
Definition at line 428 of file kernel/light/light.h.
References lights_intersect_impl(), and PATH_MNEE_NONE.