JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=076dde0e97e1915c9b57c89e45c6418aMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Problem mit Alphablending - DirectX 8

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 31.07.2004, 17:46    Titel: Problem mit Alphablending - DirectX 8 Antworten mit Zitat

Tach,
Ich will mit Hilfe von Alphablending Wasser machen. An sich klappt das Alpablending schon gut. Aber offensichtlich werden auch die transparenten Pixel in den ZBuffer eingetragen. Das hat zur Folge, dass die Pixel zwar transparent sind aber nichts mehr hinter ihnen zu sehen ist.
Hat irgendjemand eine Ahnung wie ich verhindern kann, dass transparente Pixel in den ZBuffer eingetragen werden Question
Für eine schnelle Antwort wäre ich dankbar, weil ich morgen für 2 Wochen wegfahre.
MfG Dr. Best.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 31.07.2004, 18:47    Titel: Antworten mit Zitat

lpDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

fürs vollständige deaktivieren der schreibbefehle
eine andere Möglichkeit wäre es die Renderreihenfolge so zu manipulieren das von hinten nach vorne gerendert wird.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 31.07.2004, 19:42    Titel: Antworten mit Zitat

thx.
Beide Vorschläge zusammen ham mich als ich noch ne Weile drüber nachgedacht hab auf eine Idee gebracht.
Mit der Renderreihenfolge das war mir zu aufwendig. Also habe ich erst alle Objekte rendern lassen die nicht transparent sind.
Dann habe ich mit
lpD3DDevice->SetRenderState( D3DRS_ZWRITEENABLE, false);
das schreiben in den ZBuffer ausgestellt. Und dann habe ich alle transparenten Objekte rendern lassen. Klappt super.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 31.07.2004, 21:04    Titel: Antworten mit Zitat

So hast du aber Darstellungsfehler wenn nach dem rendern des Wassers oder ähnlichem Objekte hinter diesem Objekt gerndert werden, diese werden durch die fehlende Alphakoomponente nicht mehr beeinflusst.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 31.07.2004, 21:11    Titel: Antworten mit Zitat

Ja, du solltest schon sortieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 13.08.2004, 21:27    Titel: Antworten mit Zitat

War in Ferien deswegen Antworte ich erst jetzt.
Ich weiß nicht ganz was ihr meint. Aber das einzige Problem das mir aufgefallen ist, ist dass wenn verschieden transparente Objekte voreinander sind das falsche in den Vordergrund kommen kann. Doch da das eh kaum der Fall sein wird und nicht so dramatisch ist mach ich mir deswegen nicht die Arbeit die Renderreihenfolge zu manipulieren.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 30.08.2004, 01:07    Titel: Antworten mit Zitat

Wie sieht in etwa so ein Sortieralgorithmus dafür aus?
_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 30.08.2004, 17:11    Titel: Antworten mit Zitat

Hm,
Erstmal müsste man für jedes Objekt die Distanz ermitteln (distanz=sqrt((camera.x-x)^2+(camera.y-y)^2)). Dann würde ich immer wieder alle werte durchgehen (in einer for schleife) und jeweils das höchste darstellen so lang bis alle gerendert sind. Ist ziemlich aufwendig.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 30.08.2004, 19:05    Titel: Antworten mit Zitat

Es dürfte auch ausreichen nur die Objekte zu sortieren die was mit nem Alpha zu tun haben.

Sortieralgo: Quicksort, gibt aber noch schnellere nur fällt mi dazu der Name nicht ein.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum