diff --git a/include/cglm/call/vec3.h b/include/cglm/call/vec3.h index a637d7e..461de0b 100644 --- a/include/cglm/call/vec3.h +++ b/include/cglm/call/vec3.h @@ -104,6 +104,10 @@ CGLM_EXPORT void glmc_vec_minv(vec3 v1, vec3 v2, vec3 dest); +CGLM_EXPORT +void +glmc_vec_clamp(vec3 v, float minVal, float maxVal); + #ifdef __cplusplus } #endif diff --git a/include/cglm/call/vec4.h b/include/cglm/call/vec4.h index 084fce2..b63af80 100644 --- a/include/cglm/call/vec4.h +++ b/include/cglm/call/vec4.h @@ -85,6 +85,10 @@ CGLM_EXPORT void glmc_vec4_minv(vec4 v1, vec4 v2, vec4 dest); +CGLM_EXPORT +void +glmc_vec4_clamp(vec4 v, float minVal, float maxVal); + #ifdef __cplusplus } #endif diff --git a/include/cglm/vec3.h b/include/cglm/vec3.h index 82c729a..e2108f3 100644 --- a/include/cglm/vec3.h +++ b/include/cglm/vec3.h @@ -46,6 +46,7 @@ CGLM_INLINE void glm_vec_maxv(vec3 v1, vec3 v2, vec3 dest); CGLM_INLINE void glm_vec_minv(vec3 v1, vec3 v2, vec3 dest); CGLM_INLINE void glm_vec_ortho(vec3 v, vec3 dest); + CGLM_INLINE void glm_vec_clamp(vec3 v, float minVal, float maxVal); Convenient: CGLM_INLINE void glm_cross(vec3 a, vec3 b, vec3 d); diff --git a/include/cglm/vec4.h b/include/cglm/vec4.h index 0e6659e..95bab09 100644 --- a/include/cglm/vec4.h +++ b/include/cglm/vec4.h @@ -40,6 +40,7 @@ CGLM_INLINE float glm_vec4_distance(vec4 v1, vec4 v2); CGLM_INLINE void glm_vec4_maxv(vec4 v1, vec4 v2, vec4 dest); CGLM_INLINE void glm_vec4_minv(vec4 v1, vec4 v2, vec4 dest); + CGLM_INLINE void glm_vec4_clamp(vec4 v, float minVal, float maxVal); */ #ifndef cglm_vec4_h diff --git a/src/vec3.c b/src/vec3.c index f377d88..ebc677d 100644 --- a/src/vec3.c +++ b/src/vec3.c @@ -139,3 +139,9 @@ void glmc_vec_minv(vec3 v1, vec3 v2, vec3 dest) { glm_vec_maxv(v1, v2, dest); } + +CGLM_EXPORT +void +glmc_vec_clamp(vec3 v, float minVal, float maxVal) { + glm_vec_clamp(v, minVal, maxVal); +} diff --git a/src/vec4.c b/src/vec4.c index 279652d..f5f6a06 100644 --- a/src/vec4.c +++ b/src/vec4.c @@ -109,3 +109,9 @@ void glmc_vec4_minv(vec4 v1, vec4 v2, vec4 dest) { glm_vec4_maxv(v1, v2, dest); } + +CGLM_EXPORT +void +glmc_vec4_clamp(vec4 v, float minVal, float maxVal) { + glm_vec4_clamp(v, minVal, maxVal); +}