OpenGL学习笔记(一)概念了解

  OpenGL一般被认为是一种API(Aplication Programming Interface),包含了一系列可以操作图形、图像的函数。但实际上它是一种规范,它严格规定了每个函数该如何执行以及它们的输出值。

  OpenGL就是一个大状态机,它通过一些状态设置的函数(State-changing Function)来改变上下文(context),通过状态使用的函数(State-using Function)根据当前状态执行操作。

  OpenGL的内核是一个C库,引入了“对象(Objection)”,它代表OpenGL状态的一个子集,可以把对象看做一个C风格的结构体(Struct)。

   在绘制之前,我们首先要做的就是创建一个OpenGL上下文(Context)和一个用于显示的窗口。然而,这些操作在每个系统上都是不一样的,freeglut、glut、glew、glfw这些库节省了我们书写操作系统相关代码的时间,可以用来显示窗口,管理用户输入,简化获取函数地址的过程。

Freeglut是一个OpenGL的工具库,它封装了各个平台初始化窗口的过程,开发者可以调用这个库中的初始化函数来创建上下文。

Glfw是一个针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口,它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入。

不同的显卡公司,也会发布一些只有自家显卡才支持的扩展函数,你要想用这函数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。 

 glut或者freeglut主要是1.0的基本函数功能;glew是使用OPENGL2.0之后的一个工具函数。

https://blog.csdn.net/liu798675179/article/details/53240655

https://blog.csdn.net/qq_33276623/article/details/51424014

https://learnopengl-cn.github.io/

https://www.cnblogs.com/MenAngel/p/5626309.html

https://blog.csdn.net/hbtj_1216/article/details/54669500

https://blog.csdn.net/timso1997/article/details/79656976

http://dev.yesky.com/333/2399833.shtml

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