OpenGL

OpenGL 渲染管线流程解析

2019-05-15  本文已影响0人  寻常_0

说到渲染流程,我们可以用一张图,清楚的看到渲染的一系列流程。废话不说,看图(图片取自Tobesky的一篇文章)

渲染管线流程
这样图非常重要,处理任何图形渲染,都需要依据这张图的流程。下面我们来细细说明这张图表达的意思。
客户端/ 服务端

Client(客户端)/ Server(服务端。在我们日常开发中手机端称为客户端,后台称为服务端。在这里是要区分开来的。图中虚线分为上下两部分,上半部分是客户端,下半部分为服务端。
客户端是存储在CPU存储器中的,并且在应用程序中执行,或者在主系统内存的驱动程序中执行(我们写的代码,OpenGL 提供的API就是在客户端执行)
服务端驱动程序会将渲染命令和数组组合起来,发送给服务器执行。(在一台典型的个人计算机上,服务器就是实际上就是图形加速卡上的硬件和内存)

着色器

顶点着色器(Vertex Shader)和 Fragment Shader(片元着色器)和图元装配(primitive Assembly)

3种向OpenGL 着色器传递渲染数据的方法

1.属性
2.uniform 值
3.纹理

属性
Uniform值
纹理
输出

在图表中第四种数据类型是输出(out);输出数据是作为一个阶段着色器的输出定义的,二后续阶段的着色器则作为输入定义。

上一篇 下一篇

猜你喜欢

热点阅读