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

Aktuelle Zeit: Sa Jul 19, 2025 04:53

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tiefenpuffer und Partikel
BeitragVerfasst: So Jul 01, 2007 14:50 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

ich habe ein kleines Problem beim Rendern von Partikeln :D.

Ich habe bis jetzt immer "glDepthMask(False)" verwendet um die partikel richtig zu zeichnen. Das hat auch ganz gut funktioniert, bis ich jetzt auch andere Objekte zeichne.
Ist ja klar, dass wenn ich nach den Partikeln andere Objekte rendere, ich dieses Objekt sehe und nicht die Partikel, da ich ja den Tiefenpuffer ignoriere. Gibt es eine Möglichkeit diese Partikel(die vor anderen Objekten gezeichnet werden) sichtbar zu machen?

Ohne glDepthMask() gibt es einen hässlichen Rand um die Partikel, und mit glDisable(GL_DEPTH_TEST) passiert das Gleiche, wie mit glDepthMask.

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 01, 2007 15:12 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 06, 2005 18:34
Beiträge: 362
Wohnort: Hamburg
Hi ...

ich verstehe nicht was du mit dem "hässlichen Rand" meinst wenn du glDepthMask weglässt.
Wenn du noch andere Objekte in deiner Scene zeichnest würde ich den Tiefenpuffer auch für die Partikel unberührt lassen, also ganz normal rein schreiben, oder die Partikel als letztes zeichnen, wobei sie dann aber auch "vor" Objekten erscheinen die sie eigentlich verdecken sollten.

Gruß
Shai

_________________
Der Mensch hat neben dem Trieb der Fortpflanzung und dem zu essen und zu trinken zwei Leidenschaften: Krach zu machen und nicht zuzuhören. (Kurt Tucholsky)
Schwabbeldiwapp, hier kommt die Grütze. (Der Quästor)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 01, 2007 15:20 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Normalerweise sollte man die Partikel nach Z-Wert sortieren, dann passiert das nicht.

Aber was notfalls auch geht: Erst andere Objekte zeichnen mit Tiefentest und glDepthMask(True). Dann die Partikel mit glDepthMask(False) zeichnen und schon gehts.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 01, 2007 18:01 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
also ich machs so:

Objekte rendern
glDepthMask(false);
Partikel Rendern
glDepthMask(true);

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 01, 2007 18:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hö?

Und die Partikel werden nicht über die Objekte gezeichnet, wo sie nicht hinsollen?

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 01, 2007 18:37 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
Hmm nein :D scheint nicht so ;)

glDepthMask wird ja dazu verwendet, dass nicht in den Tiefenpuffer geschrieben werden darf. Das heisst aber, WENN ich die Partikel nach den Objekten rendere, dass die dann auch an den richtigen Orten gezeichnet oder nicht gezeichnet werden.

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 02, 2007 07:44 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Jo, ich habe auch versucht, die Partikel am Schluss zu rendern. Bei mir "gehören" die Partikel aber zu Den Objekten auf einer Karte. das heißt ich will wirklich nur die Partikel rendern, die auch, wie das zugehörige Objekt, auch im Bild sind. Das heißt ich habe mir ein Array gemacht, in das ich die sichtbaren Partikelcontainer reinschreibe, und am Ende rendere. Nur hats auf einmal furchtbar reruckelt....

Später ist mir aufgefallen, dass ich nach dem Rendern das Array leer machen sollte, um es wieder neu zu füllen.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]