美文网首页
Shader学习——渲染顺序,混合命令

Shader学习——渲染顺序,混合命令

作者: BacteriumFox | 来源:发表于2019-08-24 18:52 被阅读0次

    渲染顺序

    名称 队列索引号 描述
    Background 1000 这个渲染队列会在其他任何队列之前被渲染,通常用来渲染背景
    Geometry 2000 默认的渲染对了,大多数物体使用这个队列,不透明物体使用这个队列
    AlphaTest 2450 需要透明度测试的物体使用的队列
    Transparent 3000 这个队列的物体会在所有Geometry和AlphatTest物体渲染之后,再按照从后往前的顺序进行渲染。任何透明物体都使用该队列
    Overlay 4000 该队列实现一些叠加效果。任何最后渲染的物体在该对了。

    混合

    只要有关键字Blend,就代表开启混合(除Blend off以外)

    命令 描述
    Blend SrcFactor DstFactor 开启混合,并设置混合因子。源颜色(该片元颜色)乘以SrcFactor,目标颜色(已经存在于颜色缓冲的颜色)会乘以DstFactor,然后把两者相加后在存入颜色缓冲区
    Blend SrcFactor DstFactor,SrcFactorA DstFactorA 与上面几乎相同,只是使用不同的因子来混合透明通道

    混合因子

    参数 描述
    One 因子为1
    Zero 因子为0
    SrcColor 因子为元颜色值。当用于混合RGB的混合等式时,使用SrcColor的RGB分量作为混合因子;当用于混合A的混合公式的时候,使用SrcColor的A分量作为混合因子。
    SrcAlpha 因子为源颜色的透明度值(A通道)
    DstColor 因子目标颜色值。相当于混合RGB通道的混合等式时,使用DstColor的RGB分量作为混合因子;当用于混合A通道的混合等式时,使用DstColor的A分量作为混合因子。
    DstAlpha 因子为目标颜色的透明度值(A通道)
    OneMinusSrcColor 因子为(1-源颜色)。相当于混合RGB通道的混合等式时,使用结果RGB分量作为混合因子;当用于混合A通道的混合等式时,使用结果的A分量作为混合因子。
    OneMinusSrcAlpha 因子为(1-源颜色的透明度值)
    OneMinusDstColor 因子为(1-目标颜色)。相当于混合RGB通道的混合等式时,使用结果RGB分量作为混合因子;当用于混合A通道的混合等式时,使用结果的A分量作为混合因子。
    OneMinusDstAlpha 因子为(1-目标颜色的透明度值)

    常见混合操作类型

    描述 命令
    正常(Normal)透明度混合 Blend SrcAlpha OneMinusSrcAlpha
    柔和相加 Blend OneMinusDstColor One
    正片叠底 Blend DstColor Zero
    两倍相乘 Blend DstColor SrcColor
    变暗 BlendOp min / Blend One One
    变亮 Blend OneMinusDstColor One / Blend One OneMinusSrcColor
    线性减淡 Blend One One

    混合操作

    image.png

    相关文章

      网友评论

          本文标题:Shader学习——渲染顺序,混合命令

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