如何在 c++/opengl 中使用 glm 常量

Howto use glm constants in c++/opengl

我只使用 OpenGL 编程并使用 GLM (OpenGL Mathematics)。我发现在 GLM 中有一个名为 "GLM_GTC_constants" 的扩展,它应该提供一个内置常量列表。这是函数头在 constants.hpp:

中的样子
/// Return the pi constant.
/// @see gtc_constants
template <typename genType>
GLM_FUNC_DECL GLM_CONSTEXPR genType pi();

函数本身看起来像这样 (constants.inl):

template <typename genType>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi()
{
    return genType(3.14159265358979323846264338327950288);
}

现在我想知道如何使用这个功能。


glm::pi();

使用上面的函数不起作用。

float PI = glm::pi();

例如,上面的代码给我这个错误:

error: no matching function for call to ‘pi()’

我搜索了文档,但没有在任何地方找到这些常量的用法示例。

使用此模板函数时应明确指定类型,因为没有参数推导。

glm::pi<float>() 应该可以解决问题