OpenGL渲染架构
主要包含两个模块:
- Client客户端:常见的App代码以及OpenGL相关的调用API代码,该部分通过CPU执行;
- Server服务端:OpenGL底层的着色器渲染等流程,该部分通过GPU执行。
架构分析
- 客户端中通过iOS代码调用OpenGL API中的方法,将图形渲染的相关数据通过通道传递到Server中顶点着色器和片元着色器,并交由GPU处理;
- Server通过与客户端的通道接收传递的数据,并交由相应着色器进行渲染处理,并将最终的结果渲染到屏幕上。
数据传递方式
- Attributes
- Uniform
- Texture Data
通道名称 | 说明 | 可传入的着色器 |
---|---|---|
Attributes | 经常发生变动的数据 :顶点坐标、纹理坐标、投影矩阵、模型矩阵等 | 顶点着色器 |
Uniform | 不经常发生变动的数据 | 顶点着色器/片元着色器 |
Texture Data | 纹理数据 | 顶点着色器/片元着色器 |