naev 0.11.5
opengl_vbo.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
6#include "opengl.h"
7
8struct gl_vbo_s;
9typedef struct gl_vbo_s gl_vbo;
10
11/*
12 * Init/cleanup.
13 */
14int gl_initVBO (void);
15void gl_exitVBO (void);
16
17/*
18 * Create.
19 */
20gl_vbo* gl_vboCreateStream( GLsizei size, const void* data );
21gl_vbo* gl_vboCreateDynamic( GLsizei size, const void* data );
22gl_vbo* gl_vboCreateStatic( GLsizei size, const void* data );
23
24/*
25 * Modify.
26 */
27void gl_vboData( gl_vbo *vbo, GLsizei size, const void* data );
28void gl_vboSubData( gl_vbo *vbo, GLint offset, GLsizei size, const void* data );
29void* gl_vboMap( gl_vbo *vbo );
30void gl_vboUnmap( gl_vbo *vbo );
31void gl_vboActivate( gl_vbo *vbo, GLuint class, GLint size, GLenum type, GLsizei stride );
32void gl_vboActivateOffset( gl_vbo *vbo, GLuint class, GLuint offset,
33 GLint size, GLenum type, GLsizei stride );
34void gl_vboActivateAttribOffset( gl_vbo *vbo, GLuint index, GLuint offset,
35 GLint size, GLenum type, GLsizei stride );
36
37/*
38 * Destroy.
39 */
40void gl_vboDestroy( gl_vbo* vbo );
void gl_vboDestroy(gl_vbo *vbo)
Destroys a VBO.
Definition opengl_vbo.c:246
gl_vbo * gl_vboCreateStream(GLsizei size, const void *data)
Creates a stream vbo.
Definition opengl_vbo.c:145
void gl_vboUnmap(gl_vbo *vbo)
Unmaps a buffer.
Definition opengl_vbo.c:207
int gl_initVBO(void)
Initializes the OpenGL VBO subsystem.
Definition opengl_vbo.c:48
void * gl_vboMap(gl_vbo *vbo)
Maps a buffer.
Definition opengl_vbo.c:196
gl_vbo * gl_vboCreateDynamic(GLsizei size, const void *data)
Creates a dynamic vbo.
Definition opengl_vbo.c:162
void gl_exitVBO(void)
Exits the OpenGL VBO subsystem.
Definition opengl_vbo.c:56
void gl_vboActivateAttribOffset(gl_vbo *vbo, GLuint index, GLuint offset, GLint size, GLenum type, GLsizei stride)
Activates a VBO's offset.
Definition opengl_vbo.c:226
void gl_vboData(gl_vbo *vbo, GLsizei size, const void *data)
Reloads new data or grows the size of the vbo.
Definition opengl_vbo.c:98
void gl_vboSubData(gl_vbo *vbo, GLint offset, GLsizei size, const void *data)
Loads some data into the VBO.
Definition opengl_vbo.c:130
gl_vbo * gl_vboCreateStatic(GLsizei size, const void *data)
Creates a stream vbo.
Definition opengl_vbo.c:179
Contains the VBO.
Definition opengl_vbo.c:31