add missing vec2 step

This commit is contained in:
Marcin
2025-01-18 19:17:58 +00:00
parent 5cffcf74c4
commit 6bc980f3d9
3 changed files with 35 additions and 0 deletions

View File

@@ -205,6 +205,10 @@ CGLM_EXPORT
void
glmc_vec2_lerp(vec2 from, vec2 to, float t, vec2 dest);
CGLM_EXPORT
void
glmc_vec2_step(vec2 edge, vec2 x, vec2 dest);
CGLM_EXPORT
void
glmc_vec2_steps(float edge, vec2 x, vec2 dest);

View File

@@ -53,6 +53,7 @@
CGLM_INLINE vec2s glms_vec2_minv(vec2s a, vec2s b)
CGLM_INLINE vec2s glms_vec2_clamp(vec2s v, float minVal, float maxVal)
CGLM_INLINE vec2s glms_vec2_lerp(vec2s from, vec2s to, float t)
CGLM_INLINE vec2s glms_vec2_step(vec2s edge, vec2s x)
CGLM_INLINE vec2s glms_vec2_make(float * restrict src)
CGLM_INLINE vec2s glms_vec2_reflect(vec2s v, vec2s n)
CGLM_INLINE bool glms_vec2_refract(vec2s v, vec2s n, float eta, vec2s *dest)
@@ -679,6 +680,21 @@ glms_vec2_(lerp)(vec2s from, vec2s to, float t) {
return r;
}
/*!
* @brief threshold function
*
* @param[in] edge threshold
* @param[in] x value to test against threshold
* @returns destination
*/
CGLM_INLINE
vec2s
glms_vec2_(step)(vec2s edge, vec2s x) {
vec2s r;
glm_vec2_step(edge.raw, x.raw, r.raw);
return r;
}
/*!
* @brief Create two dimensional vector from pointer
*

View File

@@ -54,6 +54,7 @@
CGLM_INLINE void glm_vec2_minv(vec2 v1, vec2 v2, vec2 dest)
CGLM_INLINE void glm_vec2_clamp(vec2 v, float minVal, float maxVal)
CGLM_INLINE void glm_vec2_lerp(vec2 from, vec2 to, float t, vec2 dest)
CGLM_INLINE void glm_vec2_step(vec2 edge, vec2 x, vec2 dest)
CGLM_INLINE void glm_vec2_make(float * restrict src, vec2 dest)
CGLM_INLINE void glm_vec2_reflect(vec2 v, vec2 n, vec2 dest)
CGLM_INLINE void glm_vec2_refract(vec2 v, vec2 n, float eta, vec2 dest)
@@ -701,6 +702,20 @@ glm_vec2_lerp(vec2 from, vec2 to, float t, vec2 dest) {
glm_vec2_add(from, v, dest);
}
/*!
* @brief threshold function
*
* @param[in] edge threshold
* @param[in] x value to test against threshold
* @param[out] dest destination
*/
CGLM_INLINE
void
glm_vec2_step(vec2 edge, vec2 x, vec2 dest) {
dest[0] = glm_step(edge[0], x[0]);
dest[1] = glm_step(edge[1], x[1]);
}
/*!
* @brief Create two dimensional vector from pointer
*