您的位置:首页 > 移动开发 > Unity3D

Unity shader 入门之渲染管线

2016-03-21 17:56 1141 查看

一、什么是渲染管线

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



二、渲染管线细分

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

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

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



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

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



5、像素处理:对每个像素区域进行着色、对像素贴上贴图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: