Unity_Shader
- 概:这篇主要说一下有关shader中的Blend关键词的相关用法
Blend混合
- 提到Blend就不得不提一下透明渲染这种东西了。在渲染器中想要让一个物体渲染成透明的,思路大致如下:先渲染其后面的物体,然后渲染这个物体的时候并不完全覆盖其后面物体的颜色,来达成“透光”的效果。而Blend关键字的作用通常就可以用做这方面。(需要注意的是,既然要求先渲染背面的东西,那么透明的物体所在的渲染队列就要在其背后物体的队列之后了,比如通常默认透明渲染队列为3000)
- Blend:混合关键字,意在让当前片元计算出的源颜色与颜色缓冲区中已存在的颜色按照一定规矩进行混合。
Blend语法
关闭:
- Blend Off:关闭混合,直接使用计算出的源颜色覆盖颜色缓冲区中的内容。(默认)
混合比例设定:
- Blend SrcFactor DstFactor:让当前片元计算出的源颜色乘上SrcFactor参数值,颜色缓冲区中的颜色乘上DstFactor参数值,然后按照指定的混合规则混合得到最终颜色。(具体可以设定的参数会在后面的参数列表给出)
- Blend SrcFactor DstFactor, SrcFactorA DstFactorA:与上面那种很相似,不同的是会把Alpha通道独立出来使用单独的系数组合来进行混合。
混合规则:
- BlendOp Op:指定混合规则为Op(具体参数会在后面的表中给出)
- BlendOp OpColor, OpAlpha:与上面相似,但对Alpha通道设定了单独的混合规则。
Blend参数列表
以下内容直接截图自官方文档
- 混合规则
- 混合比例系数