初学者在初学OpenGL时,很多时候会对OpenGL的渲染架构感到困惑,不清楚它是怎么一个渲染流程,常将Arributes直接传递到片元着色器,或者为了将属性直接传递到片元着色器,而通过uniform传递到片元着色器等,这样的操作都是错误的,OpenGL的数据传输都有明确的届定。下面,我们就来看看OpenGL的渲染架构并了解它的数据传输方式和特点。
- 上面就是OpenGL的渲染架构啦,我们在处理任何图形渲染的时候都是依据它,而基于OpenGL 封装的框架都是也都是遵循这个图的规则。
接下来,我们来解析下这张图,探索图形的渲染架构:
一、Client与Server
这里有两个很重要的端,分别是Client和Server,那它们是不是我们平常开发中具有不同职能能力的客户端和服务端,答案是否定的。
- Client:它与我们平常开发所说的前端iOS或者android开发不一样,它是指CPU上所存储的代码,我们叫客户端。比如,我们会用到OpenGL的代码,C代码,C++代码。
- Server:它调用的是GPU芯片,顶点着色器和片元着色器传递颜色,我们会不断的从客户端把数据传到Server,不断的执行起来。
总的来说,Client就是我们编写的程序,而Server是计算机图形硬件厂商