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}