Blender V5.0
math_float3.h File Reference
#include "util/math_base.h"
#include "util/math_float4.h"
#include "util/types_float3.h"
#include "util/types_float4.h"
#include "util/types_int3.h"
#include "util/types_uint3.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline float3 zero_float3 ()
ccl_device_inline float3 one_float3 ()
ccl_device_template_spec float3 make_zero ()
ccl_device_inline float3 reciprocal (const float3 a)
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 float3 b)
ccl_device_inline float3 operator+ (const float3 a, const float b)
ccl_device_inline float3 operator+ (const float a, const float3 b)
ccl_device_inline float3 operator- (const float3 a, const float3 b)
ccl_device_inline float3 operator- (const float3 a, const float b)
ccl_device_inline float3 operator- (const float 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, const float f)
ccl_device_inline float3 operator/= (float3 &a, const float3 b)
ccl_device_inline float3 operator/= (float3 &a, const float f)
ccl_device_inline packed_float3 operator*= (packed_float3 &a, const float3 b)
ccl_device_inline packed_float3 operator*= (packed_float3 &a, const float f)
ccl_device_inline packed_float3 operator/= (packed_float3 &a, const float3 b)
ccl_device_inline packed_float3 operator/= (packed_float3 &a, const float f)
ccl_device_inline packed_float3 operator+= (packed_float3 &a, const float3 b)
ccl_device_inline bool operator== (const float3 a, const float3 b)
ccl_device_inline int3 operator== (const float3 a, const float b)
ccl_device_inline bool operator!= (const float3 a, const float3 b)
ccl_device_inline int3 operator>= (const float3 a, const float3 b)
ccl_device_inline int3 operator< (const float3 a, const float3 b)
ccl_device_inline float dot (const float3 a, const float3 b)
ccl_device_inline int3 operator> (const float3 a, const float3 b)
ccl_device_inline int3 operator> (const float3 a, const float b)
ccl_device_inline float dot_xy (const float3 a, const float3 b)
ccl_device_inline float len (const float3 a)
ccl_device_inline float reduce_min (const float3 a)
ccl_device_inline float reduce_max (const float3 a)
ccl_device_inline float len_squared (const float3 a)
ccl_device_inline float distance (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 fmod (const float3 a, const float b)
ccl_device_inline float3 fmod (const float3 a, const float3 b)
ccl_device_inline float3 sqrt (const float3 a)
ccl_device_inline float3 round (const float3 a)
ccl_device_inline float3 floor (const float3 a)
ccl_device_inline float3 ceil (const float3 a)
ccl_device_inline float3 mix (const float3 a, const float3 b, const float t)
ccl_device_inline float3 mix (const float3 a, const float3 b, const float3 t)
ccl_device_inline float3 saturate (const float3 a)
ccl_device_inline float3 exp (const float3 v)
ccl_device_inline float3 log (const float3 v)
ccl_device_inline float3 sin (const float3 v)
ccl_device_inline float3 cos (const float3 v)
ccl_device_inline float3 tan (const float3 v)
ccl_device_inline float3 atan2 (const float3 y, const float3 x)
ccl_device_inline float3 reflect (const float3 incident, const float3 unit_normal)
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 safe_sqrt (const float3 a)
ccl_device_inline float3 project (const float3 v, const float3 v_proj)
ccl_device_inline float3 normalize_len (const float3 a, ccl_private float *t)
ccl_device_inline float3 safe_normalize (const float3 a)
ccl_device_inline float3 safe_normalize_fallback (const float3 a, const float3 fallback)
ccl_device_inline float3 safe_normalize_len (const float3 a, ccl_private float *t)
ccl_device_inline float3 safe_divide (const float3 a, const float3 b)
ccl_device_inline float3 safe_divide (const float3 a, const float b)
ccl_device_inline float3 interp (const float3 a, const float3 b, const float t)
ccl_device_inline float3 sqr (const float3 a)
ccl_device_inline bool is_zero (const float3 a)
ccl_device_inline bool any_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 (const float3 a, const float3 b)
template<class MaskType>
ccl_device_inline float3 select (const MaskType mask, const float3 a, const float3 b)
template<class MaskType>
ccl_device_inline float3 mask (const MaskType mask, const float3 a)
ccl_device_inline float3 power (const float3 v, const float e)
ccl_device_inline float3 safe_pow (const float3 a, const float3 b)
ccl_device_inline auto isequal_mask (const float3 a, const float3 b)
ccl_device_inline auto is_zero_mask (const float3 a)
ccl_device_inline float3 safe_floored_fmod (const float3 a, const float3 b)
ccl_device_inline float3 wrap (const float3 value, const float3 max, const float3 min)
ccl_device_inline float3 safe_fmod (const float3 a, const float3 b)
ccl_device_inline float3 compatible_sign (const float3 v)
ccl_device_inline bool isfinite_safe (const float3 v)
ccl_device_inline float3 ensure_finite (const float3 v)
ccl_device_inline float triangle_area (const ccl_private float3 &v1, const ccl_private float3 &v2, const ccl_private float3 &v3)
ccl_device_inline void make_orthonormals (const float3 N, ccl_private float3 *a, ccl_private float3 *b)
ccl_device_inline float3 rotate_around_axis (const float3 p, const float3 axis, const float angle)
ccl_device_inline float precise_angle (const float3 a, const float3 b)
ccl_device_inline float tan_angle (const float3 a, const float3 b)
ccl_device_inline float2 map_to_tube (const float3 co)
ccl_device_inline float2 map_to_sphere (const float3 co)
ccl_device_inline void copy_v3_v3 (ccl_private float *r, const float3 val)
ccl_device_inline uint3 float3_as_uint3 (const float3 f)
ccl_device_inline float3 uint3_as_float3 (const uint3 f)

Function Documentation

◆ any_zero()

ccl_device_inline bool any_zero ( const float3 a)

Definition at line 585 of file math_float3.h.

References ccl_device_inline, float3::x, float3::y, and float3::z.

◆ atan2()

◆ average()

ccl_device_inline float average ( const float3 a)

Definition at line 601 of file math_float3.h.

References ccl_device_inline, and reduce_add().

◆ ceil()

ccl_device_inline float3 ceil ( const float3 a)

Definition at line 442 of file math_float3.h.

References ccl_device_inline, ceilf, make_float3(), float3::x, float3::y, and float3::z.

◆ clamp()

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

Definition at line 360 of file math_float3.h.

References ccl_device_inline, max, and min.

◆ compatible_sign()

ccl_device_inline float3 compatible_sign ( const float3 v)

Definition at line 682 of file math_float3.h.

References ccl_device_inline, compatible_signf(), make_float3(), and v.

Referenced by svm_vector_math().

◆ copy_v3_v3()

ccl_device_inline void copy_v3_v3 ( ccl_private float * r,
const float3 val )

Definition at line 822 of file math_float3.h.

References ccl_device_inline, ccl_private, float3::x, float3::y, and float3::z.

◆ cos()

Definition at line 481 of file math_float3.h.

References ccl_device_inline, cosf, make_float3(), and v.

◆ cross()

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

Definition at line 319 of file math_float3.h.

References b, ccl_device_inline, make_float3(), msub(), float3::x, x, float3::y, y, float3::z, and z().

◆ distance()

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

Definition at line 314 of file math_float3.h.

References b, ccl_device_inline, and len.

◆ dot()

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

◆ dot_xy()

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

Definition at line 279 of file math_float3.h.

References b, ccl_device_inline, float3::x, and float3::y.

◆ ensure_finite()

ccl_device_inline float3 ensure_finite ( const float3 v)

Definition at line 692 of file math_float3.h.

References ccl_device_inline, isfinite_safe(), v, float3::x, float3::y, and float3::z.

◆ exp()

Definition at line 466 of file math_float3.h.

References ccl_device_inline, expf, make_float3(), and v.

◆ fabs()

ccl_device_inline float3 fabs ( const float3 a)

Definition at line 365 of file math_float3.h.

References ccl_device_inline, fabsf, make_float3(), mask(), float3::x, float3::y, and float3::z.

◆ faceforward()

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

Definition at line 510 of file math_float3.h.

References ccl_device_inline, and dot().

◆ float3_as_uint3()

ccl_device_inline uint3 float3_as_uint3 ( const float3 f)

Definition at line 829 of file math_float3.h.

References __float_as_uint, ccl_device_inline, make_uint3(), float3::x, float3::y, and float3::z.

◆ floor()

ccl_device_inline float3 floor ( const float3 a)

Definition at line 433 of file math_float3.h.

References ccl_device_inline, floorf, make_float3(), float3::x, float3::y, and float3::z.

◆ fmod() [1/2]

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

Definition at line 383 of file math_float3.h.

References b, ccl_device_inline, fmodf, make_float3(), float3::x, float3::y, and float3::z.

Referenced by safe_fmod().

◆ fmod() [2/2]

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

Definition at line 399 of file math_float3.h.

References b, ccl_device_inline, fmodf, make_float3(), float3::x, float3::y, and float3::z.

◆ interp()

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

Definition at line 566 of file math_float3.h.

References b, and ccl_device_inline.

◆ is_zero()

ccl_device_inline bool is_zero ( const float3 a)

Definition at line 576 of file math_float3.h.

References ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ is_zero_mask()

ccl_device_inline auto is_zero_mask ( const float3 a)

◆ isequal()

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

Definition at line 606 of file math_float3.h.

References all(), b, and ccl_device_inline.

◆ isequal_mask()

ccl_device_inline auto isequal_mask ( const float3 a,
const float3 b )

Definition at line 649 of file math_float3.h.

References b, ccl_device_inline, make_int3(), float3::x, float3::y, and float3::z.

Referenced by is_zero_mask().

◆ isfinite_safe()

ccl_device_inline bool isfinite_safe ( const float3 v)

Definition at line 687 of file math_float3.h.

References ccl_device_inline, isfinite_safe(), and v.

Referenced by ensure_finite(), and isfinite_safe().

◆ len()

ccl_device_inline float len ( const float3 a)

Definition at line 288 of file math_float3.h.

References ccl_device_inline, dot(), and sqrtf.

◆ len_squared()

ccl_device_inline float len_squared ( const float3 a)

Definition at line 307 of file math_float3.h.

References ccl_device_inline, and dot().

◆ log()

Definition at line 471 of file math_float3.h.

References ccl_device_inline, logf, make_float3(), and v.

◆ make_orthonormals()

◆ make_zero()

Definition at line 31 of file math_float3.h.

References ccl_device_template_spec, and zero_float3().

◆ map_to_sphere()

◆ map_to_tube()

ccl_device_inline float2 map_to_tube ( const float3 co)

Definition at line 786 of file math_float3.h.

References atan2f, ccl_device_inline, len, M_PI_F, make_float2, sqrtf, v, float3::x, float3::y, and float3::z.

◆ mask()

template<class MaskType>
ccl_device_inline float3 mask ( const MaskType mask,
const float3 a )

Definition at line 632 of file math_float3.h.

References ccl_device_inline, mask(), select, and zero_float3().

◆ max()

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

Definition at line 351 of file math_float3.h.

References b, ccl_device_inline, make_float3(), max, float3::x, float3::y, and float3::z.

◆ min()

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

Definition at line 342 of file math_float3.h.

References b, ccl_device_inline, make_float3(), min, float3::x, float3::y, and float3::z.

◆ mix() [1/2]

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

Definition at line 451 of file math_float3.h.

References b, and ccl_device_inline.

◆ mix() [2/2]

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

Definition at line 456 of file math_float3.h.

References b, and ccl_device_inline.

◆ normalize()

ccl_device_inline float3 normalize ( const float3 a)

Definition at line 332 of file math_float3.h.

References ccl_device_inline, len, and norm().

◆ normalize_len()

ccl_device_inline float3 normalize_len ( const float3 a,
ccl_private float * t )

Definition at line 529 of file math_float3.h.

References ccl_device_inline, ccl_private, len, and x.

◆ one_float3()

◆ operator!=()

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

Definition at line 231 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator*() [1/3]

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

Definition at line 75 of file math_float3.h.

References ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator*() [2/3]

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

Definition at line 66 of file math_float3.h.

References ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator*() [3/3]

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

Definition at line 57 of file math_float3.h.

References b, ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator*=() [1/4]

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

Definition at line 165 of file math_float3.h.

References ccl_device_inline.

◆ operator*=() [2/4]

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

Definition at line 160 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator*=() [3/4]

ccl_device_inline packed_float3 operator*= ( packed_float3 & a,
const float f )

Definition at line 188 of file math_float3.h.

References ccl_device_inline.

◆ operator*=() [4/4]

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

Definition at line 182 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator+() [1/3]

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

Definition at line 126 of file math_float3.h.

References b, ccl_device_inline, and make_float3().

◆ operator+() [2/3]

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

Definition at line 121 of file math_float3.h.

References b, ccl_device_inline, and make_float3().

◆ operator+() [3/3]

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

Definition at line 112 of file math_float3.h.

References b, ccl_device_inline, 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 150 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator+=() [2/2]

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

Definition at line 206 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator-() [1/4]

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

Definition at line 145 of file math_float3.h.

References b, ccl_device_inline, and make_float3().

◆ operator-() [2/4]

ccl_device_inline float3 operator- ( const float3 & a)

Definition at line 48 of file math_float3.h.

References ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator-() [3/4]

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

Definition at line 140 of file math_float3.h.

References b, ccl_device_inline, and make_float3().

◆ operator-() [4/4]

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

Definition at line 131 of file math_float3.h.

References b, ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator-=()

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

Definition at line 155 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator/() [1/3]

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

Definition at line 84 of file math_float3.h.

References ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator/() [2/3]

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

Definition at line 93 of file math_float3.h.

References ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator/() [3/3]

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

Definition at line 103 of file math_float3.h.

References b, ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ operator/=() [1/4]

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

Definition at line 175 of file math_float3.h.

References ccl_device_inline.

◆ operator/=() [2/4]

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

Definition at line 170 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator/=() [3/4]

ccl_device_inline packed_float3 operator/= ( packed_float3 & a,
const float f )

Definition at line 200 of file math_float3.h.

References ccl_device_inline.

◆ operator/=() [4/4]

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

Definition at line 194 of file math_float3.h.

References b, and ccl_device_inline.

◆ operator<()

ccl_device_inline int3 operator< ( const float3 a,
const float3 b )

Definition at line 245 of file math_float3.h.

References b, ccl_device_inline, make_int3(), float3::x, float3::y, and float3::z.

◆ operator==() [1/2]

ccl_device_inline int3 operator== ( const float3 a,
const float b )

Definition at line 222 of file math_float3.h.

References b, ccl_device_inline, make_float3(), make_int3(), float3::x, float3::y, and float3::z.

◆ operator==() [2/2]

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

Definition at line 213 of file math_float3.h.

References b, ccl_device_inline, float3::x, float3::y, and float3::z.

◆ operator>() [1/2]

ccl_device_inline int3 operator> ( const float3 a,
const float b )

Definition at line 272 of file math_float3.h.

References b, ccl_device_inline, and make_float3().

◆ operator>() [2/2]

ccl_device_inline int3 operator> ( const float3 a,
const float3 b )

Definition at line 263 of file math_float3.h.

References b, ccl_device_inline, make_int3(), float3::x, float3::y, and float3::z.

◆ operator>=()

ccl_device_inline int3 operator>= ( const float3 a,
const float3 b )

Definition at line 236 of file math_float3.h.

References b, ccl_device_inline, make_int3(), float3::x, float3::y, and float3::z.

◆ power()

ccl_device_inline float3 power ( const float3 v,
const float e )

Definition at line 639 of file math_float3.h.

References ccl_device_inline, e, make_float3(), powf, and v.

◆ precise_angle()

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

Definition at line 774 of file math_float3.h.

References atan2f, b, ccl_device_inline, and len.

Referenced by pdf_uniform_cone(), and sky_radiance_nishita().

◆ project()

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

Definition at line 523 of file math_float3.h.

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

◆ reciprocal()

ccl_device_inline float3 reciprocal ( const float3 a)

Definition at line 36 of file math_float3.h.

References ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

Referenced by bvh_inverse_direction(), and ray_aabb_intersect().

◆ reduce_add()

ccl_device_inline float reduce_add ( const float3 a)

Definition at line 590 of file math_float3.h.

References ccl_device_inline, float3::x, float3::y, and float3::z.

Referenced by average().

◆ reduce_max()

ccl_device_inline float reduce_max ( const float3 a)

Definition at line 302 of file math_float3.h.

References ccl_device_inline, max, float3::x, float3::y, and float3::z.

◆ reduce_min()

ccl_device_inline float reduce_min ( const float3 a)

Definition at line 297 of file math_float3.h.

References ccl_device_inline, min, float3::x, float3::y, and float3::z.

◆ reflect()

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

Definition at line 496 of file math_float3.h.

References ccl_device_inline, and dot().

◆ refract()

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

Definition at line 501 of file math_float3.h.

References ccl_device_inline, dot(), sqrt, and zero_float3().

◆ rotate_around_axis()

ccl_device_inline float3 rotate_around_axis ( const float3 p,
const float3 axis,
const float angle )

◆ round()

ccl_device_inline float3 round ( const float3 a)

Definition at line 422 of file math_float3.h.

References ccl_device_inline, make_float3(), roundf, float3::x, float3::y, and float3::z.

◆ safe_divide() [1/2]

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

Definition at line 561 of file math_float3.h.

References b, ccl_device_inline, and zero_float3().

◆ safe_divide() [2/2]

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

Definition at line 554 of file math_float3.h.

References b, ccl_device_inline, make_float3(), float3::x, float3::y, and float3::z.

◆ safe_floored_fmod()

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

Definition at line 667 of file math_float3.h.

References b, ccl_device_inline, floor, is_zero_mask(), select, and zero_float3().

Referenced by wrap().

◆ safe_fmod()

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

Definition at line 677 of file math_float3.h.

References b, ccl_device_inline, fmod(), is_zero_mask(), select, and zero_float3().

Referenced by svm_vector_math().

◆ safe_normalize()

ccl_device_inline float3 safe_normalize ( const float3 a)

Definition at line 536 of file math_float3.h.

References ccl_device_inline, and len.

◆ safe_normalize_fallback()

◆ safe_normalize_len()

◆ safe_pow()

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

Definition at line 644 of file math_float3.h.

References b, ccl_device_inline, make_float3(), safe_powf(), float3::x, float3::y, and float3::z.

Referenced by svm_vector_math().

◆ safe_sqrt()

ccl_device_inline float3 safe_sqrt ( const float3 a)

Definition at line 518 of file math_float3.h.

References ccl_device_inline, max, sqrt, and zero_float3().

◆ saturate()

ccl_device_inline float3 saturate ( const float3 a)

Definition at line 461 of file math_float3.h.

References ccl_device_inline, make_float3(), saturatef, float3::x, float3::y, and float3::z.

◆ select()

template<class MaskType>
ccl_device_inline float3 select ( const MaskType mask,
const float3 a,
const float3 b )

Definition at line 616 of file math_float3.h.

References b, ccl_device_inline, make_float3(), mask(), float3::x, float3::y, and float3::z.

◆ sin()

Definition at line 476 of file math_float3.h.

References ccl_device_inline, make_float3(), sinf, and v.

◆ sqr()

Definition at line 571 of file math_float3.h.

References ccl_device_inline.

◆ sqrt()

ccl_device_inline float3 sqrt ( const float3 a)

Definition at line 413 of file math_float3.h.

References ccl_device_inline, make_float3(), sqrtf, float3::x, float3::y, and float3::z.

◆ tan()

Definition at line 486 of file math_float3.h.

References ccl_device_inline, make_float3(), tanf, and v.

◆ tan_angle()

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

Definition at line 780 of file math_float3.h.

References b, ccl_device_inline, cross, dot(), and len.

Referenced by area_light_spread_attenuation().

◆ triangle_area()

◆ uint3_as_float3()

ccl_device_inline float3 uint3_as_float3 ( const uint3 f)

Definition at line 838 of file math_float3.h.

References __uint_as_float, ccl_device_inline, make_float3(), uint3::x, uint3::y, and uint3::z.

◆ wrap()

ccl_device_inline float3 wrap ( const float3 value,
const float3 max,
const float3 min )

Definition at line 672 of file math_float3.h.

References ccl_device_inline, max, min, and safe_floored_fmod().

◆ zero_float3()

Definition at line 17 of file math_float3.h.

References ccl_device_inline, and make_float3().

Referenced by BVHBuild::add_references(), Mesh::add_vertex_normals(), attr_create_pointiness(), background_portal_sample(), bsdf_alloc(), bsdf_hair_huang_eval_r(), Camera::Camera(), camera_sample_panorama(), camera_sample_perspective(), Hair::compute_bounds(), Mesh::compute_bounds(), TextureMapping::compute_transform(), BackgroundNode::constant_fold(), BlackbodyNode::constant_fold(), EmissionNode::constant_fold(), VectorDisplacementNode::constant_fold(), VectorMathNode::constant_fold(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertToCycles< float3 >(), differential3_zero(), GeometryManager::displace(), export_hair_curves(), film_write_data_passes_background(), fisheye_equidistant_to_direction(), fisheye_equisolid_to_direction(), fisheye_lens_polynomial_to_direction(), flatten_closure_tree(), guiding_record_bssrdf_segment(), guiding_record_bssrdf_weight(), guiding_record_light_surface_segment(), guiding_record_surface_segment(), guiding_record_volume_segment(), Light::has_contribution(), integrate_camera_sample(), integrator_init_from_bake(), Object::is_traceable(), ConstantFolder::is_zero(), is_zero_mask(), kernel_background_evaluate(), kernel_volume_density_evaluate(), light_sample(), ConstantFolder::make_zero(), make_zero(), mask(), mirrorball_to_direction(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), ObtainCacheParticleData(), osl_closure_microfacet_multi_ggx_glass_setup(), osl_mul_closure_color(), osl_zero_albedo(), output_estimate_emission(), project(), refract(), rgbe_to_rgb(), safe_divide(), safe_floored_fmod(), safe_fmod(), safe_sqrt(), Shader::Shader(), shader_setup_from_background(), shader_setup_from_displace(), shader_setup_from_sample(), shadow_ray_setup(), TextureMapping::skip(), sky_radiance_nishita(), surface_shader_ao(), surface_shader_average_normal(), svm_mix_exclusion(), svm_node_blackbody(), svm_node_closure_bsdf(), svm_node_displacement(), svm_node_principled_volume(), svm_node_set_bump(), svm_node_tangent(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_voronoi(), svm_node_vector_displacement(), svm_node_vector_map_range(), svm_vector_math(), HdCyclesLight::Sync(), Mesh::tessellate(), TEST(), TEST_F(), TEST_F(), TEST_F(), texco_normal_from_uv(), transform_perspective(), transform_perspective_deriv(), Camera::update(), HdCyclesSession::UpdateScene(), volume_guiding_filter_x(), volume_guiding_filter_y(), Camera::world_to_raster_size(), xml_read_transform(), and xyz_to_rgb_clamped().