美文网首页
UI-Default.shader中_StencilComp与_

UI-Default.shader中_StencilComp与_

作者: 雄关漫道从头越 | 来源:发表于2020-07-11 12:11 被阅读0次

    learnopengl 模板测试
    ShaderLab: Stencil 简书
    ShaderLab: Stencil 官方链接
    CompareFunction 枚举
    StencilOp 枚举

    Stencil(模板测试)处于片元着色器之后,深度测试之前,过程如下:顶点着色器 —> 片元着色器 —> 模板测试 —> 深度测试。模板测试是根据模板缓冲(Stencil Buffer)来进行,通过模板测试来决定是否丢弃该片段。模板测试可以指定比较函数(CompareFunction)来决定当前缓冲的值与引用值的比较方式,同时可以通过指定的操作函数(StencilOp )来决定比较通过后需要做怎样的操作。


    CompareFunction&StencilOp

    Unity内置的UI-Default.shader就使用到模板测试,如下:


    模板属性
    模板测试

    这里Unity使用了两个枚举分别代替比较函数(CompareFunction)和操作函数(StencilOp ):

    CompareFunction
    StencilOp
    所以在UI-Default.shader的属性中的数值代表的函数如下:
    Comparison Functions
    0 - Disabled
    1 - Never
    2 - Less
    3 - Equal
    4 - LEqual
    5 - Greater
    6 - NotEqual
    7 - GEqual
    8 - Always (Default)

    Stencil Operations
    0 - Keep (Default)
    1 - Zero
    2 - Replace
    3 - IncrSat
    4 - DecrSat
    5 - Invert
    6 - IncrWrap
    7 - DecrWrap

    相关文章

      网友评论

          本文标题:UI-Default.shader中_StencilComp与_

          本文链接:https://www.haomeiwen.com/subject/pmgbcktx.html