Copyright | (c) Sven Panne, Lars Corbijn 2004-2016 |
---|---|
License | BSD3 |
Maintainer | Sven Panne <svenpanne@gmail.com> |
Stability | stable |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
This module corresponds to section 4.2 (Query Objects and Asynchronous Queries) of the OpenGL 4.4 specs.
- data QueryObject
- type QueryIndex = GLuint
- maxVertexStreams :: GettableStateVar QueryIndex
- data QueryTarget
- beginQuery :: QueryTarget -> QueryObject -> IO ()
- endQuery :: QueryTarget -> IO ()
- withQuery :: QueryTarget -> QueryObject -> IO a -> IO a
- currentQuery :: QueryTarget -> GettableStateVar (Maybe QueryObject)
- queryCounterBits :: QueryTarget -> GettableStateVar GLsizei
- queryResultAvailable :: QueryObject -> GettableStateVar Bool
- class Storable a => QueryResult a
- queryResult :: QueryResult a => QueryObject -> GettableStateVar a
- timestampQuery :: QueryObject -> IO ()
- timestamp :: GettableStateVar GLuint64
Creating and Delimiting Queries
data QueryObject Source #
type QueryIndex = GLuint Source #
data QueryTarget Source #
beginQuery :: QueryTarget -> QueryObject -> IO () Source #
endQuery :: QueryTarget -> IO () Source #
withQuery :: QueryTarget -> QueryObject -> IO a -> IO a Source #
Convenience function for an exception-safe combination of beginQuery
and
endQuery
.
Query Target Queries
Query Object Queries
class Storable a => QueryResult a Source #
getQueryObjectv
queryResult :: QueryResult a => QueryObject -> GettableStateVar a Source #
Time Queries
timestampQuery :: QueryObject -> IO () Source #
Record the time after all previous commands on the GL client and server state and the framebuffer have been fully realized
timestamp :: GettableStateVar GLuint64 Source #
Contains the GL time after all previous commands have reached the GL server but have not yet necessarily executed.