GLAPI/glGetBufferPointer: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adjusting API page category.
m Bot: Adding better formatting.
 
(11 intermediate revisions by 2 users not shown)
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   void '''glGetBufferPointerv'''(GLenum ''target'', GLenum ''pname'', GLvoid ** ''params'');
   void '''glGetBufferPointerv'''(GLenum {{param|target}}, GLenum {{param|pname}}, GLvoid ** {{param|params}});


; target
{{glapi buffertargets}}
: Specifies the target buffer object. The symbolic constant must be {{code|GL_ARRAY_BUFFER}}, {{code|GL_COPY_READ_BUFFER}}, {{code|GL_COPY_WRITE_BUFFER}}, {{code|GL_ELEMENT_ARRAY_BUFFER}}, {{code|GL_PIXEL_PACK_BUFFER}}, {{code|GL_PIXEL_UNPACK_BUFFER}}, {{code|GL_TEXTURE_BUFFER}}, {{code|GL_TRANSFORM_FEEDBACK_BUFFER}}, or {{code|GL_UNIFORM_BUFFER}}.
; pname
; pname
: Specifies the pointer to be returned. The symbolic constant must be {{code|GL_BUFFER_MAP_POINTER}}.
: Specifies the pointer to be returned. The symbolic constant must be {{enum|GL_BUFFER_MAP_POINTER}}.
; params
; params
: Returns the pointer value specified by ''pname''.
: Returns the pointer value specified by {{param|pname}}.


== Description ==
== Description ==


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


== Notes ==
== Notes ==


If an error is generated, no change is made to the contents of ''params''.
If an error is generated, no change is made to the contents of {{param|params}}.


The initial value for the pointer is {{code|NULL}}.
The initial value for the pointer is {{enum|NULL}}.
 
The {{enum|GL_ATOMIC_COUNTER_BUFER}} target is available only if the GL version is 4.2 or greater.
 
The {{enum|GL_DISPATCH_INDIRECT_BUFFER}} and {{enum|GL_SHADER_STORAGE_BUFFER}} targets are available only if the GL version is 4.3 or greater.
 
The {{enum|GL_QUERY_BUFFER}} target is available only if the GL version is 4.4 or greater.


== Errors ==
== Errors ==


{{code|GL_INVALID_ENUM}} is generated if ''target'' or ''pname'' is not an accepted value.
{{enum|GL_INVALID_ENUM}} is generated if {{param|target}} or {{param|pname}} is not an accepted value.


{{code|GL_INVALID_OPERATION}} is generated if the reserved buffer object name 0 is bound to ''target''.
{{enum|GL_INVALID_OPERATION}} is generated if the reserved buffer object name 0 is bound to {{param|target}}.


== See Also ==
== See Also ==


[[GLAPI/glBindBuffer|glBindBuffer]], [[GLAPI/glMapBuffer|glMapBuffer]]
{{apifunc|glBindBuffer}}, {{apifunc|glMapBufferRange}}, {{apifunc|glMapBuffer}}


== Copyright ==
== 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/ http://opencontent.org/openpub/].
Copyright © 2005 Addison-Wesley. Copyright © 2011-2013 Khronos Group. 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/ http://opencontent.org/openpub/].


[[Category:API Reference 4|GetBufferPointerv]]
[[Category:Core API Ref Buffer Objects|GetBufferPointer]]
[[Category:GL 4 API Buffer Objects|GetBufferPointer]]
[[Category:Core API Reference|GetBufferPointer]]
[[Category:Buffer Object API State Functions|GetBufferPointer]]

Latest revision as of 09:59, 15 August 2013

glGetBufferPointerv
Core in version 4.6
Core since version 1.5

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

Function Definition

 void glGetBufferPointerv(GLenum target​, GLenum pname​, GLvoid ** params​);
target
Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ATOMIC_COUNTER_BUFFER, GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_DRAW_INDIRECT_BUFFER, GL_DISPATCH_INDIRECT_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, GL_QUERY_BUFFER, GL_SHADER_STORAGE_BUFFER, GL_TEXTURE_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER, or GL_UNIFORM_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​.

The initial value for the pointer is NULL.

The GL_ATOMIC_COUNTER_BUFER target is available only if the GL version is 4.2 or greater.

The GL_DISPATCH_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER targets are available only if the GL version is 4.3 or greater.

The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater.

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​.

See Also

glBindBuffer, glMapBufferRange, glMapBuffer

Copyright

Copyright © 2005 Addison-Wesley. Copyright © 2011-2013 Khronos Group. 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/.