64 lines
1 KiB
C++
64 lines
1 KiB
C++
|
/// @ref core
|
||
|
/// @file glm/detail/precision.hpp
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "setup.hpp"
|
||
|
|
||
|
namespace glm
|
||
|
{
|
||
|
enum precision
|
||
|
{
|
||
|
packed_highp,
|
||
|
packed_mediump,
|
||
|
packed_lowp,
|
||
|
|
||
|
# if GLM_HAS_ALIGNED_TYPE
|
||
|
aligned_highp,
|
||
|
aligned_mediump,
|
||
|
aligned_lowp,
|
||
|
aligned = aligned_highp,
|
||
|
# endif
|
||
|
|
||
|
highp = packed_highp,
|
||
|
mediump = packed_mediump,
|
||
|
lowp = packed_lowp,
|
||
|
packed = packed_highp,
|
||
|
|
||
|
# if GLM_HAS_ALIGNED_TYPE && defined(GLM_FORCE_ALIGNED)
|
||
|
defaultp = aligned_highp
|
||
|
# else
|
||
|
defaultp = highp
|
||
|
# endif
|
||
|
};
|
||
|
|
||
|
namespace detail
|
||
|
{
|
||
|
template <glm::precision P>
|
||
|
struct is_aligned
|
||
|
{
|
||
|
static const bool value = false;
|
||
|
};
|
||
|
|
||
|
# if GLM_HAS_ALIGNED_TYPE
|
||
|
template<>
|
||
|
struct is_aligned<glm::aligned_lowp>
|
||
|
{
|
||
|
static const bool value = true;
|
||
|
};
|
||
|
|
||
|
template<>
|
||
|
struct is_aligned<glm::aligned_mediump>
|
||
|
{
|
||
|
static const bool value = true;
|
||
|
};
|
||
|
|
||
|
template<>
|
||
|
struct is_aligned<glm::aligned_highp>
|
||
|
{
|
||
|
static const bool value = true;
|
||
|
};
|
||
|
# endif
|
||
|
}//namespace detail
|
||
|
}//namespace glm
|