Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

1

19.04.2006, 18:50

Probleme mit Alpha-Blending

Hi,
ich bin gerade mit dem Buch "3D-Spieleprogrammierung mit DirectX9 und C++" fertig geworden und habe angefangen ein "3D 5Gewinnt" zu schreiben.
Das Spiel ist an sich schon ziemlich fertig.

Jetzt wollt ich allerdings die Spielsteine, die von oben auf ein brett herunterfallen, transparent machen. Jetzt überschneiden sich die Steine nach einer Kamera drehung allerdings manchmal so, dass die hinteren Steine die vorderen überlappen (weil ja der Z-Buffer aus ist).
Jetzt müsste ich sie doch eigentlich der Entfernung zur Kamera nach ordnen und dann in dieser Reihenfolge rendern?
Dummerweise gibt es bis zu 216 Steine und daher erscheint es mir ein bisschen irrsinnig. Welche möglichkeiten habe ich in diesen Fall, bzw. was hab ich vercheckt?

Zum Alpha-Blending hab ich folgende Einstellung hergenommen (auszug aus Effekt-Datei):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[...]
        AlphaBlendEnable = True;
        SrcBlend         = SrcColor;
        DestBlend        = InvSrcColor;
        CullMode = CW;
        ZWriteEnable = False;
    }

    PASS P2
    {
        // Das gleiche mit den vorderen Dreiecken
        CullMode = CCW;
    }
}

matthias

Alter Hase

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

2

20.04.2006, 02:11

schon richtig so, da musst du dich selber drum kümmern :)
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

3

20.04.2006, 09:34

Auf gut deutsch ich muss jetzt von jedem Spielstein die Entfernung zur Kamera ermitteln und sie der größe nach ordnen??

D.h. ja dann dass ich sie bei 216 Steinen 46872 (216²+216 wegen Entfernungsermittlung) mal durchgehen muss um sie der Reihe nach zu ordnen?!!!!! :crying: :o
Na Toll .....

Gibt es wirklich keine bessere Lösung?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

20.04.2006, 09:50

Zitat von »"Wümpftlbrümpftl"«

D.h. ja dann dass ich sie bei 216 Steinen 46872 (216²+216 wegen Entfernungsermittlung) mal durchgehen muss um sie der Reihe nach zu ordnen?!!!!! :crying: :o

Wenn du einen sehr schlechten Sortieralgorithmus nimmst: ja.
Wenn du einen guten Algorithmus nimmst (z.B. Quicksort, Heap-Sort), dann sind 216 Elemente ein Witz.

Werbeanzeige