src/drawing.c
1#include <stdlib.h>
2
3#include "alba.h"
4
5void draw_triangles_indexed(
6 AlbaWindow* window,
7 const uint64_t num_vertices,
8 const float* vertices,
9 const float* attributes,
10 const uint64_t num_indices,
11 const uint32_t* indices
12)
13{
14 float_array_extend(&window->new_vertices, num_vertices * 2, vertices);
15 float_array_extend(&window->new_attributes, num_vertices * 4, attributes);
16 uint32_array_extend(&window->new_indices, num_indices, indices);
17 window->dirty = 1;
18}
19
20void draw_triangles(
21 AlbaWindow* window,
22 const uint64_t num_vertices,
23 const float* vertices,
24 const float* attributes
25)
26{
27 uint32_t* indices = malloc(num_vertices * sizeof(uint32_t));
28 for (uint64_t i = 0; i < num_vertices; i++)
29 {
30 indices[i] = i;
31 }
32 uint32_array_extend(&window->new_indices, num_vertices, indices);
33}