replace VG_STATIC -> static
[vg.git] / vg_graph.h
1 #ifndef VG_GRAPH_H
2 #define VG_GRAPH_H
3
4 #define VG_GAME
5 #include "vg/vg.h"
6
7 enum { k_vg_graph_max_samples = 1024 };
8 enum { k_vg_graph_max_vertices = k_vg_graph_max_samples * 2 };
9 enum { k_vg_graph_max_indices = (k_vg_graph_max_samples-1) * 6 };
10
11 struct vg_graph
12 {
13 GLuint vao, vbo, ebo;
14 };
15
16 static void vg_graph_init( struct vg_graph *graph )
17 {
18 vg_acquire_thread_sync();
19 {
20 glGenVertexArrays( 1, &graph->vao );
21 glGenBuffers( 1, &graph->vbo );
22 glGenBuffers( 1, &graph->ebo );
23 glBindVertexArray( graph->vao );
24
25 size_t stride = sizeof(v2f);
26
27 glBindBuffer( GL_ARRAY_BUFFER, graph->vbo );
28 glBufferData( GL_ARRAY_BUFFER, k_vg_graph_max_vertices*stride,
29 NULL, GL_DYNAMIC_DRAW );
30
31 glBindVertexArray( graph->vao );
32 glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, graph->ebo );
33 glBufferData( GL_ELEMENT_ARRAY_BUFFER,
34 k_vg_graph_max_indices*sizeof(u16), NULL,
35 GL_DYNAMIC_DRAW );
36
37 glVertexAttribPointer( 0, 2, GL_FLOAT, GL_FALSE, stride, (void *)0 );
38 glEnableVertexAttribArray( 0 );
39 VG_CHECK_GL_ERR();
40 }
41 }
42
43 static void vg_graph_add_sample( struct vg_graph *graph )
44 {
45
46 }
47
48 #endif /* VG_GRAPH_H */