OpenGL的渲染架构图

OpenGL渲染主架构
OpenGL渲染架构分为客户端(Client)和服务端(Server)。
客户端主要指CPU中运行的代码,包括C/C++代码以及OpenGL的相关代码。
服务端指的是调用GPU芯片。
开发过程中就是不断执行CPU中的代码,通过交互通道传递数据给服务端,间接的驱动GPU。
交互通道
OpenGL提供了三个通道向GPU传递数据,分别是Attributes(属性通道)
、Uniform(统一变量通道)
、Texture Data(纹理通道)
。
Attributes(属性通道)
:只能够向顶点着色器传递数据,不过可以间接的通过属性通道向片元着色器传递数据。主要传递经常变化的数据,如颜色数据,顶点数据,纹理坐标,光照法线等数据。
Uniform(统一变量通道)
:可以向顶点着色器和片元着色器传递数据。通常用来传递不变的数据,如变换矩阵、模型矩阵、平移/旋转/缩放矩阵等。
Texture Data(纹理通道)
:虽然可以向顶点着色器和片元着色器传递数据,但传递到顶点着色器是没有意义的,因为纹理处理主要是在片元着色器中。主要用来传递纹理数据。
网友评论