一直在努力寻找解决方案,但结果非常糟糕。
基本上我想绘制一个纹理(它由 2 个三角形组成,所以它是一个四边形),并使它们具有 alpha 值(0-255,但 0-1 也可以)。这样我就可以在我希望的时候实现淡入/淡出效果。
一直在努力寻找解决方案,但结果非常糟糕。
基本上我想绘制一个纹理(它由 2 个三角形组成,所以它是一个四边形),并使它们具有 alpha 值(0-255,但 0-1 也可以)。这样我就可以在我希望的时候实现淡入/淡出效果。
找到我的答案: 链接到源
DWORD AlphaValue;
AlphaValue = D3DCOLOR_ARGB(100,255,255,255);
mpDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
mpDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
mpDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
mpDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
mpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
mpDevice->SetTextureStageState(0, D3DTSS_CONSTANT, AlphaValue);
mpDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_CONSTANT);
mpDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE);
mpDevice->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
pMesh->Draw();