5 template<
typename T, qualifier Q>
13 template<
typename T, qualifier Q>
21 template<
typename T, qualifier Q>
30 template<
typename T, qualifier Q>
39 template<
typename T, qualifier Q>
48 template<
typename T, qualifier Q>
49 GLM_FUNC_QUALIFIER mat<3, 3, T, Q> reflect2D(mat<3, 3, T, Q>
const& m, vec<3, T, Q>
const& normal)
51 mat<3, 3, T, Q> r(
static_cast<T
>(1));
52 r[0][0] =
static_cast<T
>(1) -
static_cast<T
>(2) * normal.x * normal.x;
53 r[0][1] = -
static_cast<T
>(2) * normal.x * normal.y;
54 r[1][0] = -
static_cast<T
>(2) * normal.x * normal.y;
55 r[1][1] =
static_cast<T
>(1) -
static_cast<T
>(2) * normal.y * normal.y;
59 template<
typename T, qualifier Q>
60 GLM_FUNC_QUALIFIER mat<4, 4, T, Q> reflect3D(mat<4, 4, T, Q>
const& m, vec<3, T, Q>
const& normal)
62 mat<4, 4, T, Q> r(
static_cast<T
>(1));
63 r[0][0] =
static_cast<T
>(1) -
static_cast<T
>(2) * normal.x * normal.x;
64 r[0][1] = -
static_cast<T
>(2) * normal.x * normal.y;
65 r[0][2] = -
static_cast<T
>(2) * normal.x * normal.z;
67 r[1][0] = -
static_cast<T
>(2) * normal.x * normal.y;
68 r[1][1] =
static_cast<T
>(1) -
static_cast<T
>(2) * normal.y * normal.y;
69 r[1][2] = -
static_cast<T
>(2) * normal.y * normal.z;
71 r[2][0] = -
static_cast<T
>(2) * normal.x * normal.z;
72 r[2][1] = -
static_cast<T
>(2) * normal.y * normal.z;
73 r[2][2] =
static_cast<T
>(1) -
static_cast<T
>(2) * normal.z * normal.z;
77 template<
typename T, qualifier Q>
83 r[0][0] =
static_cast<T
>(1) - normal.x * normal.x;
84 r[0][1] = - normal.x * normal.y;
85 r[1][0] = - normal.x * normal.y;
86 r[1][1] =
static_cast<T
>(1) - normal.y * normal.y;
90 template<
typename T, qualifier Q>
96 r[0][0] =
static_cast<T
>(1) - normal.x * normal.x;
97 r[0][1] = - normal.x * normal.y;
98 r[0][2] = - normal.x * normal.z;
99 r[1][0] = - normal.x * normal.y;
100 r[1][1] =
static_cast<T
>(1) - normal.y * normal.y;
101 r[1][2] = - normal.y * normal.z;
102 r[2][0] = - normal.x * normal.z;
103 r[2][1] = - normal.y * normal.z;
104 r[2][2] =
static_cast<T
>(1) - normal.z * normal.z;
108 template<
typename T, qualifier Q>
113 result[0][0] =
scale;
114 result[1][1] =
scale;
115 result[2][2] =
scale;
119 template<
typename T, qualifier Q>
Core features
Definition common.hpp:21
Definition qualifier.hpp:36
Definition qualifier.hpp:35