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.