Zitat: Die Interleaved Arrays sind nicht schneller, haben allerdings den Nachteil, das nicht benötigte Daten kaum daraus entfenbar sind (zusätzliche Daten sind als atribute variablen im Vertexshader aufgelistet) und die Listen absolut unübersichtlich werden. So ist es viel einfacher für den Fall, das die Triangles noch mal zusätzlich für eine Pysikengine in den Arbeitsspeicher geladen werden müssen.
Welche Komponenten vom Array zusammen und welche als einzelnes Array gespeichert werden, ist dadurch doch gar nicht festgelegt. Die Vertex Attributekönnen auch als einzelne Arrays hintereinander liegen oder Kombinationen davon.
Abgesehen davon wird für die Physik nicht immer auch das Modell genommen das zum Rendern benutzt wird und manchmal ist es tatsächlich übersichtlicher die Attribute nicht als getrennte Arrays sondern als Array von record zu speichern. Das alles interessiert hierbei aber nicht, hauptsache die Parameter für die glVertexAttribPointer Aufrufe sind korrekt.
|