ich bin momentan dabei die OpenGL API Aufrufe unter einem dünnen Wrapper zu verstecken, der im wesentlichen dafür sorgen soll, dass ich mir nicht andauernd Gedanken über das Speicherlayout meiner Vertex- und Texturdaten machen muss.
Ich verwende überall in meinem Programm eine eigene Vektorklasse, die etwa wie folgt aussieht:
Code: Alles auswählen
template<typename type, int n>
struct vec {
type data[n];
// Eine Ganze Menge Kontruktoren und Operatoren
};
Am liebsten würde ich sogar noch mehrere Vektoren gruppieren um Vertices zu bilden, die ich dann interleaved an OpenGL übergeben kann:
Code: Alles auswählen
struct vertex {
vec<float,3> position;
vec<unsigned char,4> color;
// ...
};
Wie Löst ihr das, dass ihr im Programm elegant auf die Daten zugreifen könnt und OpenGL trotzdem ein definiertes Speicherlayout garantieren könnt?