码迷,mamicode.com
首页 > 编程语言 > 详细

Unity Shader 中各种Tag

时间:2018-05-02 11:11:31      阅读:596      评论:0      收藏:0      [点我收藏+]

标签:amp   引擎   队列   屏幕   color   使用   不能   render   round   

Unity shaderLab中,经常会看到 各种Tag(标签)。这里大致分为两类Tag,SubShader Tag 和 Pass Tag。·

SubShader Tag

 Sub的这些只能是在SubShader中,但是不能再Pass中,我们还能使用material.GetTag 函数查询他们。

Rendering Order - Queue tag

  在3D引擎中,我们经常要对 透明和不透明物体进行排序。先渲染不透明再渲染透明物体,Unity使用 Queue标签,分别放入不同的渲染队列中。

  • Background - 背景,一般天空盒之类的使用这个标签,最早被渲染

  • Geometry (default)  适用于大部分不透明的物体

  • AlphaTest -  如果Shader要使用AlphaTest功能 使用这个队列性能更高

  • Transparent - 这个渲染队列在AlphaTest之后,Shader中有用到Alpha Blend的,或者深入不写入的都应该放在这个队列。

  • Overlay 最后渲染的队列,全屏幕后期的 都应该使用这个

     - this render queue is meant for overlay effects. Anything rendered last should go here (e.g. lens flares).

  

Shader "Transparent Queue Example"
{
     SubShader
     {
        Tags { "Queue" = "Transparent" }
        Pass
        {
            // rest of the shader body...
        }
    }
}

RenderType tag

  RenderType tag可以用自定义的字符串,在使用ShadeReplacement,全局替换渲染的时候有用。

 

Unity Shader 中各种Tag

标签:amp   引擎   队列   屏幕   color   使用   不能   render   round   

原文地址:https://www.cnblogs.com/wbaoqing/p/8979018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!