2005
Sams Publishing
glGetBufferPointerv
3G

# glGetBufferPointerv

return the pointer to a mapped buffer object's data store

## C Specification

                    void glGetBufferPointerv
                    GLenum target
                    GLenum pname
                    GLvoid ** params

## Parameters

`target`

  Specifies the target buffer object. The symbolic constant must be `GL_ARRAY_BUFFER`, `GL_ELEMENT_ARRAY_BUFFER`, `GL_PIXEL_PACK_BUFFER`, or `GL_PIXEL_UNPACK_BUFFER`.

`pname`

  Specifies the pointer to be returned. The symbolic constant must be `GL_BUFFER_MAP_POINTER`.

`params`

  Returns the pointer value specified by `pname`.

## Description

`glGetBufferPointerv` returns pointer information. `pname` is a symbolic constant indicating the pointer to be returned, which must be `GL_BUFFER_MAP_POINTER`, the pointer to which the buffer object's data store is mapped. If the data store is not currently mapped, `NULL` is returned. `params` is a pointer to a location in which to place the returned pointer value.

## Notes

If an error is generated, no change is made to the contents of `params`.

`glGetBufferPointerv` is available only if the GL version is 1.5 or greater.

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

The initial value for the pointer is `NULL`.

## Errors

`GL_INVALID_ENUM` is generated if `target` or `pname` is not an accepted value.

`GL_INVALID_OPERATION` is generated if the reserved buffer object name 0 is bound to `target`.

`GL_INVALID_OPERATION` is generated if `glGetBufferParameteriv` is executed between the execution of glBegin and the corresponding execution of glEnd.

## See Also

glBindBuffer, glMapBuffer

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