Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- glGenBuffers(1, &VBO);
- glBindBuffer(GL_ARRAY_BUFFER, VBO);
- glBufferData(GL_ARRAY_BUFFER, sizeof(MDVertex) * n, &vertex[0].x, GL_STATIC_DRAW);
- USHORT indices[n];
- for (int i = 0; i < n; i++)
- indices[i] = i;
- glGenBuffers(1, &IBO);
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO);
- glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(USHORT) * n, indices, GL_STATIC_DRAW);
- glBindBuffer(GL_ARRAY_BUFFER, VBO);
- glEnableClientState(GL_VERTEX_ARRAY);
- glVertexPointer(3, GL_FLOAT, sizeof(MDVertex), BUFFER_OFFSET(0));
- glEnableClientState(GL_NORMAL_ARRAY);
- glNormalPointer(GL_FLOAT, sizeof(MDVertex), BUFFER_OFFSET(12));
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- glTexCoordPointer(2, GL_FLOAT, sizeof(MDVertex), BUFFER_OFFSET(24));
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO);
- glDrawElements(GL_TRIANGLES, n, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0));
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glDisableClientState(GL_NORMAL_ARRAY);
- glDisableClientState(GL_VERTEX_ARRAY);
- glDeleteBuffers(1, &VBO);
- glDeleteBuffers(1, &IBO);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement