|
Blender V4.5
|
Go to the source code of this file.
Classes | |
| struct | Interval< T > |
Macros | |
| #define | M_PI_F (3.1415926535897932f) /* `pi` */ |
| #define | M_PI_2_F (1.5707963267948966f) /* `pi/2` */ |
| #define | M_PI_4_F (0.7853981633974830f) /* `pi/4` */ |
| #define | M_1_PI_F (0.3183098861837067f) /* `1/pi` */ |
| #define | M_2_PI_F (0.6366197723675813f) /* `2/pi` */ |
| #define | M_1_2PI_F (0.1591549430918953f) /* `1/(2*pi)` */ |
| #define | M_1_4PI_F (0.0795774715459476f) /* `1/(4*pi)` */ |
| #define | M_SQRT_PI_8_F (0.6266570686577501f) /* `sqrt(pi/8)` */ |
| #define | M_LN_2PI_F (1.8378770664093454f) /* `ln(2*pi)` */ |
| #define | M_2PI_F (6.2831853071795864f) /* `2*pi` */ |
| #define | M_4PI_F (12.566370614359172f) /* `4*pi` */ |
| #define | M_PI_4F 0.78539816339744830962f /* `pi/4` */ |
| #define | M_SQRT2_F (1.4142135623730950f) /* `sqrt(2)` */ |
| #define | M_CBRT2_F 1.2599210498948732f /* `cbrt(2)` */ |
| #define | M_SQRT1_2F 0.70710678118654752440f /* `sqrt(1/2)` */ |
| #define | M_SQRT3_F (1.7320508075688772f) /* `sqrt(3)` */ |
| #define | M_LN2_F (0.6931471805599453f) /* `ln(2)` */ |
| #define | M_LN10_F (2.3025850929940457f) /* `ln(10)` */ |
| #define | __has_builtin(v) |
Functions | |
| ccl_device_inline int | abs (const int x) |
| ccl_device_inline int | max (const int a, const int b) |
| ccl_device_inline int | min (const int a, const int b) |
| ccl_device_inline uint32_t | max (const uint32_t a, const uint32_t b) |
| ccl_device_inline uint32_t | min (const uint32_t a, const uint32_t b) |
| ccl_device_inline uint64_t | max (const uint64_t a, const uint64_t b) |
| ccl_device_inline uint64_t | min (const uint64_t a, const uint64_t b) |
| template<class T> | |
| ccl_device_inline std::enable_if_t< std::is_same_v< T, size_t >, T > | max (T a, T b) |
| template<class T> | |
| ccl_device_inline std::enable_if_t< std::is_same_v< T, size_t >, T > | min (T a, T b) |
| ccl_device_inline float | max (const float a, const float b) |
| ccl_device_inline float | min (const float a, const float b) |
| ccl_device_inline double | max (const double a, const double b) |
| ccl_device_inline double | min (const double a, const double b) |
| template<typename T> | |
| ccl_device_inline T | min4 (const T &a, const T &b, const T &c, const T &d) |
| template<typename T> | |
| ccl_device_inline T | max4 (const T &a, const T &b, const T &c, const T &d) |
| ccl_device_inline float | min4 (const float a, const float b, float c, const float d) |
| ccl_device_inline float | max4 (const float a, const float b, float c, const float d) |
| template<typename T> | |
| ccl_device_inline T | make_zero () |
| ccl_device_template_spec float | make_zero () |
| ccl_device_inline int | as_int (const uint i) |
| ccl_device_inline uint | as_uint (const int i) |
| ccl_device_inline uint | as_uint (const float f) |
| ccl_device_inline int | __float_as_int (const float f) |
| ccl_device_inline float | __int_as_float (const int i) |
| ccl_device_inline uint | __float_as_uint (const float f) |
| ccl_device_inline float | __uint_as_float (const uint i) |
| template<typename T> | |
| ccl_device_inline uint | pointer_pack_to_uint_0 (T *ptr) |
| template<typename T> | |
| ccl_device_inline uint | pointer_pack_to_uint_1 (T *ptr) |
| template<typename T> | |
| ccl_device_inline T * | pointer_unpack_from_uint (const uint a, const uint b) |
| ccl_device_inline uint | uint16_pack_to_uint (const uint a, const uint b) |
| ccl_device_inline uint | uint16_unpack_from_uint_0 (const uint i) |
| ccl_device_inline uint | uint16_unpack_from_uint_1 (const uint i) |
| ccl_device_inline bool | isnan_safe (const float f) |
| ccl_device_inline bool | isfinite_safe (const float f) |
| ccl_device_inline float | ensure_finite (const float v) |
| ccl_device_inline int | clamp (const int a, const int mn, const int mx) |
| ccl_device_inline float | clamp (const float a, const float mn, const float mx) |
| ccl_device_inline float | mix (const float a, const float b, float t) |
| ccl_device_inline float | smoothstep (const float edge0, const float edge1, const float x) |
| ccl_device_inline float | saturatef (const float a) |
| ccl_device_inline int | float_to_int (const float f) |
| ccl_device_inline int | floor_to_int (const float f) |
| ccl_device_inline float | floorfrac (const float x, ccl_private int *i) |
| ccl_device_inline int | ceil_to_int (const float f) |
| ccl_device_inline float | fractf (const float x) |
| ccl_device_inline float | wrapf (const float value, const float max, const float min) |
| ccl_device_inline float | pingpongf (const float a, const float b) |
| ccl_device_inline float | smoothminf (const float a, const float b, float k) |
| ccl_device_inline float | signf (const float f) |
| ccl_device_inline float | nonzerof (const float f, const float eps) |
| ccl_device_inline float | compatible_atan2 (const float y, const float x) |
| ccl_device_inline float | compatible_signf (const float f) |
| ccl_device_inline float | smoothstepf (const float f) |
| ccl_device_inline int | mod (const int x, const int m) |
| ccl_device_inline float | interp (const float a, const float b, const float t) |
| ccl_device_inline float | inverse_lerp (const float a, const float b, const float x) |
| ccl_device_inline float | cubic_interp (const float a, const float b, float c, const float d, float x) |
| ccl_device_inline float | safe_sqrtf (const float f) |
| ccl_device_inline float | inversesqrtf (const float f) |
| ccl_device float | safe_asinf (const float a) |
| ccl_device float | safe_acosf (const float a) |
| ccl_device float | compatible_powf (const float x, const float y) |
| ccl_device float | safe_powf (const float a, const float b) |
| ccl_device float | safe_divide (const float a, const float b) |
| ccl_device float | safe_logf (const float a, const float b) |
| ccl_device float | safe_modulo (const float a, const float b) |
| ccl_device float | safe_floored_modulo (const float a, const float b) |
| ccl_device_inline float | sqr (const float a) |
| ccl_device_inline float | sin_from_cos (const float c) |
| ccl_device_inline float | cos_from_sin (const float s) |
| ccl_device_inline float | sin_sqr_to_one_minus_cos (const float s_sq) |
| ccl_device_inline float | one_minus_cos (const float angle) |
| ccl_device_inline float | pow20 (const float a) |
| ccl_device_inline float | pow22 (const float a) |
| ccl_device_inline float | beta (const float x, const float y) |
| ccl_device_inline float | xor_signmask (const float x, const int y) |
| ccl_device float | bits_to_01 (const uint bits) |
| ccl_device_inline uint | popcount (const uint x) |
| ccl_device_inline uint | count_leading_zeros (const uint x) |
| ccl_device_inline uint | count_trailing_zeros (const uint x) |
| ccl_device_inline uint | find_first_set (const uint x) |
| ccl_device_inline bool | compare_floats (const float a, const float b, float abs_diff, const int ulp_diff) |
| ccl_device_inline uint | next_power_of_two (const uint x) |
| ccl_device_inline uint | prev_power_of_two (const uint x) |
| ccl_device_inline uint32_t | reverse_integer_bits (uint32_t x) |
| ccl_device_inline bool | solve_quadratic (const float a, const float b, const float c, ccl_private float &x1, ccl_private float &x2) |
| template<typename T1, typename T2> | |
| ccl_device_inline Interval< T1 > | operator/= (ccl_private Interval< T1 > &interval, const T2 f) |
| template<typename T> | |
| ccl_device_inline Interval< T > | intervals_intersection (const ccl_private Interval< T > &first, const ccl_private Interval< T > &second) |
| #define __has_builtin | ( | v | ) |
Definition at line 783 of file device/cpu/globals.h.
| #define M_1_2PI_F (0.1591549430918953f) /* `1/(2*pi)` */ |
Definition at line 45 of file device/cpu/globals.h.
| #define M_1_4PI_F (0.0795774715459476f) /* `1/(4*pi)` */ |
Definition at line 48 of file device/cpu/globals.h.
| #define M_1_PI_F (0.3183098861837067f) /* `1/pi` */ |
Definition at line 39 of file device/cpu/globals.h.
| #define M_2_PI_F (0.6366197723675813f) /* `2/pi` */ |
Definition at line 42 of file device/cpu/globals.h.
| #define M_2PI_F (6.2831853071795864f) /* `2*pi` */ |
Definition at line 59 of file device/cpu/globals.h.
| #define M_4PI_F (12.566370614359172f) /* `4*pi` */ |
Definition at line 62 of file device/cpu/globals.h.
| #define M_CBRT2_F 1.2599210498948732f /* `cbrt(2)` */ |
Definition at line 73 of file device/cpu/globals.h.
| #define M_LN10_F (2.3025850929940457f) /* `ln(10)` */ |
Definition at line 85 of file device/cpu/globals.h.
| #define M_LN2_F (0.6931471805599453f) /* `ln(2)` */ |
Definition at line 82 of file device/cpu/globals.h.
| #define M_LN_2PI_F (1.8378770664093454f) /* `ln(2*pi)` */ |
Definition at line 54 of file device/cpu/globals.h.
| #define M_PI_2_F (1.5707963267948966f) /* `pi/2` */ |
Definition at line 33 of file device/cpu/globals.h.
| #define M_PI_4_F (0.7853981633974830f) /* `pi/4` */ |
Definition at line 36 of file device/cpu/globals.h.
| #define M_PI_4F 0.78539816339744830962f /* `pi/4` */ |
Definition at line 65 of file device/cpu/globals.h.
| #define M_PI_F (3.1415926535897932f) /* `pi` */ |
Definition at line 30 of file device/cpu/globals.h.
| #define M_SQRT1_2F 0.70710678118654752440f /* `sqrt(1/2)` */ |
Definition at line 76 of file device/cpu/globals.h.
| #define M_SQRT2_F (1.4142135623730950f) /* `sqrt(2)` */ |
Definition at line 70 of file device/cpu/globals.h.
| #define M_SQRT3_F (1.7320508075688772f) /* `sqrt(3)` */ |
Definition at line 79 of file device/cpu/globals.h.
| #define M_SQRT_PI_8_F (0.6266570686577501f) /* `sqrt(pi/8)` */ |
Definition at line 51 of file device/cpu/globals.h.
| ccl_device_inline int __float_as_int | ( | const float | f | ) |
Definition at line 257 of file math_base.h.
References ccl_device_inline, and i.
| ccl_device_inline uint __float_as_uint | ( | const float | f | ) |
Definition at line 277 of file math_base.h.
References ccl_device_inline, and i.
| ccl_device_inline float __int_as_float | ( | const int | i | ) |
Definition at line 267 of file math_base.h.
References ccl_device_inline, and i.
| ccl_device_inline float __uint_as_float | ( | const uint | i | ) |
Definition at line 287 of file math_base.h.
References ccl_device_inline, and i.
| ccl_device_inline int abs | ( | const int | x | ) |
Definition at line 115 of file math_base.h.
References ccl_device_inline, and x.
| ccl_device_inline int as_int | ( | const uint | i | ) |
Definition at line 226 of file math_base.h.
References ccl_device_inline, and i.
Referenced by ANIM_channel_debug_print_info(), and BM_mesh_intersect_edges().
| ccl_device_inline uint as_uint | ( | const float | f | ) |
Definition at line 246 of file math_base.h.
References ccl_device_inline, and i.
| ccl_device_inline uint as_uint | ( | const int | i | ) |
Definition at line 236 of file math_base.h.
References ccl_device_inline, and i.
Referenced by emit_attribute_map_entry().
| ccl_device_inline float beta | ( | const float | x, |
| const float | y ) |
Definition at line 651 of file math_base.h.
References ccl_device_inline, expf, lgammaf, x, and y.
Referenced by Freestyle::OGF::NormalCycle::accumulate_dihedral_angle(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), Eigen::internal::constrained_conjugate_gradient(), blender::bke::mesh::corner_fan_space_define(), blender::bke::mesh::corner_space_custom_data_to_normal(), blender::bke::mesh::corner_space_custom_normal_to_data(), cubic_subdiv(), dBoxBox2(), dLineClosestApproach(), KDL::Frame::Frame(), KDL::Rotation::GetEulerZYZ(), Freestyle::SilhouetteGeomEngine::ImageToWorldParameter(), KDL::LinComb(), KDL::LinComb(), KDL::LinComb(), KDL::LinCombR(), KDL::LinCombR(), KDL::LinCombR(), libmv::Dogleg< Function, Jacobian, Solver >::minimize(), mnee_newton_solver(), blender::geometry::p_abf_matrix_invert(), posrandom(), random(), rotateDifferentialCoordinates(), btConjugateGradient< MatrixX >::solve(), btConjugateResidual< MatrixX >::solve(), btDeformableBodySolver::solveDeformableConstraints(), libmv::Dogleg< Function, Jacobian, Solver >::SolveDoglegDirection(), solveSingleIteration(), blender::ed::sculpt_paint::smooth::surface_smooth_displace_step(), volume_preservation(), and volume_preservation().
| ccl_device float bits_to_01 | ( | const uint | bits | ) |
Definition at line 661 of file math_base.h.
References ccl_device.
| ccl_device_inline int ceil_to_int | ( | const float | f | ) |
Definition at line 424 of file math_base.h.
References ccl_device_inline, ceilf, and float_to_int().
Referenced by RenderScheduler::calculate_resolution_divider_for_time().
| ccl_device_inline float clamp | ( | const float | a, |
| const float | mn, | ||
| const float | mx ) |
Definition at line 367 of file math_base.h.
References ccl_device_inline, max, and min.
| ccl_device_inline int clamp | ( | const int | a, |
| const int | mn, | ||
| const int | mx ) |
Definition at line 362 of file math_base.h.
References ccl_device_inline, max, and min.
Referenced by safe_acosf(), safe_asinf(), and saturatef().
| ccl_device_inline bool compare_floats | ( | const float | a, |
| const float | b, | ||
| float | abs_diff, | ||
| const int | ulp_diff ) |
Definition at line 754 of file math_base.h.
References __float_as_int, abs, b, ccl_device_inline, and fabsf.
| ccl_device_inline float compatible_atan2 | ( | const float | y, |
| const float | x ) |
Definition at line 471 of file math_base.h.
References atan2f, ccl_device_inline, x, and y.
Referenced by svm_math().
| ccl_device float compatible_powf | ( | const float | x, |
| const float | y ) |
Definition at line 548 of file math_base.h.
References ccl_device, fmodf, powf, x, and y.
Referenced by safe_powf().
| ccl_device_inline float compatible_signf | ( | const float | f | ) |
Definition at line 477 of file math_base.h.
References ccl_device_inline, and signf().
| ccl_device_inline float cos_from_sin | ( | const float | s | ) |
Definition at line 610 of file math_base.h.
References ccl_device_inline, safe_sqrtf(), and sqr().
Referenced by bsdf_hair_chiang_albedo(), bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), bsdf_hair_huang_albedo(), bsdf_hair_huang_sample(), hair_alpha_angles(), point_light_tree_parameters(), and spot_light_tree_parameters().
| ccl_device_inline uint count_leading_zeros | ( | const uint | x | ) |
Definition at line 692 of file math_base.h.
References assert, ccl_device_inline, and x.
Referenced by find_first_set(), hash_shuffle_uint(), next_power_of_two(), prev_power_of_two(), and sobol_burley().
| ccl_device_inline uint count_trailing_zeros | ( | const uint | x | ) |
Definition at line 712 of file math_base.h.
References assert, ccl_device_inline, and x.
| ccl_device_inline float cubic_interp | ( | const float | a, |
| const float | b, | ||
| float | c, | ||
| const float | d, | ||
| float | x ) |
Definition at line 513 of file math_base.h.
References b, ccl_device_inline, and x.
Referenced by interpolate_ies_vertical(), and kernel_ies_interp().
| ccl_device_inline float ensure_finite | ( | const float | v | ) |
Definition at line 356 of file math_base.h.
References ccl_device_inline, isfinite_safe(), and v.
Referenced by film_clamp_light(), kernel_background_evaluate(), kernel_displace_evaluate(), and read_shader_output().
| ccl_device_inline uint find_first_set | ( | const uint | x | ) |
Definition at line 732 of file math_base.h.
References ccl_device_inline, count_leading_zeros(), and x.
| ccl_device_inline int float_to_int | ( | const float | f | ) |
Definition at line 407 of file math_base.h.
References ccl_device_inline.
Referenced by background_map_pdf(), ceil_to_int(), fast_rint(), float_ramp_lookup(), float_ramp_lookup(), floor_to_int(), floorfrac(), CCL_NAMESPACE_BEGIN::frac(), frac(), lookup_table_read(), lookup_table_read_2D(), lookup_table_read_3D(), noise_fbm(), noise_fbm(), noise_fbm(), noise_fbm(), noise_hetero_terrain(), noise_hetero_terrain(), noise_hetero_terrain(), noise_hetero_terrain(), noise_hybrid_multi_fractal(), noise_hybrid_multi_fractal(), noise_hybrid_multi_fractal(), noise_hybrid_multi_fractal(), noise_multi_fractal(), noise_multi_fractal(), noise_multi_fractal(), noise_multi_fractal(), noise_ridged_multi_fractal(), noise_ridged_multi_fractal(), noise_ridged_multi_fractal(), noise_ridged_multi_fractal(), rgb_ramp_lookup(), rgb_ramp_lookup(), safe_powf(), svm_checker(), svm_math_wavelength_color_xyz(), and svm_node_convert().
| ccl_device_inline int floor_to_int | ( | const float | f | ) |
Definition at line 412 of file math_base.h.
References ccl_device_inline, float_to_int(), and floorf.
Referenced by HdCyclesDelegate::GetRenderStats(), and svm_brick().
| ccl_device_inline float floorfrac | ( | const float | x, |
| ccl_private int * | i ) |
Definition at line 417 of file math_base.h.
References ccl_device_inline, ccl_private, float_to_int(), floorf, i, and x.
Referenced by perlin_1d(), perlin_2d(), perlin_3d(), and perlin_4d().
| ccl_device_inline float fractf | ( | const float | x | ) |
Definition at line 429 of file math_base.h.
References ccl_device_inline, floorf, and x.
Referenced by pingpongf().
| ccl_device_inline float interp | ( | const float | a, |
| const float | b, | ||
| const float | t ) |
Definition at line 502 of file math_base.h.
References b, and ccl_device_inline.
Referenced by camera_sample_perspective(), ClipSegmentToLine(), CurvesNode::constant_fold(), InvertNode::constant_fold(), CustomData_data_transfer(), data_transfer_layersmapping_add_item(), data_transfer_layersmapping_add_item_cd(), data_transfer_layersmapping_cdlayers(), data_transfer_layersmapping_cdlayers_multisrc_to_dst(), data_transfer_layersmapping_generate(), LinearQuadPatch::eval(), film_apply_pass_pixel_overlays_rgba(), SkyTextureNode::get_sun_average_radiance(), blender::io::usd::import_mesh_skel_bindings(), CCL_NAMESPACE_BEGIN::kernel_tex_image_interp_3d(), kernel_tex_image_interp_3d(), SubPatch::map_uv(), meshcache_read_mdd_range(), meshcache_read_pc2_range(), MOD_meshcache_calc_range(), MOD_meshcache_read_mdd_frame(), MOD_meshcache_read_mdd_times(), MOD_meshcache_read_pc2_frame(), MOD_meshcache_read_pc2_times(), paint_sample_color(), blender::draw::particle_key_weight(), project_paint_PickColor(), SubdAttributeInterpolation::setup_attribute_corner_linear(), SubdAttributeInterpolation::setup_attribute_vertex_linear(), SKY_arhosekskymodel_radiance(), sky_radiance_nishita(), svm_math_wavelength_color_xyz(), svm_mix_add(), svm_mix_blend(), svm_mix_color(), svm_mix_dark(), svm_mix_diff(), svm_mix_exclusion(), svm_mix_hue(), svm_mix_light(), svm_mix_mul(), svm_mix_sub(), blender::gpu::to_string(), to_string(), blender::gpu::to_string_msl(), and AnimationImporter::write_animation().
| ccl_device_inline Interval< T > intervals_intersection | ( | const ccl_private Interval< T > & | first, |
| const ccl_private Interval< T > & | second ) |
Definition at line 886 of file math_base.h.
References ccl_device_inline, ccl_private, max, and min.
Referenced by bsdf_hair_huang_eval(), ray_cone_intersect(), and ray_infinite_cylinder_intersect().
| ccl_device_inline float inverse_lerp | ( | const float | a, |
| const float | b, | ||
| const float | x ) |
Definition at line 507 of file math_base.h.
References b, ccl_device_inline, and x.
Referenced by background_map_sample(), bsdf_microfacet_setup_fresnel_generalized_schlick(), direction_to_central_cylindrical(), interpolate_fresnel_color(), kernel_ies_interp(), and microfacet_fresnel().
| ccl_device_inline float inversesqrtf | ( | const float | f | ) |
Definition at line 529 of file math_base.h.
References ccl_device_inline, and sqrtf.
Referenced by bsdf_lambda_from_sqr_alpha_tan_n(), compute_v(), LightManager::device_update_lights(), microfacet_ggx_sample_vndf(), ray_cone_intersect(), sphg_dir(), svm_math(), and LightTreeMeasure::transform().
| ccl_device_inline bool isfinite_safe | ( | const float | f | ) |
Definition at line 348 of file math_base.h.
References __float_as_uint, ccl_device_inline, and x.
Referenced by bsdf_alloc(), bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), bsdf_hair_huang_eval_residual(), ensure_finite(), film_clamp_light(), BoundBox::grow_safe(), intersection_ray_valid(), intersection_t_offset(), kernel_background_evaluate(), kernel_displace_evaluate(), longitudinal_scattering(), scene_intersect_valid(), transform_decomposed_isfinite_safe(), transform_isfinite_safe(), and Mesh::Triangle::valid().
| ccl_device_inline bool isnan_safe | ( | const float | f | ) |
Definition at line 342 of file math_base.h.
References __float_as_uint, ccl_device_inline, and x.
Referenced by bsdf_hair_huang_eval(), and fresnel_dielectric_polarized().
| ccl_device_template_spec float make_zero | ( | ) |
Definition at line 218 of file math_base.h.
References ccl_device_template_spec.
| ccl_device_inline T make_zero | ( | ) |
References ccl_device_inline, and T.
Referenced by attribute_data_fetch_bytecolor(), get_object_attribute_impl(), get_object_attribute_impl(), primitive_surface_attribute(), set_attribute(), set_attribute(), and triangle_attribute().
| ccl_device_inline double max | ( | const double | a, |
| const double | b ) |
Definition at line 179 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline float max | ( | const float | a, |
| const float | b ) |
Definition at line 169 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline int max | ( | const int | a, |
| const int | b ) |
Definition at line 120 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline uint32_t max | ( | const uint32_t | a, |
| const uint32_t | b ) |
Definition at line 130 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline uint64_t max | ( | const uint64_t | a, |
| const uint64_t | b ) |
Definition at line 140 of file math_base.h.
References b, and ccl_device_inline.
|
constexpr |
Definition at line 158 of file math_base.h.
References b, ccl_device_inline, and T.
| ccl_device_inline float max4 | ( | const float | a, |
| const float | b, | ||
| float | c, | ||
| const float | d ) |
Definition at line 211 of file math_base.h.
References b, ccl_device_inline, and max.
| ccl_device_inline T max4 | ( | const T & | a, |
| const T & | b, | ||
| const T & | c, | ||
| const T & | d ) |
Definition at line 200 of file math_base.h.
References b, ccl_device_inline, max, and T.
Referenced by bvh_aligned_node_intersect(), and bvh_unaligned_node_intersect_child().
| ccl_device_inline double min | ( | const double | a, |
| const double | b ) |
Definition at line 184 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline float min | ( | const float | a, |
| const float | b ) |
Definition at line 174 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline int min | ( | const int | a, |
| const int | b ) |
Definition at line 125 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline uint32_t min | ( | const uint32_t | a, |
| const uint32_t | b ) |
Definition at line 135 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline uint64_t min | ( | const uint64_t | a, |
| const uint64_t | b ) |
Definition at line 145 of file math_base.h.
References b, and ccl_device_inline.
|
constexpr |
Definition at line 164 of file math_base.h.
References b, ccl_device_inline, and T.
| ccl_device_inline float min4 | ( | const float | a, |
| const float | b, | ||
| float | c, | ||
| const float | d ) |
Definition at line 206 of file math_base.h.
References b, ccl_device_inline, and min.
| ccl_device_inline T min4 | ( | const T & | a, |
| const T & | b, | ||
| const T & | c, | ||
| const T & | d ) |
Definition at line 195 of file math_base.h.
References b, ccl_device_inline, min, and T.
Referenced by bvh_aligned_node_intersect(), and bvh_unaligned_node_intersect_child().
| ccl_device_inline float mix | ( | const float | a, |
| const float | b, | ||
| float | t ) |
Definition at line 372 of file math_base.h.
References b, and ccl_device_inline.
| ccl_device_inline int mod | ( | const int | x, |
| const int | m ) |
Definition at line 497 of file math_base.h.
References ccl_device_inline, and x.
| ccl_device_inline uint next_power_of_two | ( | const uint | x | ) |
Definition at line 771 of file math_base.h.
References ccl_device_inline, count_leading_zeros(), and x.
Referenced by Integrator::device_update(), round_num_samples_to_power_of_2(), round_up_to_power_of_two(), and TEST().
| ccl_device_inline float nonzerof | ( | const float | f, |
| const float | eps ) |
Definition at line 460 of file math_base.h.
References ccl_device_inline, eps, fabsf, and signf().
| ccl_device_inline float one_minus_cos | ( | const float | angle | ) |
Definition at line 621 of file math_base.h.
References angle(), ccl_device_inline, cosf, and sqr().
Referenced by background_sun_sample(), bsdf_diffuse_toon_eval(), bsdf_diffuse_toon_sample(), bsdf_glossy_toon_eval(), bsdf_glossy_toon_sample(), pdf_uniform_cone(), and point_light_sample().
| ccl_device_inline Interval< T1 > operator/= | ( | ccl_private Interval< T1 > & | interval, |
| const T2 | f ) |
Definition at line 877 of file math_base.h.
References ccl_device_inline, ccl_private, Interval< T >::min, and T2.
| ccl_device_inline float pingpongf | ( | const float | a, |
| const float | b ) |
Definition at line 441 of file math_base.h.
References b, ccl_device_inline, fabsf, and fractf().
| ccl_device_inline uint pointer_pack_to_uint_0 | ( | T * | ptr | ) |
Definition at line 311 of file math_base.h.
References ccl_device_inline, ptr, and T.
Referenced by scene_intersect(), and scene_intersect_shadow().
| ccl_device_inline uint pointer_pack_to_uint_1 | ( | T * | ptr | ) |
Definition at line 316 of file math_base.h.
References ccl_device_inline, ptr, and T.
Referenced by scene_intersect(), and scene_intersect_shadow().
| ccl_device_inline T * pointer_unpack_from_uint | ( | const uint | a, |
| const uint | b ) |
Definition at line 321 of file math_base.h.
References b, ccl_device_inline, and T.
Referenced by get_payload_ptr_0(), and get_payload_ptr_2().
| ccl_device_inline uint popcount | ( | const uint | x | ) |
Definition at line 673 of file math_base.h.
References ccl_device_inline, i, and x.
Referenced by gpu_parallel_active_index_array_impl(), light_tree_cluster_select_emitter(), and sample_is_class_A().
| ccl_device_inline float pow20 | ( | const float | a | ) |
Definition at line 627 of file math_base.h.
References ccl_device_inline, and sqr().
| ccl_device_inline float pow22 | ( | const float | a | ) |
Definition at line 632 of file math_base.h.
References ccl_device_inline, and sqr().
| ccl_device_inline uint prev_power_of_two | ( | const uint | x | ) |
Definition at line 777 of file math_base.h.
References ccl_device_inline, count_leading_zeros(), and x.
Referenced by round_down_to_power_of_two(), and TEST().
| ccl_device_inline uint32_t reverse_integer_bits | ( | uint32_t | x | ) |
Definition at line 787 of file math_base.h.
References ccl_device_inline, and x.
Referenced by Integrator::device_update(), nested_uniform_scramble(), nested_uniform_scramble_base4(), sobol_burley(), sobol_burley_sample_1D(), sobol_burley_sample_2D(), sobol_burley_sample_3D(), sobol_burley_sample_4D(), and TEST().
| ccl_device float safe_acosf | ( | const float | a | ) |
Definition at line 543 of file math_base.h.
References acosf, ccl_device, CLAMP, clamp(), and MINLINE.
Referenced by angle_normalized_qt(), angle_signed_normalized_qt(), attr_create_pointiness(), basic_rotate(), bm_mesh_calc_uvs_sphere_face(), boid_body(), bsdf_diffuse_toon_eval(), bsdf_glossy_toon_eval(), bsdf_oren_nayar_G(), cache_key_incremental_rotation(), calc_bevel_sin_cos(), direction_to_fisheye_equisolid(), direction_to_fisheye_lens_polynomial(), direction_to_spherical(), do_guides(), dvar_eval_rotDiff(), effector_falloff(), fisheye_to_direction(), map_to_sphere(), mat3_to_quat_legacy(), merge(), modify_mesh(), pow_qt_fl_normalized(), blender::ed::curves::primitive_random_sphere(), proj_paint_state_cavity_init(), psys_thread_create_path(), Quaternion_angle_get(), quaternion_to_angles(), sky_angle_between(), svm_math(), svm_node_ies(), tri_to_quat_ex(), triangle_light_sample(), blender::nodes::try_dispatch_float_math_fl_to_fl(), vec_to_quat(), and Vector_angle().
| ccl_device float safe_asinf | ( | const float | a | ) |
Definition at line 538 of file math_base.h.
References asinf, ccl_device, CLAMP, clamp(), and MINLINE.
Referenced by angle_normalized_v2v2(), angle_normalized_v3v3(), area_light_rect_sample(), bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), bsdf_hair_reflection_sample(), quaternion_to_angles(), spherical_stereo_transform(), svm_math(), and blender::nodes::try_dispatch_float_math_fl_to_fl().
| ccl_device float safe_divide | ( | const float | a, |
| const float | b ) |
Definition at line 576 of file math_base.h.
References b, ccl_device, and MINLINE.
Referenced by area_light_rect_sample(), bsdf_eval_pass_diffuse_weight(), bsdf_eval_pass_glossy_weight(), bsdf_hair_huang_albedo(), bsdf_microfacet_eval(), bsdf_microfacet_sample(), blender::nodes::node_shader_map_range_cc::build_float_linear(), blender::nodes::node_shader_map_range_cc::build_float_stepped(), BVHObjectBinning::BVHObjectBinning(), BVHSpatialSplit::BVHSpatialSplit(), d_gamma_d_h(), fisheye_to_direction(), fractal_voronoi_x_fx(), geometry_collide_offset(), gizmo_calc_rect_view_scale(), gizmo_spot_blend_prop_matrix_set(), hair_attenuation(), relaxation_iteration_uv(), safe_logf(), blender::nodes::node_shader_map_range_cc::sh_node_map_range_build_multi_function(), smootherstep(), svm_mapping(), svm_math(), svm_node_vector_map_range(), svm_vector_math(), transform_decompose(), trimmed_logistic(), blender::nodes::try_dispatch_float_math_fl3_fl3_to_fl3(), blender::nodes::try_dispatch_float_math_fl_fl_to_fl(), blender::ed::view3d::geometry_nodes_gizmos::LinearGizmo::update_transform(), blender::ed::view3d::geometry_nodes_gizmos::TransformGizmos::update_translate_transform_and_target_property(), and vfont_to_curve().
| ccl_device float safe_floored_modulo | ( | const float | a, |
| const float | b ) |
Definition at line 595 of file math_base.h.
References b, ccl_device, and floorf.
| ccl_device float safe_logf | ( | const float | a, |
| const float | b ) |
Definition at line 581 of file math_base.h.
References b, ccl_device, logf, MINLINE, safe_divide(), safe_divide(), and UNLIKELY.
Referenced by svm_math(), TEST(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
| ccl_device float safe_modulo | ( | const float | a, |
| const float | b ) |
Definition at line 590 of file math_base.h.
References b, ccl_device, and fmodf.
| ccl_device float safe_powf | ( | const float | a, |
| const float | b ) |
Definition at line 567 of file math_base.h.
References b, ccl_device, compatible_powf(), float_to_int(), MINLINE, powf, and UNLIKELY.
Referenced by svm_math(), svm_vector_math(), TEST(), blender::nodes::try_dispatch_float_math_fl3_fl3_to_fl3(), and blender::nodes::try_dispatch_float_math_fl_fl_to_fl().
| ccl_device_inline float safe_sqrtf | ( | const float | f | ) |
Definition at line 524 of file math_base.h.
References ccl_device_inline, max, max_ff(), MINLINE, and sqrtf.
Referenced by blo_do_versions_300(), boid_body(), boid_brain(), bsdf_sheen_sample(), bssrdf_burley_sample(), cos_from_sin(), cos_theta(), disk_to_hemisphere(), ensure_valid_specular_reflection(), fresnel_dielectric_polarized(), guiding_record_surface_bounce(), light_tree_cos_bound_subtended_angle(), microfacet_ggx_sample_vndf(), mnee_sample_bsdf_dh(), phase_henyey_greenstein(), point_light_sample(), sample_cos_hemisphere(), blender::eevee::Sampling::sample_hemisphere(), blender::eevee::Sampling::sample_sphere(), sample_uniform_cone(), sample_uniform_hemisphere(), sin_from_cos(), sin_sqr_to_one_minus_cos(), sky_radiance_nishita(), solve_quadratic(), spot_light_sample(), svm_math(), and blender::nodes::try_dispatch_float_math_fl_to_fl().
| ccl_device_inline float saturatef | ( | const float | a | ) |
Definition at line 401 of file math_base.h.
References ccl_device_inline, and clamp().
| ccl_device_inline float signf | ( | const float | f | ) |
Definition at line 455 of file math_base.h.
References ccl_device_inline, and MINLINE.
Referenced by BKE_texture_mapping_init(), blender::ed::sculpt_paint::auto_mask::calc_cavity_factor(), compatible_signf(), TextureMapping::compute_transform(), computeBindWeights(), blender::ed::transform::constraintScaleLim(), dither_random_value(), gizmo_cage2d_modal(), gizmo_cage3d_modal(), microfacet_beckmann_sample_vndf(), nonzerof(), shrinkwrap_snap_with_side(), sphg_dir(), svm_node_set_bump(), volume_draine_setup(), and volume_henyey_greenstein_setup().
| ccl_device_inline float sin_from_cos | ( | const float | c | ) |
Definition at line 605 of file math_base.h.
References ccl_device_inline, safe_sqrtf(), and sqr().
Referenced by bsdf_hair_chiang_sample(), bsdf_oren_nayar_G(), light_tree_importance(), microfacet_beckmann_sample_vndf(), mnee_compute_transfer_matrix(), sample_uniform_sphere(), spherical_cos_to_direction(), and triangle_light_sample().
| ccl_device_inline float sin_sqr_to_one_minus_cos | ( | const float | s_sq | ) |
Definition at line 615 of file math_base.h.
References ccl_device_inline, and safe_sqrtf().
Referenced by point_light_sample(), sphere_light_pdf(), spot_light_pdf(), and spot_light_sample().
| ccl_device_inline float smoothminf | ( | const float | a, |
| const float | b, | ||
| float | k ) |
Definition at line 446 of file math_base.h.
References b, ccl_device_inline, fabsf, fmaxf, and fminf.
| ccl_device_inline float smoothstep | ( | const float | edge0, |
| const float | edge1, | ||
| const float | x ) |
Definition at line 377 of file math_base.h.
References ccl_device_inline, result, and x.
| ccl_device_inline float smoothstepf | ( | const float | f | ) |
Definition at line 485 of file math_base.h.
References ccl_device_inline.
Referenced by spot_light_attenuation(), spot_light_tree_parameters(), and svm_brick().
| ccl_device_inline bool solve_quadratic | ( | const float | a, |
| const float | b, | ||
| const float | c, | ||
| ccl_private float & | x1, | ||
| ccl_private float & | x2 ) |
Definition at line 827 of file math_base.h.
References b, ccl_device_inline, ccl_private, copysignf, fmaxf, fminf, safe_sqrtf(), and sqr().
Referenced by ray_cone_intersect(), and ray_infinite_cylinder_intersect().
| ccl_device_inline float sqr | ( | const float | a | ) |
Definition at line 600 of file math_base.h.
References ccl_device_inline.
Referenced by arc_length(), Light::area(), area_light_rect_sample(), area_light_sample(), area_light_spread_clamp_light(), area_light_valid_ray_segment(), atmosphere_intersection(), bessel_I0(), bsdf_aniso_D(), bsdf_aniso_lambda(), bsdf_D(), bsdf_get_roughness_pass_squared(), bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), bsdf_hair_huang_albedo(), bsdf_hair_huang_eval_r(), bsdf_hair_huang_eval_residual(), bsdf_hair_huang_eval_trrt(), bsdf_hair_huang_sample(), bsdf_lambda(), bsdf_microfacet_eval(), bsdf_microfacet_sample(), bsdf_oren_nayar_G(), bsdf_oren_nayar_setup(), bsdf_sheen_eval(), bsdf_sheen_sample(), bump_shadowing_term(), color_highlight_compress(), compute_v(), computeBindWeights(), cos_from_sin(), cos_theta(), Background::device_update(), LightManager::device_update_lights(), ensure_valid_specular_reflection(), F0_from_ior(), fresnel_dielectric_polarized(), fresnel_f82_B(), fresnel_f82tint_B(), SkyTextureNode::get_sun_average_radiance(), hair_alpha_angles(), hair_attenuation(), ior_parametrization(), iridescence_airy_summation(), iridescence_lookup_sensitivity(), light_tree_importance(), logistic(), microfacet_beckmann_sample_vndf(), microfacet_fresnel(), microfacet_ggx_sample_vndf(), mnee_eval_bsdf_contribution(), mnee_path_contribution(), one_minus_cos(), phase_draine(), phase_draine_sample_cos(), phase_fournier_forand_delta(), phase_fournier_forand_impl(), phase_fournier_forand_newton(), phase_henyey_greenstein(), phase_henyey_greenstein_sample(), phase_mie(), phase_mie_fitted_parameters(), phase_rayleigh(), phase_rayleigh(), phase_rayleigh_sample(), point_light_mnee_sample_update(), point_light_sample(), point_light_sample_from_intersection(), point_light_tree_parameters(), pow20(), pow22(), precompute_ggx_E(), precompute_ggx_gen_schlick_s(), precompute_ggx_glass_E(), ray_cone_intersect(), ray_disk_intersect(), sin_from_cos(), SKY_nishita_skymodel_precompute_texture(), sky_radiance_nishita(), solve_quadratic(), sphg_dir(), spot_light_mnee_sample_update(), spot_light_sample(), spot_light_sample_from_intersection(), spot_light_tree_parameters(), spot_light_valid_ray_segment(), surface_intersection(), surface_shader_prepare_closures(), svm_node_closure_bsdf(), and svm_node_principled_volume().
| ccl_device_inline uint uint16_pack_to_uint | ( | const uint | a, |
| const uint | b ) |
Definition at line 326 of file math_base.h.
References b, and ccl_device_inline.
Referenced by __anyhit__kernel_optix_shadow_all_hit().
| ccl_device_inline uint uint16_unpack_from_uint_0 | ( | const uint | i | ) |
Definition at line 331 of file math_base.h.
References ccl_device_inline, and i.
Referenced by __anyhit__kernel_optix_shadow_all_hit().
| ccl_device_inline uint uint16_unpack_from_uint_1 | ( | const uint | i | ) |
Definition at line 336 of file math_base.h.
References ccl_device_inline, and i.
Referenced by __anyhit__kernel_optix_shadow_all_hit().
| ccl_device_inline float wrapf | ( | const float | value, |
| const float | max, | ||
| const float | min ) |
Definition at line 435 of file math_base.h.
References ccl_device_inline, floorf, max, and min.
| ccl_device_inline float xor_signmask | ( | const float | x, |
| const int | y ) |
Definition at line 656 of file math_base.h.
References __float_as_int, __int_as_float, ccl_device_inline, x, and y.
Referenced by isect_ray_tri_watertight_v3().