OpenGL: Performance und Vertexpointer

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

eizdealer

Betreff: OpenGL: Performance und Vertexpointer

BeitragDo, Dez 30, 2004 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
Nachdem ich jetzt stolzer BMX Besitzer bin und ich auch schon ein Bisschen mit OpenGL rumgespielt haben, tun sich mir einige Fragen auf. Angenommen, ich habe alle Eckpunkte der Szene in einem Array. Wie rendere ich jetzt am schnellsten die Triangles? Ein paar Tutorials hab ich zwar zu dem Theme auch schon gelesen, so ganz richtig schlau daraus bin ich aber noch nicht geworden (teilweise waren die auch widersprüchlich). Da stand was von glDrawArrays und/oder glDrawElements.
Wie genau übergebe ich die Daten an glVertexPointer bzw. an die anderen Pointer Funktionen?
Was für Extensions gibt es, mit denen die Vertexdaten in den HighPerformance RAM (laut NeHe Tutorial) geschrieben werden können, macht das überhaupt Sinn und wie installiere ich die Extension in BMX?

Noch etwas: Ist es sinnvoll, Triangledaten zwischenzuspeichern, wenn doch eh alle Daten durch die Reihenfolge der Vertexe gegeben ist? Oder umgekehrt: Kann man nicht einfach nur Triangles speichern? Oder sollte man lieber etwas mehr Speicherverbrauch in Kauf nehmen und dafür mehr Flexibilität haben?


Ich hoffe, ihr könnt mit den Fragen etwas anfangen *g*


PS: NeHe Tutorials auf deutsch gibts hier, auch wenn die Übersetzungsqualität nicht die beste ist.
 

Dreamora

BeitragDo, Dez 30, 2004 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ein teil der extension sind in Blitzmax
für die anderen müsstest du die entsprechenden callbacks selbst in C programmieren.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Vertex

BeitragDo, Dez 30, 2004 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Das schnellste sind Displaylisten. So wie ich es verstanden habe, sind die Arrays ja in im WRAM, und Displaylisten im VRAM. Also ist VRAM schneller, da die Graka schnelleren Zugirff auf die daten hat. Wichtig ist dabei, das die die Displaylisten mit den Compilerflag erstellt werden.
Super Referenz dazu ist: http://www.opengl.org/documentation/red_book_1.0/
vertex.dreamfall.at | GitHub
 

Black

BeitragFr, Dez 31, 2004 11:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, Displaylists sind nicht wirklich für Spiele schnell, da sie so gut wie kein Spiel benutzt. Nur CAD-Programme, etc. benutzen Displaylists, deswegen sind die meisten Treiber auch nicht für Displaylists optimiert. Darum würde ich es zuerst mit VBO(Vertex Buffer Objects) und vielleicht locked DrawArrays probieren.
Aber eigentlich sollte man sich erst darüber gedanken machen, wenn man die 'ins & outs' von OGL im Blut hat (, was ich von mir leider nicht behaupten kann, jedoch habe ich zuverlässige Informationsquellen Wink)

Black
 

Dreamora

BeitragFr, Dez 31, 2004 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
die VBOs sind nur kritisch weil da die Verfügbarkeit von System zu System variiert ... aber wer in Nehe so weit ist ( Tut 46 Wink ) wird mit solchen Dingen ja kaum mehr probs haben Wink
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group