Untiyshader基础概念

1.渲染流水线
应用阶段->几何阶段->光栅化阶段

应用阶段输出渲染所需几何信息->渲染图元(点线三角面等)

几何阶段在GPU上进行

光栅化阶段对上一阶段得到的逐顶点数据进行插值

起点为CPU,在应用阶段把数据加载到显存中,设置渲染状态,调用DrawCall

DrawCall即为一个命令,从CPU发起,到GPU接收。此命令仅仅指向一个需要被渲染的图元列表,不包含任何材质信息。

调用DrawCall命令GPU进行渲染,DrawCall过多会影响帧率,原因是会造成CPU过载,而GPU的渲染速度是超过CPU提交命令能力。

减少DrawCall:避免使用大量很小的网格,不可避免时考虑合并形成图集。避免使用过多材质,尽量在不同的网格之间共用同一个材质。

LOD(Level of detail)多层次细节 LOD技术可有效减少计算的复杂度

HDR(Hight Dynamic Range)高动态范围,相对的为LDR,采用HDR不会丢失高亮度区域的颜色值,提供了更真实的光照效果,并为屏幕后处理提供更多的控制能力。缺点就是使用浮点缓冲存储高精度图像,耗费更大的显存空间且渲染速度变慢,一些硬件也不支持HDR。

PBS(Pyhsically Based Shading)基于物理着色

2.GPU渲染流水线
从几何阶段到光栅化阶段分为更小的部分

几何阶段-> 三角形设置,三角形遍历,片元着色器,逐片元操作

顶点数据->几何阶段->光栅化阶段->屏幕图像

光栅化阶段-> 顶点着色器,曲面细分着色器,几何着色器,裁剪

3标准光照模型
环境光-自发光-漫反射-高光反射-逐像素or逐顶点

渲染顺序很重要,在透明度混合技术中,需关闭深度写入,不关闭深度写入会导致本来需要看到的表面被剔除,破坏了深度缓冲的工作机制

光源属性常有位置,方向,颜色,强度,衰减

4基础纹理
凹凸映射->高度纹理,法线纹理

单张纹理-凹凸映射-渐变纹理-遮罩纹理

5渲染路径
分为前向,延迟(新代替旧),顶点照明(已被unity抛弃)

文章目录
,