X-Git-Url: http://git.hcoop.net/clinton/guile-figl.git/blobdiff_plain/b002944dd992dc5a273e0067504beb48e1ae3d1c..a6a00658f26c164551287799b194cc2f07eb78be:/upstream-doc/man2/xhtml/glBindBuffer.xml diff --git a/upstream-doc/man2/xhtml/glBindBuffer.xml b/upstream-doc/man2/xhtml/glBindBuffer.xml new file mode 100644 index 0000000..b877045 --- /dev/null +++ b/upstream-doc/man2/xhtml/glBindBuffer.xml @@ -0,0 +1,132 @@ + + +glBindBuffer

Name

glBindBuffer — bind a named buffer object

C Specification

void glBindBuffer(GLenum  target,
 GLuint  buffer);

Parameters

target

+ Specifies the target to which the buffer object is bound. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. +

buffer

+ Specifies the name of a buffer object. +

Description

+ glBindBuffer lets you create or use a named buffer object. Calling glBindBuffer with + target set to + GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER or + GL_PIXEL_UNPACK_BUFFER and buffer set to the name + of the new buffer object binds the buffer object name to the target. + When a buffer object is bound to a target, the previous binding for that + target is automatically broken. +

+ Buffer object names are unsigned integers. The value zero is reserved, but + there is no default buffer object for each buffer object target. Instead, buffer set to zero + effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target. + Buffer object names and the corresponding buffer object contents are local to + the shared display-list space (see glXCreateContext) of the current + GL rendering context; + two rendering contexts share buffer object names only if they + also share display lists. +

+ You may use glGenBuffers to generate a set of new buffer object names. +

+ The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with + GL_READ_WRITE access and GL_STATIC_DRAW usage. +

+ While a non-zero buffer object name is bound, GL operations on the target to which it is + bound affect the bound buffer object, and queries of the target to which it is bound return state + from the bound buffer object. While buffer object name zero is bound, as in the initial state, + attempts to modify or query state on the target to which it is bound generates an + GL_INVALID_OPERATION error. +

+ When vertex array pointer state is changed, for example by a call to + glNormalPointer, + the current buffer object binding (GL_ARRAY_BUFFER_BINDING) is copied into the + corresponding client state for the vertex array type being changed, for example + GL_NORMAL_ARRAY_BUFFER_BINDING. While a non-zero buffer object is bound to the + GL_ARRAY_BUFFER target, the vertex array pointer parameter that is traditionally + interpreted as a pointer to client-side memory is instead interpreted as an offset within the + buffer object measured in basic machine units. +

+ While a non-zero buffer object is bound to the GL_ELEMENT_ARRAY_BUFFER target, + the indices parameter of glDrawElements, + glDrawRangeElements, or + glMultiDrawElements that is traditionally + interpreted as a pointer to client-side memory is instead interpreted as an offset within the + buffer object measured in basic machine units. +

+ While a non-zero buffer object is bound to the GL_PIXEL_PACK_BUFFER target, + the following commands are affected: glGetCompressedTexImage, + glGetConvolutionFilter, + glGetHistogram, + glGetMinmax, + glGetPixelMap, + glGetPolygonStipple, + glGetSeparableFilter, + glGetTexImage, and + glReadPixels. The pointer parameter that is + traditionally interpreted as a pointer to client-side memory where the pixels are to be packed is instead + interpreted as an offset within the buffer object measured in basic machine units. +

+ While a non-zero buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target, + the following commands are affected: glBitmap, + glColorSubTable, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glConvolutionFilter1D, + glConvolutionFilter2D, + glDrawPixels, + glPixelMap, + glPolygonStipple, + glSeparableFilter2D, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, and + glTexSubImage3D. The pointer parameter that is + traditionally interpreted as a pointer to client-side memory from which the pixels are to be unpacked is + instead interpreted as an offset within the buffer object measured in basic machine units. +

+ A buffer object binding created with glBindBuffer remains active until a different + buffer object name is bound to the same target, or until the bound buffer object is + deleted with glDeleteBuffers. +

+ Once created, a named buffer object may be re-bound to any target as often as needed. However, + the GL implementation may make choices about how to optimize the storage of a buffer object based + on its initial binding target. +

Notes

+ glBindBuffer is available only if the GL version is 1.5 or greater. +

+ GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are + available only if the GL version is 2.1 or greater. +

Errors

+ GL_INVALID_ENUM is generated if target is not one of the allowable + values. +

+ GL_INVALID_OPERATION is generated if glBindBuffer is executed + between the execution of glBegin and the corresponding + execution of glEnd. +

Associated Gets

+ glGet with argument GL_ARRAY_BUFFER_BINDING +

+ glGet with argument GL_ELEMENT_ARRAY_BUFFER_BINDING +

+ glGet with argument GL_PIXEL_PACK_BUFFER_BINDING +

+ glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING +

See Also

+ glDeleteBuffers, + glGenBuffers, + glGet, + glIsBuffer +

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/. +