• Windows平台下Qt QOpenGL中glutSolidSphere()方法未定义的解决方法


    Windows平台下Qt中glut库的使用

        用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符,就是说没有这个函数的声明。接下来就来安装glut库:

        1.先下载glut库http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

        2.将下载下来的文件解压,将glut32.lib和glut.lib两个lib文件移到qt目录下的./lib文件夹中。

        3.将glut.dll和glut32.dll两个动态链接库移到C:windowssystem32中。

        4.将glut.h文件移到qt目录下的includeQtOpenGL中,并建立glut文件(不要后缀),这样就将glut安装好了,切换到在自己的程序中,在myGLWidget.cpp(QGLWidget派生类的cpp)加入“#include<glut>”,这样就可以使用glut中的函数了。

    方法步骤4中,建立glut文件的过程,是这样的:在qt目录下的includeQtOpenGL目录下,新建一个txt文件,里面输入代码:#include “glut.h”,然后把该txt文件的名字重命名为glut,注意这个地方不需要加后缀。另外需要特别注意的是,虽然我们把glut.h文件放入在qt目录下的includeQtOpenGL下,且我们也在GLWidget.cpp中也加入了头文件#include<QtOpenGL>,但是因为QtSDK库编译的原因,我们在GLWidget.cpp中仍然需要添加#include<glut>语句才行。

    既然上面提到了gluPerspective()对结果的影响很大,那么就很有必要了解该函数。在NeHe等人的教程中,该函数使用其各个参数设置为如下:

    gluPerspective( 45.0, (GLfloat)width/(GLfloat)height, 0.1, 100.0 );

    该函数是设置场景的透视效果的,所谓透视,可以简单的理解为越远处的物体看起来越小。所以这里的参数1,2,3表示的是透视是按照基于窗口宽度和高度的45度视角来计算的,参数0.1和参数100是我们场景中所能绘制深度的起点和终点值。

  • 相关阅读:
    关于上传组件
    二分查找的时间复杂度
    commander.js
    执行上下文
    谷歌插件开发
    网站性能
    日记
    <<人间失格>>阅读
    Node.js 应该用在什么地方
    浅谈前后端分离与实践 之 nodejs 中间层服务
  • 原文地址:https://www.cnblogs.com/jiangxin/p/3441579.html
Copyright © 2020-2023  润新知