Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich möchte ne Displayliste schreiben in der mit Texturen gearbeitet wird.
Wenn ich das glBind vor (außerhalb) der DL mache, kann ich dann durch manuelles binden verschiedener Texturen meine Displaylisten ne andere Textur verpassen?
Haben die gezeichneten Elemente dann tatsächlich verschiedene Texturen, oder sind die Texturinformationen beim erstellen der DL in der DL abgespeichert?
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Also so, wie du das planst, geht das glaub ich auch, ist meiner Meinung nach einer der Hauptvorteile von Displaylisten.
In DLs werden ja blos (verständlich ausgedrückt) Werte gespeichert, wie zB Vertexdaten, die ob ihrer großen Zahl, praktisch schon vorgespeichert werden. Die Grafikkarte muss also nicht jeden Frame die komplette glBegin(...);...glEnd; - Sache abarbeiten, sondern hat seine Daten schon parat. Die Texturen kannst du also ganz einfach vorher, wie du das vorhast binden. Hoffe, ich habe des jetzt richtig rübergebracht
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Flash hat geschrieben:
Wenn ich das glBind vor (außerhalb) der DL mache, kann ich dann durch manuelles binden verschiedener Texturen meine Displaylisten ne andere Textur verpassen?
Ich würde mal vermuten nein, da wahrscheinlich dann die vorherige Textur verwendet wird.
Ich glaube nämlich auch irgendwo mal gelesen zu haben das gerade die Festlegung auf eine Textur einen Geschwindikeits-Vorteil bringt.
Aber probier es doch einfach aus und berichte uns dann.
MfG
Flo
_________________ Danke an alle, die mir (und anderen) geholfen haben. So weit... ...so gut
Wenn ich das glBind vor (außerhalb) der DL mache, kann ich dann durch manuelles binden verschiedener Texturen meine Displaylisten ne andere Textur verpassen?
Natürlich klappt das, eine DisplayListe kapselt *genau* die Kommandos, die darin aufgerufen werden, nicht mehr und nicht weniger. Die einzige Ausnahme sind VertexArrays und VBOs, bei denen der Stand der Vertexdaten zum Zeitpunkt der Erstellung der Displayliste in eben diese hineinkompiliert wird, da das entsprechende Objekt zum Zeitpunkt des Aufrufs der DL ja nicht mehr existieren könnte (Zeiger in den Speicher sind ClientDaten, über die OpenGL keine impliziten Informationen hat).
Für Texturen gilt dies aber nicht, da es OpenGL ja völlig egal ist, ob nun eine gültige Textur gebunden ist oder nicht, das liegt schließlich in deiner Verantwortung (Texturobjekte werden vom OpenGL Server verwaltet, womit OpenGL selbst weiß, ob die aktuellen Texturen gültig sind oder nicht).
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.