This commit is contained in:
Recep Aslantas
2024-03-21 00:18:02 +03:00
parent 608e7d9c2c
commit 8c81443f24
3 changed files with 52 additions and 1 deletions

View File

@@ -55,7 +55,7 @@
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_make(float * restrict src, vec2 dest)
CGLM_INLINE void glm_vec2_reflect(vec2 I, vec2 N, vec2 dest)
*/
#ifndef cglm_vec2_h
@@ -712,4 +712,19 @@ glm_vec2_make(const float * __restrict src, vec2 dest) {
dest[0] = src[0]; dest[1] = src[1];
}
/*!
* @brief reflection vector using an incident ray and a surface normal
*
* @param[in] I incident vector
* @param[in] N normalized normal vector
* @param[out] dest destination vector for the reflection result
*/
CGLM_INLINE
void
glm_vec2_reflect(vec2 I, vec2 N, vec2 dest) {
vec2 temp;
glm_vec2_scale(N, 2.0f * glm_vec2_dot(I, N), temp);
glm_vec2_sub(I, temp, dest);
}
#endif /* cglm_vec2_h */