- // Speicher für Daten reservieren
- unsigned int numVertices = ein wert für die vertices;
- float* vertsAndNormals = new float[numVertices * 6]; // Erst kommt Vertex XYZ, dann Normal XYZ, dann Vertex XYZ, und wieder Normal XYZ... etc.
- unsigned int numIndices = ein wert für die indices;
- unsigned int* indices = new unsigned int[numIndices];
- // Daten befüllen......
- // Vertex Buffer erzeugen und daten komplett hochladen
- glGenBuffersARB(1, &iVBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, iVBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(float) * 6 * numVertices, vertsAndNormals, GL_STATIC_DRAW_ARB);
- // Index Buffer erzeugen
- glGenBuffersARB(1, &iIBO);
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, iVBO);
- glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER, numIndices * sizeof(unsigned int), indices, GL_STATIC_DRAW_ARB);
- // Daten im Speicher löschen, da diese ja nun im VRAM sind
- delete indices;
- delete vertsAndNormals;