Hallo allerseits
Wie die meisten von euch hier, habe auch ich Davids Buch (3. Auflage) gelesen und bin sehr zufrieden. Nun, versuche ich und ein Freund (ein guter Blender Grafiker
) ein kleines test Spiel zu entwickeln. Nach ein paar Models, ist vor wenigen Tagen ein Problem mit der Textur aufgetaucht. Die Textur enthält ein transparentes Netz. Besser gesagt, die Farbe
0xFF00FF (Magenta) wird mit Hilfe vom Color-Key beim Laden der Textur mit transparentem Schwarz ersetzt.
Hier ein Ausschnitt von der Textur:
http://myave.my.funpic.de/texture/texture_segment.JPG
Damit das auch funktioniert, habe ich Alpha-Blending eingeschaltet.
|
Quellcode
|
1
|
pDirect3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
|
Source-Blend und Destination-Blend sind wie folgt eingestellt:
|
Quellcode
|
1
2
|
pDirect3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pDirect3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
|
So sieht das aus:
http://myave.my.funpic.de/screenshots/screen_01.jpg
So, jetzt das Problem: Manche Teile des Objekts werden hinter dem Netz nicht angezeigt.
http://myave.my.funpic.de/screenshots/screen_02.jpg
http://myave.my.funpic.de/screenshots/screen_03.jpg
Ich weiß bzw. vermute, dass es am Culling liegt. Setzte ich CullMode auf CW so sind alle Teile des Objekts zusehen die im normalen Zustand(
D3DCULL_CCW) nicht zusehen sind.
Schaltet man den Z-Buffer aus, dann sieht man, dass die Teile die sonst nicht angezeigt werden vor dem Netz liegen.
http://myave.my.funpic.de/screenshots/screen_04.jpg
Nach einige Stunden vergebliche Mühe, komme ich leider nicht voran.
Ich habe Sowohl im Forum gesucht als auch „gegoogelt“, jedoch vergeblich :/
Ich hoffe, dass ihr mir weiter helfen könnt. Wäre äußerst dankbar!!!
Grüße Jan.