Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 04:48

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Depth-Buffer-Problem
BeitragVerfasst: So Feb 01, 2004 12:55 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Hi,
Ich verwende gerade das Feuer aus dem Partikeltutorial I für ein kleines Demo. Das Problem ist der Depth-Buffer, der ja für das Feuer ausgeschaltet werden muss. Jetzt werden die Flammen natürlich hinter allen anderen Objekten gerendert. Wenn ich den Depth-Buffer aktiviert lasse, dann sind die Flammen zwar im Prinzip an der richtigen Stelle gerendert, aber das Blending geht nicht mehr.
Ich hab auch schon im Redbook unter Blending nachgeschaut. Da steht ein Artikel über 3d-blending mit dem Depth-buffer drin. Dort wird glaub ich dieses Problem beschrieben und mit glDepthMask gelöst.
Aber bei mir hilft das nicht wirklich.
Man muss doch irgendwie etwas übereinander blenden können, ohne das der Depth-buffer dazwischenfunkt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 01, 2004 13:50 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
ich hoffe ich hab das PRoblem richtig verstanden :roll:
versuchs mal mit
Code:
  1. glDepthmask(false);

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 01, 2004 17:27 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Da bei Blending die Reihenfolge, in welcher du die Flächen zeichnest, nicht egal ist, musst du die einzelnen Partikel nach der Entfernung von deiner Kamera sortieren. Zuerst zeichnest du die von der Kamera am weitesten entfernte Fläche und zuletzt die Fläche, die dem Betrachter am nächsten ist. Auf diese Art und Weise solltest du mit dem Tiefenpuffer keine Probleme bekommen.
Die zweite Möglichkeit wäre, dass du erst deine gesamte Szene zeichnest und zuletzt deine Partikelsysteme. Aber spätestens bei Anwendungen wo man sich frei bewegen kann funktioniert dies nicht mehr.

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 01, 2004 17:45 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Das Einfachste ist wirklich, die Partikel am Ende zu zeichnen. Besonders weil sie mit dem Hintergrund geblendet werden geht es ja kaum anders.
Wenn man dabei, wie Fiji-Fighter meinte, nicht mehr in den ZBuffer schreibt, sollte das keine Probleme geben. Die Partikel verdecken sich gegenseitig nicht und wenn sie als letztes gezeichnet werden ist es egal, welcher Wert danach im ZBuffer steht.
Die Sortierung wegen Blending kann eigentlich vernachlässigt werden, da sich die Partikel bewegen und man einzelne Partikel danach nicht genau verfolgen kann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 03, 2004 16:25 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Also, das Problem ist, dass die Flammen auf kleinen Würfeln sitzen und zwar in der Mitte und nicht irgendwo dahinter. Ich probier jetzt mal glDepthFunc(GL_LEQUAL) für die Flammen zu verwenden. Vielleicht geht's ja damit.
Wenn alles klappt, wird es vielleicht in ferner Zukunft eine Basis-"Engine" für Strategiespiele nach C&C-Art geben.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 17 Queries | GZIP : On ]