Unity shader 入门之渲染管线

一、什么是渲染管线

我们可以把它理解为一个流程,就是我们告诉GPU一堆数据,最后得出来一副二维图像,而这些数据就包括了视点、三维物体、光源、照明模型、纹理等元素。 给个图看下吧,如下:

 Unity shader 入门之渲染管线_第1张图片

二、渲染管线细分

主要分为:应用程序阶段、顶点处理、面处理、光栅化、像素处理。下面我们就来具体说说。

1、应用程序阶段:这个比较好理解,比如我们使用unity开始游戏,创建一个物体有,物体要正确显示,需要CPU计算好,物体的顶点坐标、法向量、纹理坐标、纹理等数据,然后传给通过数据总线传给图形硬件。

2、顶点处理:通过一系列的坐标系转换,将模型的顶点在摄像机前进行位移,并最终投影到摄像机的投影屏幕上。转换完了以后再进行些雾化、材质属性、和光照处理等。

 Unity shader 入门之渲染管线_第2张图片

3、面处理:面包括剔除、截取等。剔除包括正面剔除、反面剔除等,剔除是为了效率考虑,不如有些显示不到的面,剔除后的话,不会再进行其它运算了。

4、光栅化:屏幕坐标是浮点数,像素坐标是整数,这里面转换就是光栅化。如下图,你大概也能看出来转换原理了。

Unity shader 入门之渲染管线_第3张图片

 

5、像素处理:对每个像素区域进行着色、对像素贴上贴图。

你可能感兴趣的:(unity,unity,shader)