Ich habe folgendes Problem.
Ich möchte für mein Spiel Direct3D zum Spielende aus einer .png-Datei den Schrifftzug Game Over einblenden.
Der Hintergrund der Textur ist schwarz.
Ich möchte diesen Schriftzug langsam aus vollkommen durchsichtig in undursichtig einblenden. So das durch den schwarzen Hintergrund alles immer dunkler wird und der Schrifftzug aus der Transparenz hervorkommt.
Da es sich hierbei um einen transformierte Vertizes handelt (wird nicht beleuchtet) imuss quasi Vertexfarben einsetzen.
Diese habe ich mit D3DCOLOR_ARGB((byte)a,r,g,b) festgelegt und eine Schleiffe eingeführt, welche a mit bezug auf die Zeit in 3 Sekunden von 255.0f auf 0.0f herunterrechnet. a als float, weill sonst die Rechnung a*time nicht richtig funzt.
Jetzt passiert volgendes. Der Schriftzug wird aber nur undurchsichtig dargestellt.
_3DOT_Engine->pD3DDev->SetRenderState(D3DRS_ZENABLE,FALSE);
_3DOT_Engine->pD3DDev->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
_3DOT_Engine->pD3DDev->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
_3DOT_Engine->pD3DDev->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
_3DOT_Engine->pD3DDev->SetRenderState(D3DRS_BLENDOP,D3DBLENDOP_ADD);
_3DOT_Engine->pD3DDev->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1);
Frage: wie kann ich Vertexfarben transparent machen ?