Transparentes TriangleFan
-
Hallo !
Ich programmiere mit C++ und DirectX 8.
habe folgendes Problem :
In meiner Anwendung gibt es zwei Quader die ich mit je 2 TriangleFans gemacht habe.
Diese stehen etwas verschoben voreinander.
Also Quader Eins ist vor Quader Zwei;
Was muss ich ,machen damit mein Quader Eins transparent ist ?
Ich stell mir das so vor das ich ne bestimmte Farbe festlege die der dann bekommt und diese Farbe soll dann immer transparent gerendert werden.
Ich benutze KEINE Textur für den Quader !Das ist mein Vertex Format:
#define D3DFVF_CUSTOMVERTEX3D (D3DFVF_XYZ|D3DFVF_DIFFUSE)
Schonmal Danke im Vorraus !
-
mach doch einfach in den diffuse color ein alpha wert
diffuse color ist doch ARGB, und wenn du statt 0xFFxxxxxx 0xA0xxxxxx machst, dann wirds teilweise transparent, und wenn du 0x00xxxxxx machst wirdts doch 100% transparent
-
Ich habe es so probiert :
D3DCOLOR c1 = D3DCOLOR_ARGB(0,255,0,0);
und so
D3DCOLOR c1 = D3DCOLOR_ARGB(255,255,0,0);ausserdem hab ich
pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );
pd3dDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
pd3dDevice->SetRenderState( D3DRS_ALPHATESTENABLE, true );
pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, true );ich seh aber immer noch beide Quader genau wie vorher
-
ok ich hab s ... man braucht folgende Render States:
pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE ); pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
-
Bitte lesen. Danke.
Bye, TGGC (Reden wie die Großen)