Blender  V2.93
Functions
util_math_float3.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline float3 operator- (const float3 &a)
 
ccl_device_inline float3 operator* (const float3 &a, const float3 &b)
 
ccl_device_inline float3 operator* (const float3 &a, const float f)
 
ccl_device_inline float3 operator* (const float f, const float3 &a)
 
ccl_device_inline float3 operator/ (const float f, const float3 &a)
 
ccl_device_inline float3 operator/ (const float3 &a, const float f)
 
ccl_device_inline float3 operator/ (const float3 &a, const float3 &b)
 
ccl_device_inline float3 operator+ (const float3 &a, const float f)
 
ccl_device_inline float3 operator+ (const float3 &a, const float3 &b)
 
ccl_device_inline float3 operator- (const float3 &a, const float f)
 
ccl_device_inline float3 operator- (const float3 &a, const float3 &b)
 
ccl_device_inline float3 operator+= (float3 &a, const float3 &b)
 
ccl_device_inline float3 operator-= (float3 &a, const float3 &b)
 
ccl_device_inline float3 operator*= (float3 &a, const float3 &b)
 
ccl_device_inline float3 operator*= (float3 &a, float f)
 
ccl_device_inline float3 operator/= (float3 &a, const float3 &b)
 
ccl_device_inline float3 operator/= (float3 &a, float f)
 
ccl_device_inline bool operator== (const float3 &a, const float3 &b)
 
ccl_device_inline bool operator!= (const float3 &a, const float3 &b)
 
ccl_device_inline float distance (const float3 &a, const float3 &b)
 
ccl_device_inline float dot (const float3 &a, const float3 &b)
 
ccl_device_inline float dot_xy (const float3 &a, const float3 &b)
 
ccl_device_inline float3 cross (const float3 &a, const float3 &b)
 
ccl_device_inline float3 normalize (const float3 &a)
 
ccl_device_inline float3 min (const float3 &a, const float3 &b)
 
ccl_device_inline float3 max (const float3 &a, const float3 &b)
 
ccl_device_inline float3 clamp (const float3 &a, const float3 &mn, const float3 &mx)
 
ccl_device_inline float3 fabs (const float3 &a)
 
ccl_device_inline float3 mix (const float3 &a, const float3 &b, float t)
 
ccl_device_inline float3 rcp (const float3 &a)
 
ccl_device_inline float3 sqrt (const float3 &a)
 
ccl_device_inline float3 floor (const float3 &a)
 
ccl_device_inline float3 ceil (const float3 &a)
 
ccl_device_inline float min3 (float3 a)
 
ccl_device_inline float max3 (float3 a)
 
ccl_device_inline float len (const float3 a)
 
ccl_device_inline float len_squared (const float3 a)
 
ccl_device_inline float3 reflect (const float3 incident, const float3 normal)
 
ccl_device_inline float3 project (const float3 v, const float3 v_proj)
 
ccl_device_inline float3 saturate3 (float3 a)
 
ccl_device_inline float3 safe_normalize (const float3 a)
 
ccl_device_inline float3 normalize_len (const float3 a, float *t)
 
ccl_device_inline float3 safe_normalize_len (const float3 a, float *t)
 
ccl_device_inline float3 safe_divide_float3_float3 (const float3 a, const float3 b)
 
ccl_device_inline float3 safe_divide_float3_float (const float3 a, const float b)
 
ccl_device_inline float3 interp (float3 a, float3 b, float t)
 
ccl_device_inline float3 sqr3 (float3 a)
 
ccl_device_inline bool is_zero (const float3 a)
 
ccl_device_inline float reduce_add (const float3 a)
 
ccl_device_inline float average (const float3 a)
 
ccl_device_inline bool isequal_float3 (const float3 a, const float3 b)
 
ccl_device_inline float3 zero_float3 ()
 
ccl_device_inline float3 one_float3 ()
 
