|
Blender V5.0
|
#include "kernel/globals.h"#include "kernel/camera/projection.h"#include "kernel/light/area.h"#include "kernel/light/common.h"#include "util/math_intersect.h"Go to the source code of this file.
| ccl_device float background_light_pdf | ( | KernelGlobals | kg, |
| const float3 | P, | ||
| float3 | direction ) |
Definition at line 427 of file kernel/light/background.h.
References background_map_pdf(), background_portal_pdf(), background_sun_pdf(), ccl_device, kernel_data, M_4PI_F, and P.
Referenced by light_sample_mis_weight_forward_background().
| ccl_device_inline float3 background_light_sample | ( | KernelGlobals | kg, |
| const float3 | P, | ||
| float2 | rand, | ||
| ccl_private float * | pdf ) |
Definition at line 324 of file kernel/light/background.h.
References background_map_pdf(), background_map_sample(), background_num_possible_portals(), background_portal_pdf(), background_portal_sample(), background_sun_pdf(), background_sun_sample(), ccl_device_inline, ccl_private, D, kernel_data, M_4PI_F, P, sample_uniform_sphere(), and float2::x.
Referenced by light_sample().
| ccl_device_forceinline bool background_light_tree_parameters | ( | const float3 | centroid, |
| const float | t, | ||
| ccl_private float & | cos_theta_u, | ||
| ccl_private float2 & | distance, | ||
| ccl_private float3 & | point_to_centroid, | ||
| ccl_private float & | theta_d ) |
Definition at line 471 of file kernel/light/background.h.
References ccl_device_forceinline, ccl_private, distance(), FLT_MAX, and make_float2.
Referenced by light_tree_emitter_importance().
| ccl_device float background_map_pdf | ( | KernelGlobals | kg, |
| const float3 | direction ) |
Definition at line 109 of file kernel/light/background.h.
References ccl_device, clamp(), direction_to_equirectangular(), float_to_int(), kernel_data, kernel_data_fetch, M_2PI_F, M_PI_F, sin_theta(), sinf, float2::x, and float2::y.
Referenced by background_light_pdf(), and background_light_sample().
| CCL_NAMESPACE_BEGIN ccl_device float3 background_map_sample | ( | KernelGlobals | kg, |
| const float2 | rand, | ||
| ccl_private float * | pdf ) |
Definition at line 20 of file kernel/light/background.h.
References ccl_device, ccl_private, count, equirectangular_to_direction(), inverse_lerp(), kernel_assert, kernel_data, kernel_data_fetch, M_2PI_F, M_PI_F, max, sin_theta(), sinf, step, v, float2::x, float2::y, and y.
Referenced by background_light_sample().
| ccl_device int background_num_possible_portals | ( | KernelGlobals | kg, |
| const float3 | P ) |
Definition at line 238 of file kernel/light/background.h.
References background_portal_data_fetch_and_check_side(), ccl_device, kernel_data, and P.
Referenced by background_light_sample().
| ccl_device_inline bool background_portal_data_fetch_and_check_side | ( | KernelGlobals | kg, |
| const float3 | P, | ||
| const int | index, | ||
| ccl_private float3 * | lightpos, | ||
| ccl_private float3 * | dir ) |
Definition at line 144 of file kernel/light/background.h.
References ccl_device_inline, ccl_global, ccl_private, dot(), kernel_data, kernel_data_fetch, and P.
Referenced by background_num_possible_portals(), background_portal_pdf(), and background_portal_sample().
| ccl_device_inline float background_portal_pdf | ( | KernelGlobals | kg, |
| const float3 | P, | ||
| float3 | direction, | ||
| const int | ignore_portal, | ||
| ccl_private bool * | is_possible ) |
Definition at line 164 of file kernel/light/background.h.
References area_light_rect_sample(), background_portal_data_fetch_and_check_side(), ccl_device_inline, ccl_global, ccl_private, D, fabsf, FLT_MAX, kernel_data, kernel_data_fetch, light_pdf_area_to_solid_angle(), normalize_len(), P, ray_quad_intersect(), and zero_float2().
Referenced by background_light_pdf(), and background_light_sample().
| ccl_device float3 background_portal_sample | ( | KernelGlobals | kg, |
| const float3 | P, | ||
| float2 | rand, | ||
| const int | num_possible, | ||
| ccl_private int * | sampled_portal, | ||
| ccl_private float * | pdf ) |
Definition at line 251 of file kernel/light/background.h.
References area_light_rect_sample(), background_portal_data_fetch_and_check_side(), ccl_device, ccl_global, ccl_private, D, ellipse_sample(), fabsf, kernel_data, kernel_data_fetch, light_pdf_area_to_solid_angle(), normalize, normalize_len(), P, float2::y, and zero_float3().
Referenced by background_light_sample().
| ccl_device_inline float background_sun_pdf | ( | KernelGlobals | kg, |
| const float3 | D ) |
Definition at line 317 of file kernel/light/background.h.
References angle(), ccl_device_inline, D, kernel_data, make_float3(), N, and pdf_uniform_cone().
Referenced by background_light_pdf(), and background_light_sample().
| ccl_device_inline float3 background_sun_sample | ( | KernelGlobals | kg, |
| const float2 | rand, | ||
| ccl_private float * | pdf ) |
Definition at line 307 of file kernel/light/background.h.
References angle(), ccl_device_inline, ccl_private, kernel_data, make_float3(), N, one_minus_cos(), and sample_uniform_cone().
Referenced by background_light_sample().