remove indirection in vertex builder
This commit is contained in:
@ -44,16 +44,15 @@ VertexBuffer get_quad_element_buffer(void) {
|
||||
VertexBufferBuilder builder = build_vertex_buffer(buffer, sizeof (GLshort) * QUAD_ELEMENT_BUFFER_LENGTH * 6 );
|
||||
|
||||
for (size_t i = 0; i < QUAD_ELEMENT_BUFFER_LENGTH; ++i) {
|
||||
GLshort indices[6];
|
||||
indices[0] = (GLshort)(i * 4 + 0);
|
||||
indices[1] = (GLshort)(i * 4 + 1);
|
||||
indices[2] = (GLshort)(i * 4 + 2);
|
||||
indices[3] = (GLshort)(i * 4 + 2);
|
||||
indices[4] = (GLshort)(i * 4 + 3);
|
||||
indices[5] = (GLshort)(i * 4 + 0);
|
||||
|
||||
push_to_vertex_buffer_builder(&builder, indices, sizeof indices);
|
||||
((GLshort *)builder.base)[i * 6 + 0] = (GLshort)(i * 4 + 0);
|
||||
((GLshort *)builder.base)[i * 6 + 1] = (GLshort)(i * 4 + 1);
|
||||
((GLshort *)builder.base)[i * 6 + 2] = (GLshort)(i * 4 + 2);
|
||||
((GLshort *)builder.base)[i * 6 + 3] = (GLshort)(i * 4 + 2);
|
||||
((GLshort *)builder.base)[i * 6 + 4] = (GLshort)(i * 4 + 3);
|
||||
((GLshort *)builder.base)[i * 6 + 5] = (GLshort)(i * 4 + 0);
|
||||
}
|
||||
|
||||
finish_vertex_builder(&builder);
|
||||
}
|
||||
|
||||
SDL_assert_always(buffer);
|
||||
@ -71,17 +70,14 @@ VertexBuffer get_circle_element_buffer(void) {
|
||||
|
||||
for (size_t i = 1; i < CIRCLE_VERTICES_MAX - 1; ++i) {
|
||||
/* first one is center point index, always zero */
|
||||
GLshort indices[3];
|
||||
|
||||
indices[0] = 0;
|
||||
((GLshort *)builder.base)[(i - 1) * 3 + 0] = 0;
|
||||
|
||||
/* generated point index */
|
||||
indices[1] = (GLshort)i;
|
||||
|
||||
indices[2] = (GLshort)i + 1;
|
||||
|
||||
push_to_vertex_buffer_builder(&builder, indices, sizeof indices);
|
||||
((GLshort *)builder.base)[(i - 1) * 3 + 1] = (GLshort)i;
|
||||
((GLshort *)builder.base)[(i - 1) * 3 + 2] = (GLshort)i + 1;
|
||||
}
|
||||
|
||||
finish_vertex_builder(&builder);
|
||||
}
|
||||
|
||||
SDL_assert_always(buffer);
|
||||
|
Reference in New Issue
Block a user