Blending (融合) -2

    几种融合效果:

1.拒绝写入:

唔,那你为什么要绘制他….一个看上去很正确的方法,设置source pixel blend factor为zero,设置 dst为one,然后op为add

Blending (融合) -2_第1张图片

        这是一种做作的办法,其实将D3D11_RENDER_TARGET_BLEND_DESC::RenderTargetWriteMask设置为0,就不会写入任何东西了

    2.相加相减:

        设置两个factor为one,然后op为add,即使相加,大概可以做这样的效果

            Blending (融合) -2_第2张图片

        设置两个为one,op为subtract

            Blending (融合) -2_第3张图片

3.相乘

    设置dst的因子为src_color,src的因子为zero,op为add,即是相加(设置src为dst_color,dst为zero也行)

            Blending (融合) -2_第4张图片

4.透明

    设置dst的因子为src_inv_alpha,src的因子为src_alpha,op也是add

        Blending (融合) -2_第5张图片

    值得注意,绘制透明物体,需要先绘制所有的不透明物体,然后排序透明物体,按从后到前的顺序绘制,否则颜色叠加是不正确,也就是不满足交换律,相加相减相乘拒绝写入不需要考入顺序

    值得注意,绘制有时候需要关掉深度测试,否则可能某些东西会被拒绝写入(如果不按从后到前绘制的话,比如相加效果)

你可能感兴趣的:(Blend)