- specializes for 1, 2, 3 and 4-dimensional vector types which are then aliased as tvec1, tvec2, tvec3 and tvec4 - requires C++11 aliases; breaks compatability with C++03 - tested on: - clang-3.5.2, clang-3.8.0 - gcc 4.8.5, gcc 5.4.1, gcc 6.2.0 TODO: - still uses template template parameters - most can probably be removed - some definitions might now be de-duplicated
15 lines
391 B
C++
15 lines
391 B
C++
/// @ref gtx_float_normalize
|
|
/// @file glm/gtx/float_normalize.inl
|
|
|
|
#include <limits>
|
|
|
|
namespace glm
|
|
{
|
|
template <int D, typename T, precision P, template <int, typename, precision> class vecType>
|
|
GLM_FUNC_QUALIFIER vecType<D, float, P> floatNormalize(vecType<D, T, P> const & v)
|
|
{
|
|
return vecType<D, float, P>(v) / static_cast<float>(std::numeric_limits<T>::max());
|
|
}
|
|
|
|
}//namespace glm
|