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