Alternative zu D3DRS_BLENDFACTOR ?
-
Hallo Leute,
Ich hab im Moment ein kleines Problem:
Ich habe in meinem Programm einen Hintergrund, vor dem ein Viereck mit Textur gerendert wird. Ich hab das jetzt so eingestellt, dass das Viereck zu etwa 75% transparent ist. Die Textur selbst hat keinen Alphakanal. Bis jetzt hab ich das so gelöst:pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE); pD3DDevice->SetRenderState(D3DRS_BLENDFACTOR,0x40404040); pD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_BLENDFACTOR); pD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVBLENDFACTOR); pD3DDevice->SetFVF(D3DFVF_XYZRHW|D3DFVF_TEX1); pD3DDevice->SetTexture(0,pTexture); pD3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,&Vertizes,sizeof(SVertex)); pD3DDevice->SetTexture(0,NULL); pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,FALSE);
Das funktioniert auch wie gewünscht, allerdings hab ich gelesen, dass die Methode mit dem Blendfactor längst nicht auf allen Grafikkarten unterstützt wird. Deshalb meine Frage: Wie kann man (falls möglich) den gleichen Effekt auf andere Weise erzeugen?
Vielen Dank schon mal im Voraus für eure Antworten.
MfG, Jochen