目前使用VC++ 11与SDL2,GLM和GLEW。问题出在GLM上,当我试图进行两件事情时:创建旋转矩阵,创建透视摄像机矩阵(3D)。
错误是:“GLM:以度为参数的透视函数已被弃用”尽管我向两个函数都传递了弧度(作为浮点数)。它说我应该定义类似于"#define GLM_FORCE_RADIANS"这样的东西。真的需要吗?
个人而言,除了OpenGL之外,我几乎都使用度数,因此不得不来回转换(用于AI移动等)很麻烦,实际上会在有很多NPC移动时导致CPU峰值。
目前使用VC++ 11与SDL2,GLM和GLEW。问题出在GLM上,当我试图进行两件事情时:创建旋转矩阵,创建透视摄像机矩阵(3D)。
错误是:“GLM:以度为参数的透视函数已被弃用”尽管我向两个函数都传递了弧度(作为浮点数)。它说我应该定义类似于"#define GLM_FORCE_RADIANS"这样的东西。真的需要吗?
个人而言,除了OpenGL之外,我几乎都使用度数,因此不得不来回转换(用于AI移动等)很麻烦,实际上会在有很多NPC移动时导致CPU峰值。
你可以使用自动转换来代替手动转换
glm::radians(degrees) // from degrees to radians.
glm::degrees(radians) // from radians to degrees.
若要了解更多有关glm三角函数的信息,请参阅此页面:http://glm.g-truc.net/0.9.4/api/a00136.html#ga4fb76e28851c9ff6653532566084e091
#define degreesToRadians(x) x*(3.141592f/180.0f)
静态部分应该在编译时由编译器解决,只需将任何角度与glm相关的内容用该宏包围即可完成。同时添加
#define GLM_FORCE_RADIANS