ich spiel gerade mal wieder mir VBOs und VertexArrays rum. Beim Farb-Wert hab ich nun die Möglichkeit, diese als byte- oder Word-Werte zu verwenden. Wenn ich Byte-Werte nehme, muss ich die Strukturen-Ausrichtung auf 1-Byte Größen setzen, da die Farb-Struktur mit 3 Byte-Felder auf eben jeweils 3 Word-Werte bzw. 3 DWord-Werte vergrößert wird. (Ich arbeite mit C++)
Da ich eine Klasse schreibe, die Vertex-Arrays oder VBOs verwendet (je nach Initialisierung und Verfügbarkeit), wäre es interresant zu wissen, was die VBOs intern machen oder erwarten. Ist es schneller, die Farb-Werte als DWords zu verwenden (auf 32bit Systemen ist der DWord zugriff ja ansich schneller)? Wäres es also Denkbar das Byte-Farbwerte die VBOs oder OpenGL ausbremsen oder ist das ansich egal? Es ist ja bei z.B. 100000 Vertices eine Verschwendung von ca. 5 MB wenn DWord (anstatt Byte) für die Farben verwendet wird.
Ich hoffe, ich konnte soweit mal klarstellen, was ich meine!
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Bei Farben ist der Modus mit RGBA und einem Byte pro Komponente optimiert. Also glColorPointer(4,GL_UNSIGNED_BYTE,?,?). Ich habe auch mal gelesen, dass von dem Format mit 3 Komponenten abgeraten wird.
Bei den Vertex Formaten ist kleiner auf jeden Fall schneller und ich habe da sogar mal eine Proportionalität feststellen können. Das war aber früher auf der GF4.
Den glVertexPointer Aufruf soll man angeblich bei NVidia Karten als letztes machen, aber ich habe mir noch keine Mühe gemacht das genauer zu testen.
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.