网上搜罗各种资料,终于把openGL的环境配置好了,为了让后面的人省事,于是整合出了一个类似于“懒人包”的东西,非常好弄,按照下面的教程来就好了,什么都不缺

一、事前准备

  • 一块主流显卡(最好是独显)
  • Visual Studio IDE(最好是2017以上版本,本人是2019)

应该都没问题

二、下载完整配置包

链接&提取码:u8d3,解压后暂时先仅考虑以下3个文件夹和一个文件,还有一些其他的文件等学到后面再用也不迟

其中 include 文件夹中的内容放入文件夹

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include

lib 文件夹中的内容放入文件夹

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\lib\x86

dll 文件夹中的内容放入文件夹

C:\Windows\SysWOW64

注意以上是64位系统的放置方法,32位系统类比

三、最后准备

创建一个空项目,之后菜单 → 管理 NuGet 程序包

搜索 glfw 下载如下的这一个

最后将上面的 glad.c 放入源文件中,如下:

四、测试

搞定,现在可以随便去网上找示例代码测试了,一个可以运行的例子如下:

注意如果是copy别的地方的代码,要修改头文件的路径!!!

#include <openGL/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>
using namespace std;void framebuffer_size_callback(GLFWwindow* window, int width, int height);
int main()
{glfwInit();//glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);//glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);//glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);if (window == NULL) {cout << "Failed to create GLFW window" << endl;glfwTerminate();return -1;}glfwMakeContextCurrent(window);if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {std::cout << "Failed to initialize GLAD" << std::endl;return -1;}glViewport(0, 0, 800, 600);glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);while (!glfwWindowShouldClose(window)) {glfwSwapBuffers(window);glfwPollEvents();}glfwTerminate();return 0;
}void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{glViewport(0, 0, width, height);
}

另一个glut的例子:


#include <iostream>
#include <opengl/freeglut.h>//freeGLUT窗口库/*** 渲染回调函数*/
void RenderScenceCB()
{// 清空颜色缓存glClear(GL_COLOR_BUFFER_BIT);// 交换前后缓存glutSwapBuffers();
}/*** 主函数*/
int main(int argc, char **argv)
{// 初始化GLUTglutInit(&argc, argv);// 显示模式:双缓冲、RGBAglutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);// 窗口设置glutInitWindowSize(1136, 640);      // 窗口尺寸glutInitWindowPosition(100, 100);  // 窗口位置glutCreateWindow("20200414-01");   // 窗口标题// 开始渲染glutDisplayFunc(RenderScenceCB);// 缓存清空后的颜色值glClearColor(0.6f, 0.7f, 0.3f, 0.0f);// 通知开始GLUT的内部循环glutMainLoop();return 0;
}

五、注意事项

glad 如果有问题可以自己生成:glad在线网站

部分选项如上填写,其中 gl 版本选择3.3以上即可,其它都不用管,然后生成一下就ok

关于电脑自带的openGL的版本:

查询方法:打开文件C:\Program Files (x86)\Windows Kits\10\Include\10.0.xxxxx.0\um\gl\GL.h

里面有一行:#define GL_VERSION_1_1 1,这里就可以看出 openGL 的版本

截止到 2017 年 9 月,openGL 已经发布了 4.6 版本,然而 Windows 系统对 OpenGL 的支持只局限于1.1版本以下,这样的话理论只能使用一些老函数,超过 1.1 版本的新函数都无法使用,更何况从3.0版本开始,OpenGL就已经摒弃了早期版本的固定管线,升级到了现代OpenGL,但是没关系,我们可以更新显卡驱动,并且还有一些类似于 glew 的扩展库来帮助我们,让我们能够使用新的函数,尽管在使用上有着略微的区别

六、glew、glad、glut、glfw 的一句话介绍

  • glew:是对底层 OpenGL 接口的封装,可以让你的代码跨平台
  • glad:和 glew 作用相同,glew 的升级版
  • glut:处理 OpenGL 程式的工具库,负责处理和底层操作系统的呼叫以及I/O
  • glfw:glut 的升级版

