Registriert: Fr Nov 11, 2011 20:15 Beiträge: 8
Programmiersprache: Java
Hi,
bis jetzt habe ich Vertex Arrays einfach als FloatBuffer (Java) erstellt und dann später mit glVertexPointer etc. aktiviert. Hat es irgendwelche Vorteile, wenn ich Vertex Arrays mit GenVertexArrays erstelle? Auch verstehe ich nicht, wie ich das Vertex Array dann füllen kann (also wie glBufferData).
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,
das machst du auch mit glBufferData, nur das du die Daten nur einmal auf die Graka schieben musst. Und dank des Buffers werden sie dort gespeichert und können immer wieder abgerufen werden. Wenn du nur glBufferData benutzt, so wie du es zur Zeit machst, dann muss das Array bei jedem Aufruf von glBufferData neu in den GrafikSpeicher kopiert werden. Und das kostet natürlich Zeil. Im Tutorial für VBOs ist das alles wunderbar erklärt
Registriert: Fr Nov 11, 2011 20:15 Beiträge: 8
Programmiersprache: Java
Hi,
glBufferData rufe ich natürlich nur eimal beim initialisieren auf.
Wenn ich das dann jetzt richtig vertanden habe verhält sich glGenVertexArrays dann genauso wie glGenBuffers bein VBOs. Aber was ist dann der Unterschied zwischen einem so erstelltem Vertex Array und einem VBO, wenn dann beides auf der Grafikkarte gespeichert wird?
Registriert: Sa Mär 14, 2009 17:48 Beiträge: 99
Programmiersprache: D, Java, C++
Ein VertexArrayObject speichert keine Vertices, hier werden die Vertex Attribute gespeichert, also quasi das Format deiner Vertices, so kannst du beim aktivieren deiner VBOs/IBOs zusätzlich das VAO aktivieren und brauchst so nicht jedesmal die Pointer Adressen aufs neue zu setzen.
Mitglieder in diesem Forum: 0 Mitglieder und 12 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.