OpenGL Qt环境配置

#opengl/环境配置#

我的工作环境是 win64 vs2015 Qt-msvc-2015-64 glfw gl3w。

第一步肯定是下载库文件,头文件。

glfw配置

从官网下载包,下载完后,解压并打开文件夹。注意下载的库是64还是32位的。

https://www.glfw.org/download.html

得到如下的文件夹,其中,头文件在include文件夹里,而我所需要的库文件在lib-vc2015里。

我为了方便管理,在C盘,创建了一个Tools/OpenGL文件夹,在这个文件夹里,创建了glfw文件夹存放相关文件。把刚才解压的include文件夹和lib-vc2015文件夹复制到这里来。

转到qt里,在qt的pro文件里,添加

# opengl glfw
INCLUDEPATH += C:/Tools/OpenGL/glfw/include
DEPENDPATH += C:/Tools/OpenGL/glfw/includeLIBS += -lOpenGL32
LIBS += -LC:/Tools/OpenGL/glfw/lib-vc2015 -lglfw3dll

注意:一定要链接OpenGL32.lib,不然会报错。

最后,把lib-vs2015里的dll后缀文件,给放入qt编译生成的exe同级目录下就可以了。

gl3w配置

gl3w同理,从git上下载下来,GitHub - skaslev/gl3w: Simple OpenGL core profile loading。

下载源码,并解压。如果已经配置了python的话,直接点击gl3w_gen.py就可以下载src内容。下图是运行过python后的内容。

照葫芦画瓢,在C:/Tools/OpenGL下面创建个gl3w文件夹,把include内容复制进去,如果不放心,src也可以复制进去。

其实src里面只包含了一个gl3w源文件,两个测试文件。

在qt pro文件里,添加:

#opengl gl3w
INCLUDEPATH += C:/Tools/OpenGL/gl3w/include
DEPENDPATH += C:/Tools/OpenGL/gl3w/include

最后,把src里的gl3w.c文件,拷贝我们qt工程的目录下,并添加进项目。至此配置已经完成。

测试

测试来源于gl3w的glfw_test.c文件。如果出现了画面,那么就配置成功了。

#include <QCoreApplication>
extern "C" {#include <GL/gl3w.h>
#include <GLFW/glfw3.h>
#include <stdio.h>
#include <stdlib.h>
}static int width = 600, height = 600;static float randf() { return (float)rand() / ((float)RAND_MAX + 1); }static void display(GLFWwindow* window) {glClearColor(randf(), randf(), randf(), 1.0f);glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glfwSwapBuffers(window);
}static void reshape(GLFWwindow* window, int w, int h) {width = w > 1 ? w : 1;height = h > 1 ? h : 1;glViewport(0, 0, width, height);glClearDepth(1.0);glClearColor(0.0f, 0.0f, 0.0f, 0.0f);glEnable(GL_DEPTH_TEST);
}int main(int argc, char** argv) {QCoreApplication a(argc, argv);GLFWwindow* window;glfwInit();glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);window = glfwCreateWindow(width, height, "cookie", NULL, NULL);glfwSetFramebufferSizeCallback(window, reshape);glfwSetWindowRefreshCallback(window, display);glfwMakeContextCurrent(window);if (gl3wInit()) {fprintf(stderr, "failed to initialize OpenGL\n");return -1;}if (!gl3wIsSupported(3, 2)) {fprintf(stderr, "OpenGL 3.2 not supported\n");return -1;}printf("OpenGL %s, GLSL %s\n", glGetString(GL_VERSION), glGetString(GL_SHADING_LANGUAGE_VERSION));while (!glfwWindowShouldClose(window)) {display(window);glfwPollEvents();}glfwTerminate();return a.exec();
}

