1

一直在努力寻找解决方案,但结果非常糟糕。

基本上我想绘制一个纹理(它由 2 个三角形组成,所以它是一个四边形),并使它们具有 alpha 值(0-255,但 0-1 也可以)。这样我就可以在我希望的时候实现淡入/淡出效果。

4

1 回答 1

2

找到我的答案: 链接到源

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();
于 2011-12-04T06:31:02.133 回答