OpenGL(1)基础知识

一、基础知识

1、什么是OpenGL?

OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范。OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者(通常是显卡的生产商)自行决定。

2、状态机

OpenGL自身是一个巨大的状态机,许多操作都是基于状态的。当你调用OpenGL函数时,你实际上是在设置或查询OpenGL的状态。这些状态包括颜色、纹理、光照、变换矩阵等。一旦设置了这些状态,它们就会持续有效,直到你显式地改变它们。这种基于状态的设计使得OpenGL能够高效地处理图形渲染任务,因为它避免了不必要的重复计算。

3、渲染管线

OpenGL 渲染管线可以看作是一系列数据处理阶段的流水线,每个阶段都会对输入的数据进行特定的处理,并将处理结果传递给下一个阶段,最终生成屏幕上的像素图像。这个过程是高度并行化的,能够充分利用 GPU 的强大计算能力,从而实现高效的图形渲染,流程如下:

  • 顶点着色器:顶点着色器是渲染管线的第一个可编程阶段,主要处理输入的顶点数据。它接收每个顶点的位置、颜色、法线等属性,并对这些属性进行变换和处理。
  • 图元装配:该阶段将经过顶点着色器处理后的顶点组合成图元,如点、线、三角形等。OpenGL 根据指定的图元类型(如 GL_POINTS、GL_LINES、GL_TRIANGLES 等)来进行图元的装配。例如,当指定图元类型为 GL_TRIANGLES 时,每三个顶点会被组合成一个三角形。
  • 几何着色器:几何着色器是一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值