ccl_device_inline float3 refract (const float3 incident, const float3 normal, const float eta)
 
ccl_device_inline float3 faceforward (const float3 vector, const float3 incident, const float3 reference)
 
ccl_device_inline float3 pow3 (float3 v, float e)
 
ccl_device_inline float3 exp3 (float3 v)
 
ccl_device_inline float3 log3 (float3 v)
 
ccl_device_inline int3 quick_floor_to_int3 (const float3 a)
 
ccl_device_inline bool isfinite3_safe (float3 v)
 
ccl_device_inline float3 ensure_finite3 (float3 v)
 

Function Documentation

◆ average()

ccl_device_inline float average ( const float3  a)

Definition at line 479 of file util_math_float3.h.

References Freestyle::a, and reduce_add().

◆ ceil()

ccl_device_inline float3 ceil ( const float3 a)

Definition at line 336 of file util_math_float3.h.

References Freestyle::a, ceilf, and make_float3.

Referenced by bicubic_interpolation(), bilinear_interpolation(), bilinear_interpolation_color_wrap(), BKE_nla_add_soundstrip(), BKE_partdeflect_new(), blo_do_versions_pre250(), libmv::ceil0(), Freestyle::computeCumulativeVisibility(), curve_draw_event_add(), decimate_fcurve_segment(), blender::compositor::BilateralBlurOperation::determineDependingAreaOfInterest(), blender::compositor::RotateOperation::determineDependingAreaOfInterest(), distribute_grid(), draw_distortion(), draw_image_buffer_repeated(), dynamicPaint_doSmudge(), dynamicPaint_doWaveStep(), ED_gpencil_init_random_settings(), ED_gpencil_stroke_check_collision(), blender::compositor::BilateralBlurOperation::executePixel(), blender::compositor::KeyingClipOperation::executePixel(), blender::compositor::MathCeilOperation::executePixelSampled(), blender::compositor::MathTruncOperation::executePixelSampled(), fcm_cycles_time(), gpencil_sbuffer_vertex_color_random(), gpencil_session_init_fill(), gridRaycast(), imb_loadtiff(), blender::compositor::GaussianAlphaXBlurOperation::initExecution(), blender::compositor::GaussianAlphaYBlurOperation::initExecution(), blender::compositor::GaussianXBlurOperation::initExecution(), blender::compositor::GaussianYBlurOperation::initExecution(), next_lattice(), power_of_2(), radial_control_modal(), libmv::RegionIsInBounds(), round_to_digits(), mv::Region::Rounded(), sample_fcurve(), SEQ_add_reload_new_file(), seq_speed_effect_target_frame_get(), soft_range_round_up(), svm_vector_math(), blender::nodes::try_dispatch_float_math_fl3_to_fl3(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), UI_view2d_text_cache_draw(), uilist_prepare(), unit_dual_convert(), update_do_scale(), WM_gesture_circle_modal(), wm_window_timer(), blender::compositor::zbuf_add_to_span(), and zbuf_add_to_span().

◆ clamp()

ccl_device_inline float3 clamp ( const float3 a,
const float3 mn,
const float3 mx 
)

Definition at line 299 of file util_math_float3.h.

References Freestyle::a, max(), and min().

◆ cross()

ccl_device_inline float3 cross ( const float3 a,
const float3 b 
)

Definition at line 265 of file util_math_float3.h.

References Freestyle::a, make_float3, r, float3::x, float3::y, and float3::z.

◆ distance()

ccl_device_inline float distance ( const float3 a,
const float3 b 
)

Definition at line 242 of file util_math_float3.h.

References Freestyle::a, and len().

◆ dot()

ccl_device_inline float dot ( const float3 a,
const float3 b 
)

Definition at line 247 of file util_math_float3.h.

References Freestyle::a, float3::x, float3::y, and float3::z.

Referenced by faceforward(), len(), len_squared(), project(), reflect(), and refract().

◆ dot_xy()

