20{
21 glGenVertexArrays(1, &vao);
22 glBindVertexArray(vao);
23 glGenBuffers(1, &vbo);
24 glBindBuffer(GL_ARRAY_BUFFER, vbo);
25
26 glGenBuffers(1, &ebo);
27 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);
28
29 glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE,
sizeof(
Vert), (
void *)offsetof(
Vert, position));
30 glEnableVertexAttribArray(0);
31 glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE,
sizeof(
Vert), (
void *)offsetof(
Vert, normal));
32 glEnableVertexAttribArray(1);
33 glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE,
sizeof(
Vert), (
void *)offsetof(
Vert, texCoord));
34 glEnableVertexAttribArray(2);
35 glVertexAttribPointer(3, 4, GL_FLOAT, GL_FALSE,
sizeof(
Vert), (
void *)offsetof(
Vert, extras1));
36 glEnableVertexAttribArray(3);
37 std::cout << "Setup Model " << name << " on GPU.\n";
38}