我通过谷歌搜索并找到了解释如何在direct3d 11中进行混合的结果。所以我发这篇文章只是为了验证我是否完全理解这些概念。
在大多数情况下,我有点理解混合的概念。我们通过组合两种颜色并产生最终颜色来混合颜色。这主要通过direct3d在输出合并阶段中具有的两个方程来完成。
FinalColor = (Source Color * Source Blend Factor) + (Destination Color * Destination Blend Factor)
和
FinalAlpha = (Source Alpha * Source Alpha Blend Factor) + (Destination Alpha * Destination Alpha Blend Factor)
颜色源Source Color
和Source Alpha
由Pixel Shader输出定义。目标Destination Color
和Destination Alpha
由渲染目标(后备缓冲区)中的任何颜色定义。
现在,我在理解混合因子Source Blend Factor
,Destination Blend Factor
,Source Alpha Blend Factor
和Destination Alpha Blend factor
由于我知道这些混合因子是由D3D11_RENDER_TARGET_BLEND_DESC
定义的,我可以使用成员SrcBlend
并为其分配标记D3D11_BLEND_SRC_COLOR
...这意味着混合因子{ {1}}将具有像素着色器输出的颜色。
那么你认为我理解混合的概念吗?还是有什么我想念的? (随意纠正我)