OpenGL学习笔记-1:菜鸟入门基础

一、什么是OpenGL?

  OpenGL是我们用来操作图形图片等所使用的API,但是其本身并不是API,而是Khronos Group开发维护的一个规范。Opengl定义了每个函数的入参和出参,具体实现的细节大多数是由显卡厂商完成。

二、OpenGL的两种模式

  OpenGL有两种模式:

  (1)immediate mode 立即渲染模式

      该模式是一种简单的绘图方式,学习简单,但是效率低,大多数功能都在库中,开发者计算的自由没有那么灵活。

  (2)core profile 核心模式

      该模式灵活高效,但是学习起来比较难,开发者要懂图形编程。

三、OpenGL本身是个大的状态机

  当我们使用OpenGL的时候,我们会设置一些选项,操作一些缓冲,然后使用当前的环境去渲染。

四、OpenGL窗口库

  因为每个操作系统的窗口不同,所以OpenGL把窗口管理给抽象出去了,我们可以通过一些库来帮助我们创建窗口。

  (在windows平台,我们也可以使用GLU(OpenGL Utility library),叫做OpenGL工具函数库,自己把windows窗口改成opengl的窗口。)

  一些常见的OpenGL窗口库。

  (1)GLFW  轻量级的OpenGL框架,C语言开发,支持OpenGL和OpenGL ES,支持linux和windows跨平台。

  (2)GLUT   全称 OpenGL Utility Toolkit,这部分函数以glut开头,版本较老。

  (3)FreeGlut 是glut的一个开源库,版本稳定,可以直接替代glut

    FreeGlut和GLFW的区别:FreeGlut只提供了一种用户输入,即回调函数,而GLFW提供了两种用户输入:回调函数和轮询。

五、OpenGL 和 OpenGL ES 

  OpenGL ES 是OpenGL的一个子集,全称是OpenGL Embedded system ,裁剪了OpenGL的多边形图元。

六、GLFW库编译

    源代码下载:https://www.glfw.org/

    该工程由Cmake构建,需要依赖Cmake来生成工程。

    安装好Cmake后,

    

         

     安装上述步骤后,我们在build文件夹下就可以看到VS的工程 GLFW.sln。可以编译对应的bebug库和release库。

    编译完成后这个路径 build\src\Debug 下会生成  glfw3.lib 库。

 七、GLAD和GLEW

     他们功能类似,都是opengl的扩展库,GLAD相对较新,都提供了跨平台,低版本驱动的动态链接。OpenGL程序的运行需要依赖显卡驱动的libGL库。

 八、GLEW 库下载地址:https://glew.sourceforge.net/

 九、OpenGL各库直接的关系:  

 图来自https://www.cnblogs.com/chencarl/p/10722839.html

 

    

 

     

    

posted @ 2023-05-07 19:41  HappyCoder_1  阅读(431)  评论(0编辑  收藏  举报