OpenGL渲染架构
了解OpenGL渲染架构

-
client
和server
并不是我们平时开发时常说的客户端和服务器。client
具体是我们iOS
代码和OpenGL
API代码,server
是指OpenGL
渲染底层。 - 针对OpenGL底层,只有
Vertex Shader
顶点着色器和Fragment Shader
片源着色器是可以允许我们编程自定义的,Primitive Assembly
组装和Render
渲染是固定的,不可编程的。
OpenGL数据传递方式
我们开发时会将数据传到顶点着色器和片源着色器,即图中的3种方式:
1.Attribute
属性:这类型数据只能传递给顶点着色器,不能传递给片源着色器。常用的数据包括:顶点数据、光照坐标、投影矩阵以及纹理坐标(即图片映射坐标,通过顶点着色器桥接给片源着色器)等。
2.Uniform
:统一的批次类数据,一些不常修改的数据。比如:变换矩形、颜色值等。Uniform既可以给顶点着色器也可以给片源着色器。
3.Texture Data
纹理数据:既可以给顶点着色器也可以给片源着色器。但是传递给顶点着色器意义并不大,顶点着色器的主要作用并不是处理纹理数据,而是处理顶点相关数据。纹理数据应该是片源着色器处理。
网友评论