渲染架构如图所示
架构解读
Client与Server
- Client是指常见的iOS代码和OpenGL API方法,这部分是在CPU中运行的,与我们平常开发所说的前端iOS或者android开发不一样,它是指CPU上所存储的代码,我们叫客户端。比如,我们会用到OpenGL的代码,C代码,C++代码;
- Server是指OpenGL底层的渲染等处理,它调用的是GPU芯片,顶点着色器和片元着色器传递颜色,我们会不断的从客户端把数据传到Server,不断的执行起来。总而言之,Client就是我们编写的程序,而Server是计算机图形硬件厂商所提供的OpenGL的实现;
- Server是存储在CPU存储器中的,并在应用程序或者在内存的驱动程序中执行。驱动程序将渲染命令和数据组合起来,发送给服务器执行;
- Server不断的将数据块和命令组合起来送入缓冲区,缓存区会发送到服务器端执行。服务器端将执行这些缓冲区的内容,客户端又做好了下一次发送渲染数据和命令的准备。
Shader:
- 着色器(Shader)是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。主要有Vertex Shader(顶点着色器) 和 Fragment Shader(片段着色器)两种;