OpenGL Qt环境配置相关推荐

  1. OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程

    OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程 大部分 OpenGL 是直接面向设备商的,如果开发者需要使用 Open ...

  2. QT环境配置:QT5.8.0与VS2013环境配置

    QT环境配置:QT5.8.0与VS2013环境配置 1.下载VS2013,QT5.8.0,qt-vs-tools-msvc2013-2.1.1. 1)VS2013版本为:Visual Studio U ...

  3. Assimp + VSCODE + OpenGL + MinGW 环境配置全攻略

    最近在 LearnOpenGL CN 上学习时遇到了一个究极大困难. LearnOpenGL CN Assimphttps://learnopengl-cn.github.io/03%20Model% ...

  4. C# + opengl + Tao 环境配置

    基本配置 下载 Tao库 freeglut.dll 在项目中引用 测试代码 备注 基本配置 参考链接OpenGL C#绘图环境配置 下载 Tao库 下载tao库: https://sourceforg ...

  5. OpenGL的环境配置

    第一步下载glad以及glfw 点击下载glad 选择核心模式 版本选择3.3以上的 点击下载glfw 根据系统下载32位还是64位 两个包下载解压出来之后就是这个样子 打开VS新建一个空项目 右键项 ...

  6. OpenCV/CUDA/Qt 环境配置小结

    OpenCV Qt CUDA windows环境下 配置 反复装过几次,每次都网搜攻略:自个做个记录 方便以后使用. 碰到OpenCV各种奇怪的错误 先看看 图片imread() 有没有读空 再找其他 ...

  7. linux下opengl开发环境,Ubuntu 16.04 OpenGL 开发环境配置指南

    在 Visual Studio Code 中撰写一段测试程序 // test.c /* light.c 此程序利用GLUT绘制一个OpenGL窗口,并显示一个加以光照的球. */ /* 由于头文件gl ...

  8. OpenGL(预备篇3)---OpenGL编程环境配置 vs2017篇---GLM---(自己动手系列)

    什么是GLM,有什么用? OpenGL Mathematics (GLM). 看样子这是一个OpenGL的数学库.在OpenGL编程中用处很大,可以下载来用用. 幸运的是,这个不用编译,下载后解压了就 ...

  9. Windows 下的 OpenGL 开发环境配置(GLFW+GLAD)

    引言 最近在读 Unity 4.3 的源码,研究到 Unity 集成的物理引擎 PhysX 和 Box2D 部分,接下来还要研究渲染引擎方面的东西,想着直接倒腾一下,自己集成一遍写个小 demo .当 ...

  10. OpenGL 开发环境配置

    From: http://www.cnblogs.com/kesalin/archive/2009/09/08/1562499.html OpenGL 下有一些重用的辅助库,比如glut,glee,g ...

最新文章

  1. Node.js 全局对象
  2. RabbitMQ学习总结(4)——分发任务在多个工作者之间实例教程
  3. 【自由随想录(一)】
  4. Nginx 配置文件 nginx.conf 详解
  5. SQVI和SAP查询QUERY的区别和使用注意事项
  6. 出席全球数字经济大会 第四范式助力打造中国数字经济“北京样板”
  7. 【Python基础】一文理解Python集合,17个方法全解,看完就够了
  8. docker mysql主从_使用docker 实现MySQL主从同步/读写分离
  9. mysql innodb 写锁_MySQL-InnoDB-锁
  10. 可以编写html的文件吗,我可以使用HTML5/JS编写文件吗?
  11. vc通过ADO连接sql server 2000的核心代码
  12. JSLint突然报告:使用“使用严格”功能形式
  13. Python MySQL入门连接
  14. OD调试2----破解序列号验证程序
  15. 随机信号分析学习笔记(1)
  16. 学习笔记10-Python图像批量处理(对比度、灰度)-内含代码可实现
  17. FPGA设计之门控时钟
  18. 基于jquery的bankInput银行卡账号格式化
  19. 两张显卡在win10上如何使用
  20. java实现上位机与下位机串口通信

热门文章

  1. idea将项目上传到SVN
  2. springboot毕业设计 基于springboot房产中介预约看房系统毕业设计设计与实现参考
  3. html毕业答辩ppt,毕业答辩ppt
  4. SAS入门(一)理论篇
  5. 网易云音乐直链提取及下载
  6. 10个宝藏级编程资源
  7. DO280介绍红帽OPENSHIFT容器平台--管理OpenShift与课外补充
  8. 计算机黑屏闪光标,电脑开机黑屏只有光标在闪的解决方法
  9. 金融量化之华泰多因子估值类显著性和IC值计算
  10. rdkit Recap、BRICS分子片段拆分与合成