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