详细说明:
这次给大家奉献的是我最近学习DirectX基础的一些内容:进行Alpha混合。虽然我在很多的游戏中看到了美轮美奂的半透明效果,但是能够自己制作出半透明的效果还是一件非常欣慰的事情。因为这不仅仅是自己目的的达成,还是自己自学能力的提升。 Alpha是像素颜色中的一个值,但是改变它并不能改变任何颜色,而是改变它的透明度。它占一个字节,也就是说它的取值范围为从0到255。0代表完全看不见,255表示完全不透明。为此我记住了两个英文单词:transparent和opaque。为了能够使用Alpha制作出半透明的效果,要在D3D设备上调用一个函数来启用它。这个函数就是SetRenderState。下面就是启用Alpha混合的典型用法: [cpp] view plaincopy // 设置Alpha混合 m_pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE ); m_pDevice->SetRenderState( D3DRS_SRCBLEND, D3DBL END_SRCALPHA ); m_pDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA ); ...展开收缩