您当前的位置: 首页 >  unity

Jave.Lin

暂无认证

  • 2浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity Shader - ShaderLab: Pass Tags Pass的Tags标签

Jave.Lin 发布时间:2019-07-06 16:16:49 ,浏览量:2

目录:Unity Shader - 知识点目录(先占位,后续持续更新) 原文:ShaderLab: Pass 版本:2019.1

ShaderLab: Pass

Tags Pass的Tags标签

Pass中使用tags标签可以告诉渲染引擎如果来渲染。

Syntax

语法

Tags { "TagName1" = "Value1" "TagName2" = "Value2" }

指定 TagName1 的值为 Value1,TagName2 值为 Value2。你可以根据你的需求来添加多个tag内容。

Details

Tags 是一个键值对。Pass 的Tags用于控制该Pass在Unity光照管线中的定位(环境光照,顶点光照,像素光照,等等)。注意下面的tags会被Unity识别,这些tags值能在Pass块中定义,不是再SubShader块下。

LightMode tag

光照模型的tag

LightMode tag 定义了该Pass在Unity光照管线的角色定位。查看 render pipeline 了解更多详情。这些tag很少同于手写;通常需要与光照交互的shader才需要添加这些tag,如Surface Shader都处理了这些细节内容。

LightMode的tag对应可能的值:

  • Always:该对象总会被渲染;但没有光照应用。
  • ForwardBase:用于 Forward rendering(正向渲染),环境光,主要的方向光,顶点或是SH球谐函数和静态烘焙光照贴图都应用了。
  • ForwardAdd:用于 Forward rendering(正向渲染);逐像素的叠加光照应用,每个有效的灯光都会调用一次这样的pass。
  • Deferred:用于 Deferred Shading(延迟着色渲染);渲染到G-Buffer。
  • ShadowCaster:渲染对象深度到一张shadowmap中或是深度纹理中。
  • MotionVectors:用于计算每个对象的运动向量。
  • PrepassBase:用于 legacy Deferred Lighting(旧版本的延迟光照渲染),渲染法线和高光指数。
  • PrepassFinal:用于 legacy Deferred Lighting(旧版本的延迟光照渲染),渲染最终的纹理,光照,自发光的组合颜色。
  • Vertex:用于 legacy Vertex Light rendering(旧版本的顶点光照渲染),当对象不使用静态的光照烘焙贴图时使用;所有顶点光照都会应用。
  • VertexLMRGBM:用于 legacy Vertex Lit rendering (旧版本的顶点光照渲染),当对象是使用了静态光照烘焙贴图时使用;该静态光照烘焙贴图使用RGBM编码(PC 和 游戏主机平台使用)。
  • VertexLM:用于 legacy Vertex Lit rendering(旧版本的顶点光照渲染);当对选哪个使用了静态光照烘焙贴图时使用;静态光照烘焙贴图使用double-LDR编码(移动平台使用)。
PassFlags tag

一个pass可以指定一个标记,告诉 rendering pipeline (Unity渲染管线)如何传递数据给该pass。这可以通过PassFlags来完成,使用一个用空格分隔的flag名称。当前支持的flags有(官方提供的连接都看了,看到最后又倒回了这个页面,没有说明这个PassFlags是哪个,而且下面哪个flags也没有以空格来分开啊,真的无语了):

  • OnlyDirectional:用于ForwardBase类型的pass,这个flag会让unity只会将主要的方向光和环境光/光探针数据传入该shader中。这意味着non-important非重要的光照数据是不会被传入顶点光照或是球谐函数的shader变量中的。查看 Forward rendering 了解更多详情。
RequireOptions tag

一个pass可以指定它会在满足某些外部条件时才被绘制渲染用。这可以使用 RequireOptions tag来完成,值是一个使用空格分隔的字符串。当前支持的有:

  • SoftVegetation:pass的渲染仅在 Quality 窗口中的 Soft Vegetation 开启时。
See Also

SubShader也可设置Tags,查看 SubShader Tags。

关注
打赏
1664331872
查看更多评论
立即登录/注册

微信扫码登录

0.0387s