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

Aktuelle Zeit: Sa Jul 19, 2025 16:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Nov 23, 2007 09:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 23, 2005 15:54
Beiträge: 24
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?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 23, 2007 11:04 
Offline
DGL Member
Benutzeravatar

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. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 26, 2007 15:06 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 23, 2005 15:54
Beiträge: 24
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.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 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.014s | 15 Queries | GZIP : On ]