代码工程地址:
https://github.com/jiabaodan/Direct12BookReadingNotes
学习目标
- 理解混合的工作原理和如何在D3D中使用它;
- 学习D3D支持的不同的混合模式;
- 学习Alpha组件是如何控制透明基元的;
- 学习如何通过HLSL的clip函数防止像素被绘制到后置缓冲中。
1 混合方程
令 C s r c C_{src} Csrc为从像素着色器输出的ij个像素的颜色,令 C d s t C_{dst} Cdst当前后置缓冲中第ij个像素的颜色。如果没有混合, C s r c C_{src} Csrc将重写 C d s t C_{dst} Cdst的颜色;但是增加混合后,它们将会按照下面的公式计算出新的颜色:
F s r c