Gilden Icons mit Transparenz?

07/02/2016 18:38 kevinkraus#1
Guten Abend,

Ich habe ein Problem undzwar habe ich ausprobiert den Gilden Icons einen Transperenten "Hintergrund" zu geben in dem Gilden Fenster funktioniert es einwandfrei aber beim Logo neben dem Namen nicht?
Weiß einer evtl eine Lösung oder wäre bereit mir zu helfen eine zu finden?

So sieht es momentan aus: [Only registered and activated users can see links. Click Here To Register...]

Mit freundlichen Grüßen,
- Kevin
07/02/2016 18:52 Spraystar#2
würde ich auch gerne wissen :)
07/02/2016 18:53 Mognakor#3
Guck dir die DirectX Befehle an die benutzt werden. Insbesondere Alpha test etc.
07/02/2016 18:56 Nortix#4
Wenn du genau schaust, siehst du im Gildenfenster auch noch einen weißen Rand.

CMover::RenderName

Schau dir an, wo das Logo dort gerendert wird und setze den RenderState wieder so, dass der Alpha Channel nicht ignoriert wird.
07/02/2016 19:38 kevinkraus#5
Habe es jetzt so gelöst:

Code:
			D3DDEVICE->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
			D3DDEVICE->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
			D3DDEVICE->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

			point.x -= pWndWorld->m_pTextureLogo[pGuild->m_dwLogo-1].m_size.cx+2;
			pWndWorld->m_pTextureLogo[pGuild->m_dwLogo-1].Render( &g_Neuz.m_2DRender, point, 255 );
Und dann einfach mit .tga Icons mit Alpha Channel

//edit:
WndGuildTabInfo.cpp

Funktion: CWndGuildTabInfo::OnDraw

Code:
   p2DRender->m_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
   p2DRender->m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
   p2DRender->m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

   pWndWorld->m_pTextureLogo[pGuild->m_dwLogo-1].Render( &g_Neuz.m_2DRender, point, 255 );
Damit auch beim Gilden Fenster der Weiße Hintergund weg ist.

Mit freundlichen Grüßen,
- Kevin