ccl_device_inline float dot_xy ( const float3 a,
const float3 b 
)

Definition at line 256 of file util_math_float3.h.

References Freestyle::a, float3::x, and float3::y.

◆ ensure_finite3()

ccl_device_inline float3 ensure_finite3 ( float3  v)

◆ exp3()

◆ fabs()

ccl_device_inline float3 fabs ( const float3 a)

Definition at line 304 of file util_math_float3.h.

References Freestyle::a, fabsf, make_float3, and mask().

◆ faceforward()

ccl_device_inline float3 faceforward ( const float3  vector,
const float3  incident,
const float3  reference 
)

Definition at line 400 of file util_math_float3.h.

References dot().

Referenced by svm_vector_math().

◆ floor()

ccl_device_inline float3 floor ( const float3 a)

Definition at line 327 of file util_math_float3.h.

References Freestyle::a, floorf, and make_float3.

◆ interp()

ccl_device_inline float3 interp ( float3  a,
float3  b,
float  t 
)

Definition at line 449 of file util_math_float3.h.

References Freestyle::a, and t.

◆ is_zero()

ccl_device_inline bool is_zero ( const float3  a)

Definition at line 459 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ isequal_float3()

ccl_device_inline bool isequal_float3 ( const float3  a,
const float3  b 
)

◆ isfinite3_safe()

ccl_device_inline bool isfinite3_safe ( float3  v)

◆ len()

ccl_device_inline float len ( const float3  a)

Definition at line 371 of file util_math_float3.h.

References Freestyle::a, dot(), and sqrtf.

Referenced by distance(), normalize(), normalize_len(), safe_normalize(), and safe_normalize_len().

◆ len_squared()

ccl_device_inline float len_squared ( const float3  a)

◆ log3()

Definition at line 503 of file util_math_float3.h.

References logf, make_float3, and v.

Referenced by bsdf_principled_hair_sigma_from_reflectance(), and color_highlight_compress().

◆ max()

ccl_device_inline float3 max ( const float3 a,
const float3 b 
)

Definition at line 290 of file util_math_float3.h.

References Freestyle::a, make_float3, float3::x, float3::y, and float3::z.

Referenced by clamp(), and max3().

◆ max3()

◆ min()

ccl_device_inline float3 min ( const float3 a,
const float3 b 
)

Definition at line 281 of file util_math_float3.h.

References Freestyle::a, make_float3, float3::x, float3::y, and float3::z.

Referenced by clamp(), and min3().

◆ min3()

Definition at line 361 of file util_math_float3.h.

References Freestyle::a, and min().

Referenced by Object::compute_volume_step_size(), and subsurface_random_walk().

◆ mix()

ccl_device_inline float3 mix ( const float3 a,
const float3 b,
float  t 
)

Definition at line 345 of file util_math_float3.h.

References Freestyle::a, and t.

◆ normalize()

ccl_device_inline float3 normalize ( const float3 a)

Definition at line 271 of file util_math_float3.h.

References Freestyle::a, len(), and norm().

Referenced by reflect().

◆ normalize_len()

ccl_device_inline float3 normalize_len ( const float3  a,
float t 
)

Definition at line 418 of file util_math_float3.h.

References Freestyle::a, len(), t, and x.

◆ one_float3()

ccl_device_inline float3 one_float3 ( )

◆ operator!=()

ccl_device_inline bool operator!= ( const float3 a,
const float3 b 
)

Definition at line 237 of file util_math_float3.h.

References Freestyle::a.

◆ operator*() [1/3]

ccl_device_inline float3 operator* ( const float  f,
const float3 a 
)

Definition at line 136 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ operator*() [2/3]

ccl_device_inline float3 operator* ( const float3 a,
const float  f 
)

Definition at line 127 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ operator*() [3/3]

ccl_device_inline float3 operator* ( const float3 a,
const float3 b 
)

Definition at line 118 of file util_math_float3.h.

