Name
glGenBuffers — generate buffer object namesC Specification
void glGenBuffers( | GLsizei | n, |
| GLuint * | buffers); |
Parameters
n- Specifies the number of buffer object names to be generated.
buffers- Specifies an array in which the generated buffer object names are stored.
Description
glGenBuffers returns n buffer object names in buffers. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to glGenBuffers.Buffer object names returned by a call to
glGenBuffers are not returned by subsequent calls, unless they are first deleted with glDeleteBuffers.No buffer objects are associated with the returned buffer object names until they are first bound by calling glBindBuffer.
Errors
GL_INVALID_VALUE is generated if n is negative.GL_INVALID_OPERATION is generated if glGenBuffers is executed between the execution of glBegin and the corresponding execution of glEnd.Copyright
Copyright © 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.Example
1
GLfloat afVertices[] = { -0.4f,-0.4f,0.0f, // Position
GLfloat afVertices[] = { -0.4f,-0.4f,0.0f, // Position
2
0.4f ,-0.4f,0.0f,
0.4f ,-0.4f,0.0f,
3
0.0f ,0.4f ,0.0f};
0.0f ,0.4f ,0.0f};
4
GLuint ui32Vbo;
GLuint ui32Vbo;
5
// Generate and Bind the vertex buffer object (VBO)
6
glGenBuffers(1, &ui32Vbo);
// Generate and Bind the vertex buffer object (VBO)6
glGenBuffers(1, &ui32Vbo);
7
glBindBuffer(GL_ARRAY_BUFFER, ui32Vbo);
glBindBuffer(GL_ARRAY_BUFFER, ui32Vbo);
8

9
unsigned int uiSize = 3 * (sizeof(GLfloat) * 3);
unsigned int uiSize = 3 * (sizeof(GLfloat) * 3);
10
glBufferData(GL_ARRAY_BUFFER, uiSize, afVertices, GL_STATIC_DRAW);
glBufferData(GL_ARRAY_BUFFER, uiSize, afVertices, GL_STATIC_DRAW);
11

12
// Frame
13
glClear(GL_COLOR_BUFFER_BIT);
// Frame 13
glClear(GL_COLOR_BUFFER_BIT);
14

15
// First gets the location of that variable in the shader using its name
16
int i32Location = glGetUniformLocation(uiProgramObject, "myPMVMatrix");
// First gets the location of that variable in the shader using its name16
int i32Location = glGetUniformLocation(uiProgramObject, "myPMVMatrix");
17
glUniformMatrix4fv( i32Location, 1, GL_FALSE, pfIdentity);
glUniformMatrix4fv( i32Location, 1, GL_FALSE, pfIdentity);
18

19
glEnableVertexAttribArray(VERTEX_ARRAY);
glEnableVertexAttribArray(VERTEX_ARRAY);
20
glVertexAttribPointer(VERTEX_ARRAY, 3, GL_FLOAT, GL_FALSE, 0, 0);
glVertexAttribPointer(VERTEX_ARRAY, 3, GL_FLOAT, GL_FALSE, 0, 0);
21

22
glDrawArrays(GL_TRIANGLES, 0, 3);
glDrawArrays(GL_TRIANGLES, 0, 3);
23
eglSwapBuffers(eglDisplay, eglSurface);
eglSwapBuffers(eglDisplay, eglSurface);