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

Aktuelle Zeit: Fr Jul 04, 2025 16:26

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Depth_Test
BeitragVerfasst: Mo Feb 24, 2003 12:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 12:44
Beiträge: 3
hi!
wenn ich versuche wie in dem tutorial mit den Pyramieden beschrieben, zwei pyramieden die transparent sind umeinander kreisen zu lassen, muß ich ja GL_Depth_test aktiviert haben wenn ich mich nciht irre... sonst kreisen die ja immer irgendwie durcheinander und nciht umeinander... aber wenn ich den aktiviere sehen die einzelnen pyramieden voll beschissen aus... versteht ihr mein Problem? :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 24, 2003 12:57 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
Depthtest hat nur Einfluß darauf, wie das ganze aussieht...

IMAO überprüft der ob ein Objekt vor einem andren liegt, und wenn ja, dann wird das hintere nicht gezeichnet...

da die Pyramiden aber durchsichtig sind ist es sinnvoll den auszuschalten...
Code:
  1. gldisable(...);


Fiji-Fighter

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 24, 2003 14:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 12:44
Beiträge: 3
ja... aber wenn ich den disable, dann ist die eine pyramide ja unverändert hinter der anderen zu sehen... aber wenn die vordere blau ist, sollte ja auch so nen blauer schimmer über der hinteren liegen... wie nen farbiges glas halo, oder?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 24, 2003 14:29 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wenn du in einer Szene transparente Objekte zeichnen willst (egal ob nur eins das über nichtransparenten Objekten, oder mehrere transparente Objekte), dann musst du diese von Hand sortieren.

Wenn du das nicht machst, und einfach PyramideB nach PyramideA zeichnest, dann wird spätestens wenn B im Raum vor A liegt A nicht richtig dargestellt, da Blending in OpenGL PerPixel und nicht PerFragment (wie z.b. Alphamasking funktioniert).

Du musst dann also von Hand prüfen wo deine Objekte im Raum liegen, und diese von Hinten nach Vorne (also entfernte Objekte zuerst) zeichnen damit diese korrekt dargestellt werden.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 24, 2003 14:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 12:44
Beiträge: 3
und wie kann ich das bei zwei rotierenden objekten machen? Oder muß ich jetzt die hintere malen, dann die vordere und sobald die halb rum sind, genau anders herum?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 24, 2003 14:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Zitat:
und wie kann ich das bei zwei rotierenden objekten machen? Oder muß ich jetzt die hintere malen, dann die vordere und sobald die halb rum sind, genau anders herum?

Wenn die Perspektive in deinem Programm immer die gleiche bleibt, dann kannst du es auf diese Art und Weise machen.

Das wird bei anderen Anwendungen mit variabler Perspektvie (z.b. nem Egoshooter) nicht funktionieren.In einem solchen Fall musst du die Matrixtransformationen und Rotationen selbst berechnen, denn dann weisst du immer ganz genau wo deine Objekte genau im Raum liegen und kannst dann auch recht leicht eine Tiefenordnung realisieren.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.011s | 16 Queries | GZIP : On ]