LearnOpenGL CN学习笔记1-准备工作

LearnOpenGL CN学习笔记1-准备工作

  • OpenGL简介
  • 第三方依赖库
    • GLFW库
    • GLAD库

OpenGL简介

1、OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。
OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者自行决定(译注:这里开发者是指编写OpenGL库的人)。
2、OpenGL库 是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。
实际的OpenGL库的开发者通常是显卡的生产商。
3、OpenGL分为 立即渲染模式(Immediate mode,也就是固定渲染管线)和 核心模式(Core-profile)。OpenGL3.3及以上就支持 核心模式(Core-profile)了。

查看window系统下,OpenGL的版本号,需要安装测试工具软件GPU_Caps_Viewer。
Mac os 系统下,查看OpenGL的版本号,先查看系统版本,然后在下面网站对比获得。
https://support.apple.com/zh-cn/HT202823

4、OpenGL自身是一个巨大的状态机(State Machine)

首先通过设置选项和操作缓冲改变OpenGL的各种状态。修改状态后,通过使用当前上下文(context)来渲染。

5、OpenGL常见工作流:

1、创建对象,保存在id中。
2、将对象绑定至上下文。
3、设置当前上下文的状态。
4、解绑对象。
5、开始新的一轮状态设置,创建对象。。。。

第三方依赖库

GLFW库

GLFW库的主要功能如下:(简化应用OpenGL的成本)

1、创建窗口
2、定义OpenGL上下文
3、处理用户输入

具体获得方式,可以下载编译好的库,也可以自己通过源码和CMAKE编译,然后编运行sln文件,编译生成即可。这个很类似ogre。
GLFW官网下载地址如下:
https://www.glfw.org/download.html

GLAD库

由于开发者在调用 OpenGL库中函数时,使用的代码非常复杂,很繁琐,而且,需要对每个可能使用的函数都要重复这个过程。GLAD库 就是用于解决这个麻烦的。
GLAD使用了一个在线服务,可以定制自己的 GLAD库。
打包下载就是2个头文件和一个glad.c的文件。放入项目中就可以了。

GLAD 在线服务地址如下:
http://glad.dav1d.de/

——准备工作已经完成,开始搭建自己的OpenGL引擎吧!——

参考文件:
https://learnopengl-cn.github.io/
https://learnopengl-cn.github.io/01%20Getting%20started/01%20OpenGL/
https://learnopengl-cn.github.io/01%20Getting%20started/03%20Hello%20Window/

你可能感兴趣的:(笔记,OpenGL)