2005
Sams Publishing
glGetQueryObject
3G
glGetQueryObject
return parameters of a query object
C Specification
void glGetQueryObjectiv
GLuint id
GLenum pname
GLint * params
void glGetQueryObjectuiv
GLuint id
GLenum pname
GLuint * params
Parameters
id
Specifies the name of a query object.
pname
Specifies the symbolic name of a query object parameter.
Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
params
Returns the requested data.
Description
glGetQueryObject returns in params a selected parameter of the query object
specified by id.
pname names a specific query object parameter. pname can be as follows:
GL_QUERY_RESULT
params returns the value of the query object's passed samples counter.
The initial value is 0.
GL_QUERY_RESULT_AVAILABLE
params 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.
glGetQueryObject implicitly flushes 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, 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.
glGetQueryObject is available only if the GL version is 1.5 or greater.
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 if id is the name of a currently active
query object.
GL_INVALID_OPERATION is generated if glGetQueryObject
is executed between the execution of glBegin
and the corresponding execution of glEnd.
See Also
glBeginQuery,
glEndQuery,
glGetQueryiv,
glIsQuery
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/.