glGetQueryObject

return parameters of a query object

Signature

glGetQueryBufferObject( )->
glGetQueryBufferObjecti64v( GLuint ( id ) , GLuint ( buffer ) , GLenum ( pname ) , GLintptr ( offset ) )-> void
glGetQueryBufferObjecti64v( id , buffer , pname , offset )
glGetQueryBufferObjectiv( GLuint ( id ) , GLuint ( buffer ) , GLenum ( pname ) , GLintptr ( offset ) )-> void
glGetQueryBufferObjectiv( id , buffer , pname , offset )
glGetQueryBufferObjectui64v( GLuint ( id ) , GLuint ( buffer ) , GLenum ( pname ) , GLintptr ( offset ) )-> void
glGetQueryBufferObjectui64v( id , buffer , pname , offset )
glGetQueryBufferObjectuiv( GLuint ( id ) , GLuint ( buffer ) , GLenum ( pname ) , GLintptr ( offset ) )-> void
glGetQueryBufferObjectuiv( id , buffer , pname , offset )
glGetQueryObject( )->
glGetQueryObjecti64v( GLuint ( id ) , GLenum ( pname ) , GLint64 * ( params ) )-> void
glGetQueryObjecti64v( id , pname , params )
glGetQueryObjectiv( GLuint ( id ) , GLenum ( pname ) , GLint * ( params ) )-> void
glGetQueryObjectiv( id , pname , params )
glGetQueryObjectui64v( GLuint ( id ) , GLenum ( pname ) , GLuint64 * ( params ) )-> void
glGetQueryObjectui64v( id , pname , params )
glGetQueryObjectuiv( GLuint ( id ) , GLenum ( pname ) , GLuint * ( params ) )-> void
glGetQueryObjectuiv( id , pname , params )

Parameters

VariablesDescription
id
Specifies the name of a query object.
buffer
Specifies the name of a buffer object.
pname
Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE .
params
If a buffer is bound to the GL_QUERY_RESULT_BUFFER target, then params is treated as an offset to a location within that buffer's data store to receive the result of the query. If no buffer is bound to GL_QUERY_RESULT_BUFFER , then params is treated as an address in client memory of a variable to receive the resulting data.
offset
Specifies the byte offset into buffer 's data store where the queried result will be written.

Description

These commands return a selected parameter of the query object specified by id . glGetQueryObject returns in params a selected parameter of the query object specified by id . glGetQueryBufferObject returns in buffer a selected parameter of the query object specified by id , by writing it to buffer 's data store at the byte offset specified by offset .
pname names a specific query object parameter. pname can be as follows:
GL_QUERY_RESULT
params or buffer returns the value of the query object's passed samples counter. The initial value is 0.
GL_QUERY_RESULT_NO_WAIT
If the result of the query is available (that is, a query of GL_QUERY_RESULT_AVAILABLE would return non-zero), then params or buffer returns the value of the query object's passed samples counter, otherwise, the data referred to by params or buffer is not modified. The initial value is 0.
GL_QUERY_RESULT_AVAILABLE
params or buffer returns whether the passed samples counter is immediately available. If a delay would occur waiting for the query result, GL_FALSE is returned. Otherwise, GL_TRUE is returned, which also indicates that the results of all previous queries are available as well.

Notes

If an error is generated, no change is made to the contents of params or buffer .
glGetQueryObject and glGetQueryBufferObject implicitly flush the GL pipeline so that any incomplete rendering delimited by the occlusion query completes in finite time.
If multiple queries are issued using the same query object id before calling glGetQueryObject or glGetQueryBufferObject , the results of the most recent query will be returned. In this case, when issuing a new query, the results of the previous query are discarded.
glGetQueryObjecti64v and glGetQueryObjectui64v are available only if the GL version is 3.3 or greater.
GL_QUERY_RESULT_NO_WAIT is accepted for pname only if the GL version is 4.4 or greater.
The GL_QUERY_RESULT_BUFFER target is available only if the GL version is 4.4 or higher. On earlier versions of the GL, params is always an address in client memory.

Errors

GL_INVALID_ENUM is generated if pname is not an accepted value.
GL_INVALID_OPERATION is generated if id is not the name of a query object.
GL_INVALID_OPERATION is generated by glGetQueryBufferObject if buffer is not the name of an already created buffer object.
GL_INVALID_OPERATION is generated if id is the name of a currently active query object.
GL_INVALID_OPERATION is generated by glGetQueryObject if a buffer is currently bound to the GL_QUERY_RESULT_BUFFER target and the command would cause data to be written beyond the bounds of that buffer's data store.
GL_INVALID_OPERATION is generated by glGetQueryBufferObject if the command would cause data to be written beyond the bounds of buffer 's data store.
GL_INVALID_VALUE is generated by glGetQueryBufferObject if offset is negative.

Version Support

glGetQueryObjecti64v
glGetQueryObjectiv
glGetQueryObjectui64v
glGetQueryObjectuiv
glGetQueryBufferObjecti64v
glGetQueryBufferObjectiv
glGetQueryBufferObjectui64v
glGetQueryBufferObjectuiv

See Also

Copyright

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

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

glGetQueryObjectiv
OpenGLContext OpenGLContext/scenegraph/boundingvolume.py Lines: 41, 41, 42
OpenGLContext tests/arbocclusionquery.py Lines: 18, 18, 19, 52
glGetQueryObjectuiv
OpenGLContext tests/arbocclusionquery.py Lines: 19, 55