naev 0.12.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,
32 GLsizei stride );
33void gl_vboActivateOffset( gl_vbo *vbo, GLuint class, GLuint offset, GLint size,
34 GLenum type, GLsizei stride );
35void gl_vboActivateAttribOffset( gl_vbo *vbo, GLuint index, GLuint offset,
36 GLint size, GLenum type, GLsizei stride );
37
38/*
39 * Destroy.
40 */
41void gl_vboDestroy( gl_vbo *vbo );
void gl_vboDestroy(gl_vbo *vbo)
Destroys a VBO.
Definition opengl_vbo.c:244
gl_vbo * gl_vboCreateStream(GLsizei size, const void *data)
Creates a stream vbo.
Definition opengl_vbo.c:143
void gl_vboUnmap(gl_vbo *vbo)
Unmaps a buffer.
Definition opengl_vbo.c:205
int gl_initVBO(void)
Initializes the OpenGL VBO subsystem.
Definition opengl_vbo.c:45
void * gl_vboMap(gl_vbo *vbo)
Maps a buffer.
Definition opengl_vbo.c:194
gl_vbo * gl_vboCreateDynamic(GLsizei size, const void *data)
Creates a dynamic vbo.
Definition opengl_vbo.c:160
void gl_exitVBO(void)
Exits the OpenGL VBO subsystem.
Definition opengl_vbo.c:53
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:224
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:96
void gl_vboSubData(gl_vbo *vbo, GLint offset, GLsizei size, const void *data)
Loads some data into the VBO.
Definition opengl_vbo.c:128
gl_vbo * gl_vboCreateStatic(GLsizei size, const void *data)
Creates a stream vbo.
Definition opengl_vbo.c:177
Contains the VBO.
Definition opengl_vbo.c:27