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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值