环境

系统:Windows10 64位 家庭中文版
IDE:Visual Studio 2017 专业版

参考教程:https://learnopengl-cn.github.io/01 Getting started/03 Hello Window/

步骤

1.获取GLAD:
a.打开GLAD提供的在线服务;
b.将Language设置为C/C++、将Specification设置为OpenGL、API中的gl选项选择Version 3.3(或以上)、Profile设置为Core,并且选中Generate a loader,暂时忽略其他内容,如下图所示,最后点击GENERATE按钮来生成库文件;

c.在跳转后的网页中选择glad.zip下载下来,如下图所示:

d.把下载下来的glad.zip文件解压,就可以得到我们需要的include\glad\glad.h、include\KHR\khrplatform.h和src\glad.c这3个文件。
2.新建Visual Studio项目,把步骤1得到的3个文件都添加到项目中,同时在项目中添加一个main.cpp文件,然后把以下代码复制到main.cpp文件中:

#include <glad\glad.h>   //这个必须放在GLFW之前
#include <GLFW\glfw3.h>#include <iostream> //这个是为了使用打印语句//函数声明
void framebuffer_size_callback(GLFWwindow* window, int width, int height);   //窗口大小设置回调函数
void processInput(GLFWwindow* window);                                       //输入处理函数//常量定义
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;//主函数
int main()
{glfwInit();     //glfw 初始化//设置OpenGL版本等信息glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);//创建GLFW窗口GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);if (window == NULL){std::cout << "Failed to create GLFW window" << std::endl;glfwTerminate();return -1;}//设置当前上下文glfwMakeContextCurrent(window);glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);//把OpenGL的函数指针导入给GLADif (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)){std::cout << "Failed to initialize GLAD" << std::endl;return -1;}//循环渲染while (!glfwWindowShouldClose(window)){processInput(window);//交换缓存glfwSwapBuffers(window);//事件处理glfwPollEvents();}//停止glfwTerminate();return 0;
}//窗口大小设置回调函数
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{glViewport(0, 0, width, height);
}//输入处理函数
void processInput(GLFWwindow* window)
{if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS){glfwSetWindowShouldClose(window, true);}
}

3.编译运行代码,可以得到1个窗口,如下图:

OpenGL学习笔记:GLAD和第一个窗口相关推荐

  1. 现代OpenGL学习笔记二:第一个三角形

    本笔记主要是跟学LearnOpenGL的内容,并将其中一些不懂的地方通过查阅资料进行整理补充,推荐参考原文: 整个教程:https://learnopengl-cn.github.io/ 本笔记参考教 ...

  2. OpenGL 学习笔记 II:初始化 API,第一个黑窗,游戏循环和帧率,OpenGL 默认垂直同步,glfw 帧率

    前情提要: 上一篇: OpenGL 学习笔记 I:OpenGL glew glad glfw glut 的关系,OpenGL 状态机,现代操作系统的窗口管理器,OpenGL 窗口和上下文 OpenGL ...

  3. OpenGL学习笔记(八):进一步理解VAO、VBO和SHADER,并使用VAO、VBO和SHADER绘制一个三角形

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7888 ...

  4. 【OpenGL学习笔记⑧】——键盘控制正方体+光源【冯氏光照模型 光照原理 环境光照+漫反射光照+镜面光照】

    ✅ 重点参考了 LearnOpenGL CN 的内容,但大部分知识内容,小编已作改写,以方便读者理解. 文章目录 零. 成果预览图 一. 光照原理与投光物的配置 1.1 光照原理 1.2 投光物 二. ...

  5. 【OpenGL学习笔记】地月系

    OpenGL学习笔记2-地月系 文章目录 OpenGL学习笔记2-地月系 前言 运行结果 纹理图片 一.TexturePool 1.**TexturePool.h** 2.**TexturePool. ...

  6. 【OpenGL学习笔记⑥】——3D变换【旋转的正方体 实现地月系统 旋转+平移+缩放】

    ✈️ 文章目录 零. 成果预览图 一.3D立方体的顶点数组 二.纹理旋转 三.纹理缩放 四.画n个3D图形 五.轨道的数学公式 六.深度缓冲(Z 缓冲) 七.完整代码 八.参考附录: 神器的正方体 ☁ ...

  7. OpenGL学习笔记:矩阵变换

    文章目录 缩放 glm矩阵表示 glm缩放矩阵实现 位移 齐次坐标 glm位移矩阵实现 旋转 沿x轴旋转 沿y轴旋转 沿z轴旋转 沿任意轴旋转 glm旋转矩阵实现 矩阵的组合 glm矩阵组合使用 接上 ...

  8. OpenGL学习笔记(一):环境搭建、三维空间坐标系理解以及OpenGL的基本使用

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7866 ...

  9. OpenGL学习笔记(十三):将纹理贴图应用到四边形上,对VAO/VBO/EBO/纹理/着色器的使用方式进行总结

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7919 ...

  10. Django:学习笔记(2)——创建第一个应用

    Django:学习笔记(2)--创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...

最新文章

  1. 1004 Counting Leaves (30分) (vector实现)
  2. oracle600错误,oracle在导入数据时报600错误的解决方法
  3. while循环打印*菱形
  4. DNN SEO专题 (收集)
  5. 利用Python爬虫采集mac电脑皮肤
  6. PetShop4.0的安装、设置、调试与体验(草稿)
  7. python 全栈开发,Day81(博客系统个人主页,文章详情页)
  8. tp3.2 执行原生sql
  9. 抓虫记之八:每天崩溃的服务器
  10. 伪C++开发小游戏---连连看
  11. 技术美术知识学习4200:SSAO算法
  12. 小米禁止android系统联网,解决MIUI下新安装应用无法联网的问题
  13. 案例实战|泰坦尼克号船员获救预测(数据预处理部分)
  14. 拼多多电商外部工具(浏览器插件)
  15. python多线程中join()的理解
  16. 提取Windows主题中的图片
  17. CAD保存时,提示 警告 多重从属对象 XXX
  18. C++实战案例之通讯录管理系统
  19. iPhone 将被迫换成 USB-C 接口?苹果,你可怎么办啊......
  20. 《机器学习实战》决策树的应用

热门文章

  1. 如何用excel快速实现“平均值±标准差”
  2. 京都计算机学院放假时间表,2018年官方放假安排时间一览表
  3. 如何在win10桌面便签日历中显示法定节假日安排?
  4. pytorch模型预测
  5. Blender 建模
  6. 登录注册判断+Mysql
  7. java盘古分词_盘古分词-开源中文分词组件 搜索引擎
  8. 数据库实验第七周【集合查询数据更新】
  9. 王者荣耀交流协会-小组互评Alpha版本
  10. 深度学习在OCR中的应用