Unity渲染路径(一)

Unity渲染路径:

渲染路径决定了光照是如何应用到Unity Shader中的;我们需要在每个Pass中告诉Unity它所使用的渲染路径

大多数项目只会使用一种渲染路径,为整个项目设置渲染路径时可以通过设置RenderingPath(不同版本的点击打开路径可能不一样)

Edit → Project Settings → Player → Other Settings → Rendering Path。

当我们希望使用多个渲染路径时,可以设置摄像机的Rendring Path 以覆盖 Project Settings中的设置;需要注意的是如果当前的显卡无法支持所选择的渲染路径,Unity会自动使用更低一级的渲染路径。

完成以上设置就可以在Pass中使用标签来指定该Pass的渲染路径

在Shader中设置渲染路径

Pass{

  Tags {"LightMode" = "ForwardBase"}

}                                                                                                                  LightMode 标签支持的渲染路径设置选项

标签名 描述
Always 不管使用哪种渲染路径,该Pass总会被渲染,但不会计算任何光照
ForwardBase 用于前向渲染。该Pass会计算环境光、最重要的平行光、逐顶点/SH光源 和Lightmaps
ForwardAdd 用于前向渲染。该Pass会计算额外的逐像素光源,每个Pass对应一个光源
Deferred 用于延迟渲染。该Pass会渲染G缓冲区
ShadowCaster 把物体的深度信息渲染到阴影映射纹理或一张深度纹理中
PrepassBase 用于遗留的延迟渲染。该Pass会渲染法线和高光反射的指数部分
PrepassFinal 用于遗留的延迟渲染。该Pass通过合并纹理、光照和自发光来渲染得到最后的颜色
Vertex、VetexLMRGBM 和VertexLM 用于遗留的顶点照明渲染

指定渲染路径的作用:如果我们在一个pass中使用一些光照变量,但这些光照变量因为没有通过指定的关照路径处理,很可能所得到的值是错误的。

posted @ 2023-01-10 11:10  江小明Moon  阅读(103)  评论(0编辑  收藏  举报