Beziehung zwischen Daten im VBO und der Objektinstanz
-
Hi.
Ich schon wieder mit einer meiner komischen Fragen xD.Ich würde gerne den VRAM Speicher mehr mappen und so Daten verändern. Nur wie stellt ihr die Beziehung her zwischen dem Speicherbereich im VBO und der "Klasse" die diese 4 Vertices verwaltet?
Zur Erklärung:
Meine Spriteklasse hat jeweils 4 Vertices für ein Quad. Alle Sprites stecke in eine einzige große Liste.Dann laufe ich die Liste ab und "sammel" quasi die Vertices der Sprites ein und steck sie in ein Array. Das lad ich dann in die Grafikkarte.
Bleibt die Position der Sprites, sprich das offset, innerhalb dieses Bereiches gleich?
Beispiel:
Ich hab 5 Sprites. Der Anfang meines Arrays ist Position 0, dann wäre der Bereich für das erste Sprite 0+sizeof(MyVertexFormat). Der Bereich für das 2te Sprite wäre 0+sizeof(MyVertexFormat)*2 usw.
Bleibt das gleich wenn ich mit glMapBuffer den VBO in den "normalen" Speicherbereich zum Bearbeiten mappe?
Hoffe ich konnte mich verständlich ausdrücken.
-
Entweder hast Du Dich nur wirr ausgedrueckt oder Du hast eine falsche Vorstellung vom VBO.
Der VBO ist ein (scheinbar) fixer Speicherbereich und jedes Bit darin steht genau da wo Du es hingeschrieben hast.
Du solltest nicht voellig willkuerlich im Buffer herumschreiben weil andere Caching-Regeln gelten.
-
Bleibt das gleich wenn ich mit glMapBuffer den VBO in den "normalen" Speicherbereich zum Bearbeiten mappe?
Ja, der Offset bleibt gleich.
Wie sollte man sonst irgendwas mit VBOs anfangen können?Hoffe ich konnte mich verständlich ausdrücken.
Nicht sehr.
-
Danke und sorry wenn ich das nicht so gut schriftlich ausdrücken konnte^^.