美文网首页
OpenGL/OpenGL ES(二) 渲染架构

OpenGL/OpenGL ES(二) 渲染架构

作者: 淡定的笨鸟 | 来源:发表于2021-01-18 14:17 被阅读0次

1. 渲染架构图

OpenGL 渲染架构图.png

上图是 OpenGL 渲染的大致架构,从图中我们可以看出,OpenGL 渲染架构分为Client(客户端)Server(服务端),这里的客户端和服务端并不是我们以前认知的,而是

  • Client(客户端):OpenGL 的客户端主要包含 OpenGL 的 API 和 iOS 的其他代码,运行在CPU中。
  • Server(服务端):OpenGL 的服务端主要包含 OpenGL 的底层渲染处理,运行在GPU中。

图中的 Attributes、Uniforms 和 Texture Data 都是 Client 和 Server 之间的数据传输通道,下面分别看看这三个通道的特点

  • Attributes:只能传输到顶点着色器,参数一般为经常发生变动的数据,如:顶点数据、光照坐标、投影矩阵以及纹理坐标(即图片映射坐标,通过顶点着色器桥接给片源着色器)、光照法线等。
  • Uniforms:可以传输到顶点着色器片元着色器,参数一般为不经常发生变动的数据,如统一批次类数据(变换矩阵、颜色值等)。
  • Texture Data:可以传输到顶点着色器片元着色器,一般传输纹理数据,但纹理数据传输给顶点着色器没什么用,所以一般传输给片元着色器。

上图中 Primitive Assembly 的过程译为图元装配,也可以译为光栅化。

以上就是 OpenGL 的渲染流程,当然 OpenGL 提供固定管线,其中的存储着色器已经将上面的步骤封装起来,我们只需知道怎么用即可。接下来我们通过渲染几个 3D 图形的 Demo 来熟悉一下开发及渲染流程。

相关文章

网友评论

      本文标题:OpenGL/OpenGL ES(二) 渲染架构

      本文链接:https://www.haomeiwen.com/subject/opcxzktx.html