References Freestyle::a, make_float3, float3::x, float3::y, and float3::z.

◆ operator*=() [1/2]

ccl_device_inline float3 operator*= ( float3 a,
const float3 b 
)

Definition at line 207 of file util_math_float3.h.

References Freestyle::a.

◆ operator*=() [2/2]

ccl_device_inline float3 operator*= ( float3 a,
float  f 
)

Definition at line 212 of file util_math_float3.h.

References Freestyle::a.

◆ operator+() [1/2]

ccl_device_inline float3 operator+ ( const float3 a,
const float  f 
)

Definition at line 169 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ operator+() [2/2]

ccl_device_inline float3 operator+ ( const float3 a,
const float3 b 
)

Definition at line 174 of file util_math_float3.h.

References Freestyle::a, make_float3, float3::x, float3::y, and float3::z.

◆ operator+=()

ccl_device_inline float3 operator+= ( float3 a,
const float3 b 
)

Definition at line 197 of file util_math_float3.h.

References Freestyle::a.

◆ operator-() [1/3]

ccl_device_inline float3 operator- ( const float3 a)

Definition at line 109 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ operator-() [2/3]

ccl_device_inline float3 operator- ( const float3 a,
const float  f 
)

Definition at line 183 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ operator-() [3/3]

ccl_device_inline float3 operator- ( const float3 a,
const float3 b 
)

Definition at line 188 of file util_math_float3.h.

References Freestyle::a, make_float3, float3::x, float3::y, and float3::z.

◆ operator-=()

ccl_device_inline float3 operator-= ( float3 a,
const float3 b 
)

Definition at line 202 of file util_math_float3.h.

References Freestyle::a.

◆ operator/() [1/3]

ccl_device_inline float3 operator/ ( const float  f,
const float3 a 
)

Definition at line 145 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ operator/() [2/3]

ccl_device_inline float3 operator/ ( const float3 a,
const float  f 
)

Definition at line 154 of file util_math_float3.h.

References Freestyle::a.

◆ operator/() [3/3]

ccl_device_inline float3 operator/ ( const float3 a,
const float3 b 
)

Definition at line 160 of file util_math_float3.h.

References Freestyle::a, make_float3, float3::x, float3::y, and float3::z.

◆ operator/=() [1/2]

ccl_device_inline float3 operator/= ( float3 a,
const float3 b 
)

Definition at line 217 of file util_math_float3.h.

References Freestyle::a.

◆ operator/=() [2/2]

ccl_device_inline float3 operator/= ( float3 a,
float  f 
)

Definition at line 222 of file util_math_float3.h.

References Freestyle::a.

◆ operator==()

ccl_device_inline bool operator== ( const float3 a,
const float3 b 
)

Definition at line 228 of file util_math_float3.h.

References Freestyle::a, float3::x, float3::y, and float3::z.

◆ pow3()

ccl_device_inline float3 pow3 ( float3  v,
float  e 
)

Definition at line 493 of file util_math_float3.h.

References e, make_float3, powf, and v.

◆ project()

ccl_device_inline float3 project ( const float3  v,
const float3  v_proj 
)

Definition at line 407 of file util_math_float3.h.

References dot(), len_squared(), v, and zero_float3().

◆ quick_floor_to_int3()

ccl_device_inline int3 quick_floor_to_int3 ( const float3  a)

Definition at line 508 of file util_math_float3.h.

References Freestyle::a, make_int3, and quick_floor_to_int().

◆ rcp()

ccl_device_inline float3 rcp ( const float3 a)

Definition at line 350 of file util_math_float3.h.

References Freestyle::a, and make_float3.

◆ reduce_add()

ccl_device_inline float reduce_add ( const float3  a)

Definition at line 468 of file util_math_float3.h.

References Freestyle::a, and t.

Referenced by average().

◆ reflect()

ccl_device_inline float3 reflect ( const float3  incident,
const float3  normal 
)