OpenGL环境配置(超全整合版)相关推荐

  1. Mac版OpenGL环境配置

    前段时间图形学要求在电脑上配置OpenGL环境,但是老师发的资料都是Windows的.CSDN上看了无数个帖子也没配好,最后是看朋友推的一个B站视频配好的. 以下是原链接:[Mac搭建OpenGL开发 ...

  2. 深度学习环境配置超详细教程【Anaconda+PyTorch(GPU版)+CUDA+cuDNN】

    深度学习环境配置 入门深度学习,首先要做的事情就是要搭建深度学习的环境.不管你是Windows用户,Mac用户还是Ubuntu用户,只要电脑配置允许,都可以做深度学习,毕竟Windows.Mac和Ub ...

  3. 图解VC++ opengl环境配置和几个入门例子

    VC6下载 http://blog.csdn.net/bcbobo21cn/article/details/44200205 demo工程和glut库下载 http://pan.baidu.com/s ...

  4. VS2010/VS2012/VS2015下openGL环境配置(转)

    按:按照下述博文,三个例子均成功. https://blog.csdn.net/so_geili/article/details/51685005 请仔细阅读每一个字. 为了学习<OpenGL超 ...

  5. OpenGL 环境配置教程-库文件汇总【glfw/glew/glad/glm/std_img】

    OpenGL的环境配置是最让初学者头疼的事情了,主要是一开始链接什么glfw.glad,不知道有什么用,什么链接库.包含目录很头大,有一步做错就可能一大堆报错. 本文对LearnOpenGL CN教程 ...

  6. 树莓派Raspberry Pico RP2040 开发环境配置完全缝合终极版C-SDK

    树莓派Raspberry Pico RP2040 开发环境配置骨灰版 总览目录 树莓派Raspberry Pico RP2040 开发环境配置骨灰版 前置说明 0.1 关于调试使用的Debugger ...

  7. node.js安装及环境配置超详细教程【Windows系统安装包方式】

    文章目录 Step1:下载安装包 Step2:安装程序 Step3:查看 Step4:环境配置 最后补充: Step1:下载安装包 https://nodejs.org/zh-cn/download/ ...

  8. CososJS学习笔记(1) 环境配置(填坑版,让你少走弯路!)

    这段时间比较了国外的phaser.pixi.create等h5游戏框架以及国内的egret.cocosjs之后,最后还是决定使用cocosjs进行h5游戏的开发. 先简单地说一下个人的观点:首先pix ...

  9. Android + Eclipse + PhoneGap 2.9.0 安卓最新环境配置,部分资料整合网上资料,已成功安装....

    前言:最近心血来潮做了一个以品牌为中心的网站,打算推出本地服务o2o应用.快速开发手机应用,最后选择了phonegap,这里我只是讲述我安装的过程,仅供大家参考. 我开发的一个模型http://www ...

最新文章

  1. 一文带你了解 MySQL 中的各种锁机制!
  2. 如何提高营销型网站与搜索引擎之间的信任度?
  3. 51中断编程c语言,[新人求指教]51C语言编程可否用中断令循环结束提早结束
  4. CentOS下rsync数据同步备份
  5. 解决WORD文档无法显示链接的图像问题
  6. git命令——git commit
  7. HTML a 标签的伪类
  8. c语言课后题答案83,C语言练习试题和答案
  9. 淘宝客、返利机器人详细解读(个人理解)
  10. 上位机和下位机的区别是什么
  11. 微信公众号推送模板消息(三):获取关注者列表 openid
  12. HTML meta 标签
  13. 酷Q自动升级失败的可能解决方法
  14. docker-compose 部署shipyard
  15. 论“期权股”的财富经 !!!
  16. 海思开发板学习记录2----- 开发板配置tftp 服务
  17. 金堂五月花计算机学校招聘,2019年成都市金堂五月花学校招生简介
  18. ZG前端学习系统day11 2020-11-16
  19. 你的眼中满是“变量”,可“变量”眼中是无相(Python)(Java与Python学习通法)
  20. 也说对程序语言的认识

热门文章

  1. 专科python应届生工资多少-请问学过一点python,应届生怎么找工作?
  2. python入门教程(非常详细)-菜鸟学Python入门教程大盘点|7个多月的心血总结
  3. python3入门代码-Python3入门(三)——Python基础语法
  4. python3.8.5-Python 3.8.5 正式发布
  5. 语音识别论文.doc
  6. BMP 转 YUV (BMP2YUV)
  7. android skype 无法用蓝牙耳机,Skype发布更新 增加蓝牙耳机稳定性
  8. java 线程 内部_从Java中的main()内部在线程实例上运行wait()
  9. Helm 3 完整教程(十一):Helm 函数讲解(5)日期函数
  10. java 合并对象中属性_Java2个对象形集合按某一个属性合并