【发布时间】:2015-07-29 00:59:40
【问题描述】:
我通过谷歌搜索并找到了解释混合在 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 由像素着色器输出的任何内容定义。并且目的地 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... 这意味着混合因子 Source Blend Factor 将具有颜色像素着色器输出。
那么你认为我理解混合的概念吗?还是我缺少什么? (欢迎指正)
【问题讨论】:
标签: c++ direct3d direct3d11