为何最新的OpenGL 看不到 gluPerspective API
最新版本的OpenGL(OpenGL 3.1及更高版本)中取消了对GLU(OpenGL Utility Library)的支持。GLU是一个辅助库,提供了一些便捷的函数和工具函数,用于简化OpenGL编程过程。其中包括 gluPerspective 函数,用于生成透视投影矩阵。
OpenGL的设计哲学是尽可能保持核心API的精简和可扩展性,而将许多功能和工具函数交给第三方库或者应用程序自己实现。随着时间的推移,OpenGL的核心API逐渐变得轻量级和灵活,将更多的责任放在应用程序开发者的肩上,以满足各种需求。
因此,最新版本的OpenGL不再依赖GLU,并移除了GLU中的一些功能函数,其中包括gluPerspective。如果你需要创建透视投影矩阵,可以使用其他方法或者第三方库,如使用数学库(例如glm)来生成透视投影矩阵。
如何使用 glm 来生成透视投影矩阵
要使用glm库来生成透视投影矩阵,你需要按照以下步骤进行操作:
-
确保你已经安装了glm库,并将其包含到你的项目中。你可以从glm的官方网站或其他可靠的资源获取该库。
-
在你的源码中引入glm库的头文件:
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
- 使用glm的函数来创建透视投影矩阵。你可以使用glm提供的函数glm::perspective来生成透视投影矩阵。
// 定义视角参数
float fov = 45.0f; // 视野角度
float aspectRatio = 16.0f / 9.0f; // 宽高比
float nearPlane = 0.1f; // 近平面距离
float farPlane = 100.0f; // 远平面距离
// 生成透视投影矩阵
glm::mat4 projectionMatrix = glm::perspective(glm::radians(fov), aspectRatio, nearPlane, farPlane);
在上述示例中,我们使用glm::perspective函数生成了透视投影矩阵。函数的参数依次是视野角度(以弧度为单位),宽高比,近平面距离和远平面距离。通过调整这些参数,你可以根据需求生成不同的透视投影矩阵。
标签:glm,OpenGL,矩阵,投影,生成,透视 From: https://www.cnblogs.com/cngpus/p/17698579.html