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

Aktuelle Zeit: Mo Jul 14, 2025 07:30

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



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: So Mär 27, 2005 23:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 30, 2004 14:49
Beiträge: 71
Wohnort: STADT Kirchen
Was ist schneller? Eine Displayliste aufzurufen, oder ein Objekt "von Hand" über eine Prozedur zu erstellen?

_________________
Rock is a message.
Hear the message an you will rock!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 00:03 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Kommt drauf an, ob du das Objekt mehrfach brauchst.

Nur einmal benutzen -> Von Hand

Mehrfach benutzen -> Displayliste

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 10:17 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 30, 2004 14:49
Beiträge: 71
Wohnort: STADT Kirchen
Mehrfach benutzen.

Aber wieso ist das so?

_________________
Rock is a message.
Hear the message an you will rock!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 10:30 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Weil die Displaylisten unter bestimmten Bedingungen vom Treiber auf der Grafikkarte gespeichert werden. Der NVidia Treiber macht sogar für die ganze DisplayListe Frustum Culling. Wenn du maximale Geschwindigkeit willst, dann gibt's da noch Vertex Buffer Objecte als beste Lösung. Allerdings muß man die Daten da als Array und nicht so bequem mit glBegin/glEnd übergeben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 13:01 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 30, 2004 14:49
Beiträge: 71
Wohnort: STADT Kirchen
Genau das ist das, was ich noch nicht so ganz verstanden habe, mit dem Vertex Buffer und Vertex Array Dingbums etc. Aber man lernt ja dazu. :mrgreen:

_________________
Rock is a message.
Hear the message an you will rock!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 13:40 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
sehr schön, damit beschäftige ich mich auch gerade.

es ist also immer schneller, den glbegin....glend block in eine displayliste zu quetschen und diese dann aufzurufen, als es einzeln aufzurufen?

und vor allem: kann ich variablen in der displayliste lassen, zum beispiel bei glvertex3i(x,y,z) - da werden wahrscheinlich nur die werte gespeichert, die x,y,z zu dem zeitpunkt hatten, als die displayliste erstellt wurde?!

und zu guter letzt: wenn ich eine textur binde, und dann meine displayliste aufrufe, wird dann mit dieser textur gerendert? ich nehme an, ja?

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 13:51 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Displaylisten sind deshalb schneller, weil sie nach dem kompilieren auf der Graka liegen. Wenn man sie dann aufruft sind sie ja quasi schon da. Wenn man den inhalt nur 1x braucht dauerts aber mindestens gleichlang, weil die Befehle ja erstmal an die GraKa geschickt werden müssen. Erst ab dem 2. aufruf rentiert sich ne Displayliste.

Die Displayliste nutzt weiterhin die OpenGLstates. Das heist, wenn man ne andere Textur vor dem aufruf der DL bindet, wird die neue Textur genommen. In die Displaylisten werden nur bestimmte Befehle gespeichert. (siehe hier)

Tatsächlich werden die Sachen in ne Displayliste geschoben, die zur GraKa gesendet werden. Somit ist klar, dass bei glVerex3f(x,y,z); die aktuellen x,y,z Werte in die DL wandern. (Sonst bräuchte man ja keine VBOs ;) )

Noch fragen 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 13:54 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
das heisst für ein sich nicht veränderndes terrain sind sie ideal?

und ich kann davor auch glscale, glrotate, gltranslate aufrufen usw.?

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 13:57 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Exakt. Da die gespeicherten Befehle die Matrix verwendet, die zur Aufrufzeit da ist, kann man vorher ne Menge rummanipulieren. 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 14:00 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
cool.

und was sind vbos?

es hat auch irgendwo jemand gesagt, dass es hier auf der seite n tutorial für displaylisten gibt.

wo??

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 14:02 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
luketheduke hat geschrieben:
es hat auch irgendwo jemand gesagt, dass es hier auf der seite n tutorial für displaylisten gibt.

http://www.delphigl.com/script/do_show. ... t&action=2

Displaylisten bei NeHE: http://nehe.gamedev.net/data/lessons/le ... ?lesson=12

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 14:08 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
nehe kenn ich schon, aber das is ja in c - mag ich nicht - naja ich versuchs trotzdem.

ansonsten danke!

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 14:08 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Interessant könne für dich erstmal das sein: http://wiki.delphigl.com/index.php/Displaylisten

VBO sind Vertex Buffer Objects. Der nächste schritt in Sachen Obtimierung. Benutzt hab ich sie noch net. Die Idee dahinter ist aber, auch wieder Vertexdaten auf der GraKa abzulegen. Allerdings mit der Möglichkeit die Daten zu verändern. DIes gelingt, indem man angibt wie die Daten auf der GraKa abgelegt worden sind.

Mir fällt gerade auf, dass es keinen Artikel zu VBOs gibt. Also wer interesse und Ahnung hat: Hier gucken

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 15:07 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Es gibt noch ein Tutorial zu VBO's:
http://www.delphigl.com/script/do_show. ... t&action=2


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 15:23 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
LarsMiddendorf hat geschrieben:

und hier auch noch eins:
http://www.delphigl.com/script/do_show. ... t&action=2 :mrgreen:
(hatte ich eben schon verlinkt ^^)

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

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