Definition at line 385 of file util_math_float3.h.

References dot(), normal, and normalize().

Referenced by svm_vector_math(), and Vector_reflect().

◆ refract()

ccl_device_inline float3 refract ( const float3  incident,
const float3  normal,
const float  eta 
)

◆ safe_divide_float3_float()

ccl_device_inline float3 safe_divide_float3_float ( const float3  a,
const float  b 
)

Definition at line 444 of file util_math_float3.h.

References Freestyle::a, and zero_float3().

Referenced by svm_node_tex_voronoi(), and transform_decompose().

◆ safe_divide_float3_float3()

ccl_device_inline float3 safe_divide_float3_float3 ( const float3  a,
const float3  b 
)

Definition at line 437 of file util_math_float3.h.

References Freestyle::a, make_float3, float3::x, float3::y, and float3::z.

Referenced by svm_mapping(), and svm_vector_math().

◆ safe_normalize()

ccl_device_inline float3 safe_normalize ( const float3  a)

Definition at line 425 of file util_math_float3.h.

References Freestyle::a, len(), and t.

◆ safe_normalize_len()

ccl_device_inline float3 safe_normalize_len ( const float3  a,
float t 
)

Definition at line 431 of file util_math_float3.h.

References Freestyle::a, len(), and t.

Referenced by triangle_light_sample().

◆ saturate3()

ccl_device_inline float3 saturate3 ( float3  a)

◆ sqr3()

Definition at line 454 of file util_math_float3.h.

References Freestyle::a.

Referenced by color_highlight_compress().

◆ sqrt()

ccl_device_inline float3 sqrt ( const float3 a)

Definition at line 318 of file util_math_float3.h.

References Freestyle::a, make_float3, and sqrtf.

Referenced by refract().

◆ zero_float3()

ccl_device_inline float3 zero_float3 ( )

Definition at line 94 of file util_math_float3.h.

References make_float3.

Referenced by BVHBuild::add_references(), attr_create_pointiness(), bsdf_eval_init(), Camera::Camera(), camera_sample_panorama(), camera_sample_perspective(), Hair::compute_bounds(), Mesh::compute_bounds(), TextureMapping::compute_transform(), EmissionNode::constant_fold(), BackgroundNode::constant_fold(), VectorMathNode::constant_fold(), VectorDisplacementNode::constant_fold(), ShaderManager::device_update_common(), differential3_zero(), direct_emission(), direct_emissive_eval(), GeometryManager::displace(), PrincipledBsdfNode::expand(), fisheye_equisolid_to_direction(), fisheye_to_direction(), Light::has_contribution(), indirect_background(), Object::is_traceable(), ConstantFolder::is_zero(), kernel_background_evaluate(), kernel_path_shader_apply(), ConstantFolder::make_zero(), mirrorball_to_direction(), NODE_DEFINE(), ObtainCacheParticleData(), path_radiance_clamp_and_sum(), path_radiance_init(), path_radiance_reset_indirect(), path_radiance_split_denoising(), path_state_init(), point_density_texture_space(), project(), refract(), safe_divide_float3_float(), shader_background_eval(), shader_bsdf_alpha(), shader_bsdf_ao(), shader_bsdf_average_normal(), shader_bsdf_diffuse(), shader_bsdf_disable_transparency(), shader_bsdf_eval(), shader_bsdf_glossy(), shader_bsdf_sample(), shader_bsdf_sample_closure(), shader_bsdf_transmission(), shader_bsdf_transparency(), shader_emissive_eval(), shader_holdout_apply(), shader_setup_from_background(), shader_setup_from_displace(), shader_setup_from_sample(), TextureMapping::skip(), subsurface_color_pow(), subsurface_scatter_disk(), subsurface_scatter_eval(), svm_node_tangent(), svm_vector_math(), Mesh::tessellate(), TEST_F(), transform_perspective(), Camera::world_to_raster_size(), and xml_read_transform().