# pragma message("GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T a = radians(angle);
#endif
T c = cos(a);
T s = sin(a);
detail::tvec3<T, P> axis(normalize(v));
detail::tvec3<T, P> axis(normalize(v));
detail::tvec3<T, P> temp((T(1) - c) * axis);
detail::tvec3<T, P> temp((T(1) - c) * axis);
@ -93,14 +88,9 @@ namespace glm
detail::tvec3<T, P> const & v
detail::tvec3<T, P> const & v
)
)
{
{
#ifdef GLM_FORCE_RADIANS
T const a = angle;
T const a = angle;
#else
T const c = cos(a);
# pragma message("GLM: rotate_slow function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T const tanHalfFovy = tan(rad / static_cast<T>(2));
# pragma message("GLM: perspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T const h = glm::cos(static_cast<T>(0.5) * rad) / glm::sin(static_cast<T>(0.5) * rad);
#else
T const w = h * height / width; ///todo max(width , Height) / min(width , Height)?
# pragma message("GLM: perspectiveFov function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T rad = glm::radians(fov);
#endif
T h = glm::cos(static_cast<T>(0.5) * rad) / glm::sin(static_cast<T>(0.5) * rad);
T w = h * height / width; ///todo max(width , Height) / min(width , Height)?
# pragma message("GLM: infinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T const bottom = -range;
T const range = tan(radians(fovy / T(2))) * zNear;
T const top = range;
#endif
T left = -range * aspect;
T right = range * aspect;
T bottom = -range;
T top = range;
detail::tmat4x4<T, defaultp> Result(T(0));
detail::tmat4x4<T, defaultp> Result(T(0));
Result[0][0] = (T(2) * zNear) / (right - left);
Result[0][0] = (T(2) * zNear) / (right - left);
@ -314,16 +288,11 @@ namespace glm
T ep
T ep
)
)
{
{
#ifdef GLM_FORCE_RADIANS
T const range = tan(fovy / T(2)) * zNear;
T range = tan(fovy / T(2)) * zNear;
T const left = -range * aspect;
#else
T const right = range * aspect;
# pragma message("GLM: tweakedInfinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
# pragma message("GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T const AngleRad = radians(angle);
#endif
T const Sin = sin(AngleRad * T(0.5));
T const Sin = sin(AngleRad * T(0.5));
return q * detail::tquat<T, P>(cos(AngleRad * T(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin);
return q * detail::tquat<T, P>(cos(AngleRad * T(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin);
# pragma message("GLM: pitch function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
# pragma message("GLM: angle function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
return glm::degrees(acos(x.w) * T(2));
#endif
}
}
template <typename T, precision P>
template <typename T, precision P>
@ -830,15 +805,10 @@ namespace detail
{
{
detail::tquat<T, P> result;
detail::tquat<T, P> result;
#ifdef GLM_FORCE_RADIANS
T const a(angle);
T const a(angle);
#else
T const s = glm::sin(a * static_cast<T>(0.5));
# pragma message("GLM: angleAxis function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z));
T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z));
#ifdef GLM_FORCE_RADIANS
return detail::tvec3<T, P>(
return detail::tvec3<T, P>(
atan(xz_dist, tmp.y), // latitude
atan(xz_dist, tmp.y), // latitude
atan(tmp.x, tmp.z), // longitude
atan(tmp.x, tmp.z), // longitude
xz_dist); // xz distance
xz_dist); // xz distance
#else
# pragma message("GLM: polar function returning degrees is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
return detail::tvec3<T, P>(
degrees(atan(xz_dist, tmp.y)), // latitude
degrees(atan(tmp.x, tmp.z)), // longitude
xz_dist); // xz distance
#endif
}
}
template <typename T, precision P>
template <typename T, precision P>
@ -39,14 +31,8 @@ namespace glm
detail::tvec2<T, P> const & polar
detail::tvec2<T, P> const & polar
)
)
{
{
#ifdef GLM_FORCE_RADIANS
T const latitude(polar.x);
T const latitude(polar.x);
T const longitude(polar.y);
T const longitude(polar.y);
#else
# pragma message("GLM: euclidean function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
# pragma message("GLM: rotateNormalizedAxis function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T a = radians(angle);
#endif
T c = cos(a);
T s = sin(a);
detail::tvec3<T, P> axis = v;
detail::tvec3<T, P> const axis(v);
detail::tvec3<T, P> temp = (T(1) - c) * axis;
detail::tvec3<T, P> const temp((static_cast<T>(1) - c) * axis);
# pragma message("GLM: rotateNormalizedAxis function taking degrees as parameters is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.")
T const AngleRad = radians(angle);
#endif
T const Sin = sin(AngleRad * T(0.5));
T const Sin = sin(AngleRad * T(0.5));
return q * detail::tquat<T, P>(cos(AngleRad * static_cast<T>(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin);
return q * detail::tquat<T, P>(cos(AngleRad * static_cast<T>(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin);