如何在C++/OpenGL中使用GLM常量

19

我正在使用OpenGL和GLM(OpenGL数学)进行编程。我发现在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()’

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


没有智能感知?;) - amanuel2
1
我使用CLion,它会自动完成如上所述的pi()函数。 - JuStTheDev
1个回答

41

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接