Qt下使用glut库

7 篇文章 2 订阅

描述:

Win7 环境下用 mingw 版的Qt 编程时遇到问题的解决方法:

A. 添加windows.h

B. 在 .pro 添加 libs



1、开发环境


操作系统:windows 7

Qt构建套件:qt-opensource-windows-x86-mingw530-5.7.0.exe

Qt Creator版本:4.0.2


2、下载并解压glut库


本人使用的版本下载地址为:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

解压后得到以下五个文件:





3、工程配置


① 解压后,将 glut32.lib glut.lib 两个文件拷贝到qt目录下的 C:\Qt\Qt5.7.0\5.7\mingw53_32\lib文件夹中




② 将glut.dllglut32.dll两个动态链接库拷贝到C:\windows\system32中;

③ 将glut.h 文件拷贝到qt 目录下的 C:\Qt\Qt5.7.0\5.7\mingw53_32\include\QtOpenGL,并建立glut 文件【内容写上#include "glut.h"】,保存为没有后缀名的文件;




④ 修改工程相应的.pro文件,添加:




4、应用

① 在相应的头文件或cpp文件中添加以下文件,就可以直接使用glut*开头的函数了

#include<windows.h>
#include <glut.h>

注:如果是 mingw 编译器,必须添加 windows.h这个头文件,不然编译出来的程序无法运行(vs编译器可以不用加)

②用mingw编译时,会有以下警告:




 可以简单修改 glut.h 头文件



这样再次编译就不会有警告了。

使用mingw 的编译器,会默认定义宏__MINGW32__(VC系列编译器为_MSC_VER


总结:

下载外部库文件,然后为工程添加外部链接库,为相应的文件添加相关头文件


参考:http://www.cnblogs.com/Micheal-G/p/6101094.html



  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在QT使用OpenGL渲染一个OBJ模型,可以按照以下步骤进行: 1. 创建一个QT项目,选择OpenGL窗口模板。 2. 在OpenGL窗口中初始化OpenGLQT的集成,可以使用以下代码: ```c++ void GLWidget::initializeGL() { initializeOpenGLFunctions(); glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glEnable(GL_DEPTH_TEST); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_COLOR_MATERIAL); } void GLWidget::resizeGL(int w, int h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, (double)w / (double)h, 0.01, 100.0); glMatrixMode(GL_MODELVIEW); } void GLWidget::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(0.0f, 0.0f, -5.0f); glRotatef(rotationX, 1.0, 0.0, 0.0); glRotatef(rotationY, 0.0, 1.0, 0.0); drawModel(); } ``` 3. 加载OBJ模型,并将其渲染到OpenGL窗口中,可以使用以下代码: ```c++ void GLWidget::loadModel(QString filename) { model = glmReadOBJ(filename.toStdString().c_str()); glmUnitize(model); glmFacetNormals(model); glmVertexNormals(model, 90); } void GLWidget::drawModel() { if (model != NULL) { glmDraw(model, GLM_SMOOTH); } } ``` 4. 在QT的主窗口中添加一个QPushButton,点击按钮后调用loadModel()函数加载OBJ模型。 ```c++ void MainWindow::on_btnLoad_clicked() { QString filename = QFileDialog::getOpenFileName(this, tr("Open File"), ".", tr("OBJ Files (*.obj)")); if (!filename.isEmpty()) { ui->glWidget->loadModel(filename); } } ``` 5. 运行程序,点击按钮加载OBJ模型并在OpenGL窗口中显示。 以上就是在QT使用OpenGL渲染OBJ模型的基本步骤,需要注意的是,这里使用OpenGL Utility Toolkit(GLUT)和OpenGL Mathematics(GLM)来帮助加载OBJ模型和进行矩阵变换等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值