GLAPI/glGetBufferParameter: 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 '''glGetBufferParameteriv'''(GLenum ''target'', GLenum ''value'', GLint * ''data'');
   void '''glGetBufferParameteriv'''(GLenum {{param|target}}, GLenum {{param|value}}, GLint * {{param|data}});
  void '''glGetBufferParameteri64v'''(GLenum {{param|target}}, GLenum {{param|value}}, GLint64 * {{param|data}});


; 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}}.
; value
; value
: Specifies the symbolic name of a buffer object parameter. Accepted values are {{code|GL_BUFFER_ACCESS}}, {{code|GL_BUFFER_MAPPED}}, {{code|GL_BUFFER_SIZE}}, or {{code|GL_BUFFER_USAGE}}.
: Specifies the symbolic name of a buffer object parameter. Accepted values are {{enum|GL_BUFFER_ACCESS}}, {{enum|GL_BUFFER_MAPPED}}, {{enum|GL_BUFFER_SIZE}}, or {{enum|GL_BUFFER_USAGE}}.
; data
; data
: Returns the requested parameter.
: Returns the requested parameter.
Line 19: Line 19:
== Description ==
== Description ==


'''glGetBufferParameteriv''' returns in ''data'' a selected parameter of the buffer object specified by ''target''.
'''glGetBufferParameteriv''' returns in {{param|data}} a selected parameter of the buffer object specified by {{param|target}}.


''value'' names a specific buffer object parameter, as follows:
{{param|value}} names a specific buffer object parameter, as follows:


; {{code|GL_BUFFER_ACCESS}}
; {{enum|GL_BUFFER_ACCESS}}
: ''params'' returns the access policy set while mapping the buffer object. The initial value is {{code|GL_READ_WRITE}}.
: {{param|params}} returns the access policy set while mapping the buffer object. The initial value is {{enum|GL_READ_WRITE}}.
; {{code|GL_BUFFER_MAPPED}}
; {{enum|GL_BUFFER_MAPPED}}
: ''params'' returns a flag indicating whether the buffer object is currently mapped. The initial value is {{code|GL_FALSE}}.
: {{param|params}} returns a flag indicating whether the buffer object is currently mapped. The initial value is {{enum|GL_FALSE}}.
; {{code|GL_BUFFER_SIZE}}
; {{enum|GL_BUFFER_SIZE}}
: ''params'' returns the size of the buffer object, measured in bytes. The initial value is 0.
: {{param|params}} returns the size of the buffer object, measured in bytes. The initial value is 0.
; {{code|GL_BUFFER_USAGE}}
; {{enum|GL_BUFFER_USAGE}}
: ''params'' returns the buffer object's usage pattern. The initial value is {{code|GL_STATIC_DRAW}}.
: {{param|params}} returns the buffer object's usage pattern. The initial value is {{enum|GL_STATIC_DRAW}}.
== Notes ==
== Notes ==


If an error is generated, no change is made to the contents of ''data''.
If an error is generated, no change is made to the contents of {{param|data}}.
 
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 ''value'' is not an accepted value.
{{enum|GL_INVALID_ENUM}} is generated if {{param|target}} or {{param|value}} 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/glBufferData|glBufferData]], [[GLAPI/glMapBuffer|glMapBuffer]], [[GLAPI/glUnmapBuffer|glUnmapBuffer]]
{{apifunc|glBindBuffer}}, {{apifunc|glBufferData}}, {{apifunc|glMapBufferRange}}, {{apifunc|glMapBuffer}}, {{apifunc|glUnmapBuffer}}


== 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 © 2010-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|GetBufferParameter]]
[[Category:Core API Ref Buffer Objects|GetBufferParameter]]
[[Category:GL 4 API Buffer Objects|GetBufferParameter]]
[[Category:Core API Reference|GetBufferParameter]]
[[Category:Buffer Object API State Functions|GetBufferParameter]]

Latest revision as of 09:59, 15 August 2013

glGetBufferParameteriv
Core in version 4.6
Core since version 1.5

glGetBufferParameteriv: return parameters of a buffer object

Function Definition

 void glGetBufferParameteriv(GLenum target​, GLenum value​, GLint * data​);
 void glGetBufferParameteri64v(GLenum target​, GLenum value​, GLint64 * data​);
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.
value
Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE.
data
Returns the requested parameter.

Description

glGetBufferParameteriv returns in data​ a selected parameter of the buffer object specified by target​.

value​ names a specific buffer object parameter, as follows:

GL_BUFFER_ACCESS
params​ returns the access policy set while mapping the buffer object. The initial value is GL_READ_WRITE.
GL_BUFFER_MAPPED
params​ returns a flag indicating whether the buffer object is currently mapped. The initial value is GL_FALSE.
GL_BUFFER_SIZE
params​ returns the size of the buffer object, measured in bytes. The initial value is 0.
GL_BUFFER_USAGE
params​ returns the buffer object's usage pattern. The initial value is GL_STATIC_DRAW.

Notes

If an error is generated, no change is made to the contents of data​.

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 value​ is not an accepted value.

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

See Also

glBindBuffer, glBufferData, glMapBufferRange, glMapBuffer, glUnmapBuffer

Copyright

Copyright © 2005 Addison-Wesley. Copyright © 2010-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/.