ivec3¶
Header: cglm/ivec3.h
Table of contents (click to go):¶
Macros:
GLM_IVEC3_ONE_INIT
GLM_IVEC3_ZERO_INIT
GLM_IVEC3_ONE
GLM_IVEC3_ZERO
Functions:
Functions documentation¶
-
void
glm_ivec3
(ivec4 v4, ivec3 dest)¶ init ivec3 using ivec4
- Parameters:
- [in] v vector[out] dest destination
-
void
glm_ivec3_copy
(ivec3 a, ivec3 dest)¶ copy all members of [a] to [dest]
- Parameters:
- [in] a source vector[out] dest destination
-
void
glm_ivec3_zero
(ivec3 v)¶ set all members of [v] to zero
- Parameters:
- [out] v vector
-
void
glm_ivec3_one
(ivec3 v)¶ set all members of [v] to one
- Parameters:
- [out] v vector
-
int
glm_ivec3_dot
(ivec3 a, ivec3 b)¶ dot product of ivec3
- Parameters:
- [in] a vector1[in] b vector2
- Returns:
dot product
-
int
glm_ivec3_norm2
(ivec3 v)¶ norm * norm (magnitude) of vector
we can use this func instead of calling norm * norm, because it would call sqrtf function twice but with this func we can avoid func call, maybe this is not good name for this func
- Parameters:
- [in] v vector
- Returns:
square of norm / magnitude, cast to an integer
-
int
glm_ivec3_norm
(ivec3 vec)¶ - euclidean norm (magnitude), also called L2 normthis will give magnitude of vector in euclidean space
- Parameters:
- [in] vec vector
-
void
glm_ivec3_add
(ivec3 a, ivec3 b, ivec3 dest)¶ add vector [a] to vector [b] and store result in [dest]
- Parameters:
- [in] a first vector[in] b second vector[out] dest destination
-
void
glm_ivec3_adds
(ivec3 v, int s, ivec3 dest)¶ add scalar s to vector [v] and store result in [dest]
- Parameters:
- [in] v vector[in] s scalar[out] dest destination
-
void
glm_ivec3_sub
(ivec3 a, ivec3 b, ivec3 dest)¶ subtract vector [b] from vector [a] and store result in [dest]
- Parameters:
- [in] a first vector[in] b second vector[out] dest destination
-
void
glm_ivec3_subs
(ivec3 v, int s, ivec3 dest)¶ subtract scalar s from vector [v] and store result in [dest]
- Parameters:
- [in] v vector[in] s scalar[out] dest destination
-
void
glm_ivec3_mul
(ivec3 a, ivec3 b, ivec3 dest)¶ multiply vector [a] with vector [b] and store result in [dest]
- Parameters:
- [in] a first vector[in] b second vector[out] dest destination
-
void
glm_ivec3_scale
(ivec3 v, int s, ivec3 dest)¶ multiply vector [a] with scalar s and store result in [dest]
- Parameters:
- [in] v vector[in] s scalar[out] dest destination
-
void
glm_ivec3_div
(ivec3 a, ivec3 b, ivec3 dest)¶ div vector with another component-wise division: d = a / b
- Parameters:
- [in] a vector 1[in] b vector 2[out] dest result = (a[0] / b[0], a[1] / b[1], a[2] / b[2])
-
void
glm_ivec3_divs
(ivec3 v, int s, ivec3 dest)¶ div vector with scalar: d = v / s
- Parameters:
- [in] v vector[in] s scalar[out] dest result = (a[0] / s, a[1] / s, a[2] / s)
-
void
glm_ivec3_mod
(ivec3 a, ivec3 b, ivec3 dest)¶ mod vector with another component-wise modulo: d = a % b
- Parameters:
- [in] a vector[in] b scalar[out] dest result = (a[0] % b[0], a[1] % b[1], a[2] % b[2])
-
int
glm_ivec3_distance2
(ivec3 a, ivec3 b)¶ squared distance between two vectors
- Parameters:
- [in] a first vector[in] b second vector
- Returns:
squared distance (distance * distance)
-
float
glm_ivec3_distance
(ivec3 a, ivec3 b)¶ distance between two vectors
- Parameters:
- [in] a first vector[in] b second vector
- Returns:
distance
-
void
glm_ivec3_fill
(ivec3 v, int val)¶ fill a vector with specified value
- Parameters:
- [out] v vector[in] val value
-
bool
glm_ivec3_eq
(ivec3 v, int val)¶ check if vector is equal to value
- Parameters:
- [in] v vector[in] val value
-
bool
glm_ivec3_eqv
(ivec3 v1, ivec3 v2)¶ check if vector is equal to another vector
- Parameters:
- [in] vec vector 1[in] vec vector 2
-
void
glm_ivec3_maxv
(ivec3 a, ivec3 b, ivec3 dest)¶ set each member of dest to greater of vector a and b
- Parameters:
- [in] a first vector[in] b second vector[out] dest destination
-
void
glm_ivec3_minv
(ivec3 a, ivec3 b, ivec3 dest)¶ set each member of dest to lesser of vector a and b
- Parameters:
- [in] a first vector[in] b second vector[out] dest destination
-
void
glm_ivec3_clamp
(ivec3 v, int minVal, int maxVal)¶ clamp each member of [v] between minVal and maxVal (inclusive)
- Parameters:
- [in, out] v vector[in] minVal minimum value[in] maxVal maximum value
-
void
glm_ivec3_abs
(ivec3 v, ivec3 dest)¶ absolute value of each vector item
- Parameters:
- [in] v vector[out] dest destination vector