GLM:将度数作为参数的函数已弃用(当使用RADIANS时)

GLM: function taking degrees as a parameter is deprecated (WHEN USING RADIANS)

本文关键字:RADIANS 函数 参数 GLM      更新时间:2023-10-16

目前使用vc++ 11与SDL2, GLM,和GLEW。当我尝试做两件事时,问题源于GLM:创建旋转矩阵,创建透视相机矩阵(3D)。

错误是:"GLM:将度数作为参数的透视图函数已弃用"尽管我将弧度(作为浮点数)传递给两个函数。它说我应该定义像"#define GLM_FORCE_RADIANS"这样的东西。这真的有必要吗?

我个人对所有东西都使用度数,但OpenGL,所以必须来回转换(AI移动和不)是一种痛苦,实际上导致CPU峰值,当我有许多npc移动。

可以使用

代替手工转换
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

在包含和GLM头文件之前,这样它将默认使用弧度而不是度