In einem Beispiel habe ich gesehen, wie jemand Texturen nur per glTexImage2D läd, aber auf jegliche Benennung/Binden verzichtet. In der Dokumentation aus dem hiesigen Downloadbereich heißt es auch:
Zitat:
It is usually much faster to use glBindTexture to bind an existing named texture to one of the texture targets than it is to reload the texture image using glTexImage1D or glTexImage2D.
Meine Frage ist nun Folgende: In dem Beispiel waren alle Aufrufe von glTexImage2D als Displaylist gekapselt. Wird dadurch die beschriebene Verlangsamung verhindert?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also ich muss gestehen, dass ich gerade das Beispiel nicht kenne. Aber mit den Aufrufen von glTexImage sollte man immer vorsichtig sein. Denn diese Methode bereitet intern auch die Textur vor was in der Regel immer länger dauert. Wenn sich die Textur nicht verändert sollte grundsätzlich nur ein einziges Mal glTexImage aufgerufen werden. Ich weiß aber nicht in welchem Zusammenhang das in dem Beispiel steht. Allerdings eine DisplayListe und glTexImage sind ja auch statisch. Und das macht eigentlich keinen Sinn.
Und zu dem Auszug aus der Doku. Wenn du eine existierende Textur einfach nur bindest anstelle sie jedes mal neu zu erstellen in das in jedem fall um ein vielfaches schneller. Ob die Erstellung der Texturen in einer Displayliste beschleunigt werden kann ich nicht mit gewissheit sagen. Aber falls doch sollte es trotzdem langsamer sein als sie einfach nur zu binden.
PS: Falls ich an deiner Frage vollkommen vorbei geantwortet habe, oder du eigentlich auf etwas anderes hinaus wolltest, dann untermal das mal bitte mit einem praktischen Beispiel.
Die Sache hat sich als interessanter herausgestellt als ich zunächst annahm. Der Schöpfer des Codes, den ich las, hatte noch mit OpenGl 1.0 gearbeitet, in dem es , wie ich jetzt weiß, noch keine Texture-Objects gab. Damals war sein Vorgehen tatsächlich okay. Nahere Informationen gibt es unter http://www.3dsource.de/faq/displaylist.htm#0090.
Soweit der historische Exkurs.
Mitglieder in diesem Forum: Bing [Bot] und 9 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.