QT gluPerspective 报错
2016-04-06 00:32
471 查看
添加库的解决办法
接口函数互换的解决办法
原理分析
http://download.csdn.net/detail/li235456789/9481990 这个下载 放在QT安装或源码编译目录的/bin/ (这为对应dll动态库) /lib/(这为对应静态库) 以及 /include/(这为对应头文件) 目录下面。
glFrustum(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble zNear,GLdouble zFar);
gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar);
这是可以转换两个接口函数的原模型。 其实 gluPerspective 函数就是对glFrustum 的封装, 具体的转换代码为:
而为什么可以这么转换呢?
下面是原理的分析:
图1.
图2.
从上图可以看出,对应的转换是通过,几何立体图形的计算得出来的。
接口函数互换的解决办法
原理分析
添加库的解决办法
在一些系统平台, 由于版本或者系统原因,出现找不见gluPerspective的错识。 这主要是由于缺少glut模块的原因, 在网上有一些直接添加对应动态库, 静态库和头文件 的方法, 可以通过http://download.csdn.net/detail/li235456789/9481990 这个下载 放在QT安装或源码编译目录的/bin/ (这为对应dll动态库) /lib/(这为对应静态库) 以及 /include/(这为对应头文件) 目录下面。
接口函数互换的解决办法
然后非源码编译而是安装包安装的 QT 是为.a的链接库, 这时的lib库就没法加进去了。 这时就提供了另一种解决方法。就是把gluPerspective 函数进行对应的转换。glFrustum(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble zNear,GLdouble zFar);
gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar);
这是可以转换两个接口函数的原模型。 其实 gluPerspective 函数就是对glFrustum 的封装, 具体的转换代码为:
void MyPerspective( GLdouble fov, GLdouble aspectRatio, GLdouble zNear, GLdouble zFar ) { // 使用glu库函数,需要添加glu.h头文件 //gluPerspective( fov, aspectRatio, zNear, zFar ); // 使用OpenGL函数,但是需要添加math.h头文件 GLdouble rFov = fov * 3.14159265 / 180.0; glFrustum( -zNear * tan( rFov / 2.0 ) * aspectRatio, zNear * tan( rFov / 2.0 ) * aspectRatio, -zNear * tan( rFov / 2.0 ), zNear * tan( rFov / 2.0 ), zNear, zFar ); }
原理分析
可以看出,gluPerspective进行封装后,是简单了不少。而为什么可以这么转换呢?
下面是原理的分析:
图1.
图2.
从上图可以看出,对应的转换是通过,几何立体图形的计算得出来的。
相关文章推荐
- QT5 OPenGL(一)
- 终于配置好了Mac上的QT
- Qt5布局管理(三)——QStackedWidget堆栈窗口类
- QT 智能提示设置
- qt5使用mysql
- PyQt4开关按钮ToggleButton
- Qt回忆录之配置开发环境
- Qt的信号和槽是如何工作的
- VS集成Qt环境搭建
- Qt Creator管理多个项目
- PyQt4单选框QCheckBox
- tq2440编译ARM版本的Qt4出错问题解决
- 将Qt 动态链接生成的exe及依赖dll打包方法
- QT学习笔记——“const"
- [Qt入门篇]5 Qt的属性系统——声明属性
- sublime text 2 运行pyqt没有显示
- Qt之模式、非模式、半模式对话框
- Qt之模式、非模式、半模式对话框
- [Qt小知识集锦]QT的5个基础知识,你知道几个
- qt的编译