Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Alphatransparent von Bildern bei Direct3D

  Alt 24. Aug 2007, 12:19
Hallo,

ich bastel gerade etwas mit direkt3D herum und versuche ein 32bit-Bitmap unter berücksichtigung des Alphakanals im Raum darzustellen:

auf folgende Art und Weise klappt die Ausgabe jedoch ohne Transparanz (sondern so wie es in Paint dargestellt wird)
Delphi-Quellcode:
f3DDevice.SetTexture(0, fTexture);

f3DDevice.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
f3DDevice.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);

f3DDevice.SetStreamSource(0,f3DObj.Buffer3D,sizeof(TVertex));
f3DDevice.DrawPrimitive(D3DPT_TRIANGLELIST, 0, f3DObj.Count);
auf folgende Art und Weise sehe ich nur noch schwarze Flächen ohne Bild.
Delphi-Quellcode:
f3DDevice.SetTexture(0, fTexture);

f3DDevice.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_CURRENT);
f3DDevice.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE);

f3DDevice.SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_BLENDTEXTUREALPHA);

f3DDevice.SetStreamSource(0,f3DObj.Buffer3D,sizeof(TVertex));
f3DDevice.DrawPrimitive(D3DPT_TRIANGLELIST, 0, f3DObj.Count);
Ich hätte es gern so das ich an bestimmten Stellen (bestimmt durch den Alphakanal) durch die Wand durchschauen kann und das sehe was hinter dieser Wand ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat