QT 配置freeglut

本文介绍了如何在Windows环境下配置QCustomPlot以支持OpenGL,重点是启用Qt的OpenGL模块并使用开源且维护的freeglut库替代过时的GLUT。作者提供了MSVC版本freeglut的安装步骤和库文件结构,以及一个简单的测试demo。
摘要由CSDN通过智能技术生成

QT windows配置 freeglut

qcustomplot支持opengl绘制,然后我们开启qcustomplot的opengl。不过需要开启QT的opengl模块,同时需要安装glut库,由于GLUT的作者已经很久没更新了(最后更新于2001年!)所以其他人另外做了一个接口兼容GLUT的freeglut库,开源而且一直在维护中。freeglut是glut的超集,支持glut所有的api,跨平台(MS-Win,Linux,Mac OS均支持),并且有长期维护,十分可靠。所以我们继续修改代码让其支持opengl能够利用显卡加速的功能。

Windows 下安装

  1. 需要glut库的请下载 glut-3.7.6-bin.zip (GLUT for Win32 dll, lib and header file )(已经十几年没更新过了所以就是这个版本了!)
    下载地址:
    链接: glut库下载链接

  2. freeglut库里面有两个版本,都包含32和64位的,根据Qt的配置自己选择:
    下载地址:
    链接: freeglut库下载链接
    Visual Studio:freeglut 3.0.0 MSVC Package
    MinGW :freeglut 3.0.0 MinGW Package

库文件说明

我下载的是MSVC版本的freeglut库,解压后文件如下:
在这里插入图片描述
在这里插入图片描述

因为我的环境是QT5.14.2 MSVC版本,所以我们拿怎么配置MSVC版本的freeglut库来演示,需要注意的是,MINGW版本与这个一摸一样。
1. bin文件夹存放的是dll动态库文件
2. include 文件夹存放的是库文件的头文件
3. lib文件夹存放的是lib静态文件
在bin和lib文件下包含一个X64子文件夹,在其里面存放的是freeglut的64位库文件,而外层存放的是32为库文件,需要根据你的QT编译器是32位,还是64位合理使用。我的是32位MSVC编译器,库工程加载其过程如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
下一步确定后,就加载完成了。

测试demo

现在我们写一段代码,证明我们加载正确

#include <windows.h>
#include <GL/glut.h>
void init(void)
{
  glClearColor(1.0, 1.0, 1.0, 0.0);
  glMatrixMode(GL_PROJECTION);
  gluOrtho2D(0.0, 200.0, 0.0, 160.0);
}
void lineSegment(void)
{
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(1.0, 0.0, 0.0);
  glBegin(GL_LINES);
  glVertex2i (180, 15);
  glVertex2i (10, 145);
  glEnd();
  glFlush();
}

int main(int argc, char *argv[])
{
//    QApplication a(argc, argv);
//    MainWindow w;
//    w.show();
//    return a.exec();

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowPosition(50, 100);
    glutInitWindowSize(400, 300);
    glutCreateWindow("Example OpenGL Program");
    init();
    glutDisplayFunc(lineSegment);
    glutMainLoop();

    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值