渲染顺序
名称 |
队列索引号 |
描述 |
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
网友评论