vec: add one and zero helpers for vectors

This commit is contained in:
Recep Aslantas
2018-04-13 11:57:14 +03:00
parent c489955b00
commit 25fc3d0284
13 changed files with 165 additions and 2 deletions

View File

@@ -24,6 +24,14 @@ CGLM_EXPORT
void
glmc_vec_copy(vec3 a, vec3 dest);
CGLM_EXPORT
void
glmc_vec_zero(vec3 v);
CGLM_EXPORT
void
glmc_vec_one(vec3 v);
CGLM_EXPORT
float
glmc_vec_dot(vec3 a, vec3 b);

View File

@@ -21,6 +21,14 @@ CGLM_EXPORT
void
glmc_vec4(vec3 v3, float last, vec4 dest);
CGLM_EXPORT
void
glmc_vec4_zero(vec4 v);
CGLM_EXPORT
void
glmc_vec4_one(vec4 v);
CGLM_EXPORT
void
glmc_vec4_copy3(vec4 a, vec3 dest);

View File

@@ -103,6 +103,32 @@ glm_vec_copy(vec3 a, vec3 dest) {
dest[2] = a[2];
}
/*!
* @brief make vector zero
*
* @param[in, out] v vector
*/
CGLM_INLINE
void
glm_vec_zero(vec4 v) {
v[0] = 0.0f;
v[1] = 0.0f;
v[2] = 0.0f;
}
/*!
* @brief make vector one
*
* @param[in, out] v vector
*/
CGLM_INLINE
void
glm_vec_one(vec4 v) {
v[0] = 1.0f;
v[1] = 1.0f;
v[2] = 1.0f;
}
/*!
* @brief vec3 dot product
*

View File

@@ -111,6 +111,42 @@ glm_vec4_copy(vec4 v, vec4 dest) {
#endif
}
/*!
* @brief make vector zero
*
* @param[in, out] v vector
*/
CGLM_INLINE
void
glm_vec4_zero(vec4 v) {
#if defined( __SSE__ ) || defined( __SSE2__ )
_mm_store_ps(v, _mm_setzero_ps());
#else
v[0] = 0.0f;
v[1] = 0.0f;
v[2] = 0.0f;
v[3] = 0.0f;
#endif
}
/*!
* @brief make vector one
*
* @param[in, out] v vector
*/
CGLM_INLINE
void
glm_vec4_one(vec4 v) {
#if defined( __SSE__ ) || defined( __SSE2__ )
_mm_store_ps(v, _mm_set1_ps(1.0f));
#else
v[0] = 1.0f;
v[1] = 1.0f;
v[2] = 1.0f;
v[3] = 1.0f;
#endif
}
/*!
* @brief vec4 dot product
*