61 glEnableVertexAttribArray(0);
62 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 *
sizeof(
float), (
void*)0);
65 glBindBuffer(GL_ARRAY_BUFFER,
data_VBO);
66 glBufferData(GL_ARRAY_BUFFER,
sizeof(
Face) *
face_number, 0, GL_DYNAMIC_DRAW);
70 glEnableVertexAttribArray(1);
71 glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE,
sizeof(
Face), (
void*)0);
73 glVertexAttribDivisor(1, 1);
75 glEnableVertexAttribArray(2);
76 glVertexAttribPointer(2, 4, GL_FLOAT, GL_FALSE,
sizeof(
Face), (
void*)(4 *
sizeof(
float)));
78 glVertexAttribDivisor(2, 1);
80 glEnableVertexAttribArray(3);
81 glVertexAttribPointer(3, 4, GL_FLOAT, GL_FALSE,
sizeof(
Face), (
void*)(8 *
sizeof(
float)));
83 glVertexAttribDivisor(3, 1);
85 glEnableVertexAttribArray(4);
86 glVertexAttribPointer(4, 4, GL_FLOAT, GL_FALSE,
sizeof(
Face), (
void*)(12 *
sizeof(
float)));
88 glVertexAttribDivisor(4, 1);
90 glEnableVertexAttribArray(5);
92 glVertexAttribPointer(5, 4, GL_FLOAT, GL_FALSE,
sizeof(
Face), (
void*)(16 *
sizeof(
float)));
94 glVertexAttribDivisor(5, 1);
96 glEnableVertexAttribArray(6);
98 glVertexAttribPointer(6, 4, GL_FLOAT, GL_FALSE,
sizeof(
Face), (
void*)(20 *
sizeof(
float)));
100 glVertexAttribDivisor(6, 1);
102 glEnableVertexAttribArray(7);
104 glVertexAttribIPointer(7, 1, GL_UNSIGNED_INT,
sizeof(
Face), (
void*)(24 *
sizeof(
float)));
106 glVertexAttribDivisor(7, 1);
108 glEnableVertexAttribArray(8);
110 glVertexAttribIPointer(8, 2, GL_UNSIGNED_INT,
sizeof(
Face), (
void*)(25 *
sizeof(
float)));
112 glVertexAttribDivisor(8, 1);
114 glBindBuffer(GL_ARRAY_BUFFER, 0);
115 glBindVertexArray(0);