Browse Source

Updated and fixed *Query documentation.

Removed misleading "requires_gles30" line for AbstractQuery.
pull/51/head
Vladimír Vondruš 13 years ago
parent
commit
86e8739bc0
  1. 25
      src/Query.h

25
src/Query.h

@ -25,7 +25,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::AbstractQuery, Magnum::PrimitiveQuery, Magnum::SampleQuery, Magnum::TimeQuery * @brief Class @ref Magnum::AbstractQuery, @ref Magnum::PrimitiveQuery, @ref Magnum::SampleQuery, @ref Magnum::TimeQuery
*/ */
#include <Utility/Assert.h> #include <Utility/Assert.h>
@ -38,10 +38,9 @@ namespace Magnum {
/** /**
@brief Base class for queries @brief Base class for queries
See PrimitiveQuery, SampleQuery and TimeQuery documentation for more See @ref PrimitiveQuery, @ref SampleQuery and @ref TimeQuery documentation for
information. more information.
@todo Support for AMD's query buffer (@extension{AMD,query_buffer_object}) @todo Support for AMD's query buffer (@extension{AMD,query_buffer_object})
@requires_gles30 %Extension @es_extension{EXT,occlusion_query_boolean}
*/ */
class MAGNUM_EXPORT AbstractQuery: public AbstractObject { class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
public: public:
@ -101,9 +100,9 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
* Note that this function is blocking until the result is available. * Note that this function is blocking until the result is available.
* See resultAvailable(). * See resultAvailable().
* @see @fn_gl{GetQueryObject} with @def_gl{QUERY_RESULT} * @see @fn_gl{GetQueryObject} with @def_gl{QUERY_RESULT}
* @requires_gl33 %Extension @extension{ARB,timer_query} (result type * @requires_gl33 %Extension @extension{ARB,timer_query} for result
* @ref Magnum::UnsignedInt "UnsignedInt" and @ref Magnum::Long * type @ref Magnum::UnsignedInt "UnsignedInt" and @ref Magnum::Long
* "Long") * "Long"
* @requires_es_extension %Extension @es_extension{EXT,disjoint_timer_query} * @requires_es_extension %Extension @es_extension{EXT,disjoint_timer_query}
* for result types @ref Magnum::Int "Int", @ref Magnum::UnsignedLong "UnsignedLong" * for result types @ref Magnum::Int "Int", @ref Magnum::UnsignedLong "UnsignedLong"
* @ref Magnum::Long "Long". * @ref Magnum::Long "Long".
@ -113,7 +112,7 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject {
/** /**
* @brief End query * @brief End query
* *
* The result can be then retrieved by calling result(). * The result can be then retrieved by calling @ref result().
* @see @fn_gl{EndQuery} * @see @fn_gl{EndQuery}
*/ */
void end(); void end();
@ -158,9 +157,9 @@ template<> Long MAGNUM_EXPORT AbstractQuery::result<Long>();
Queries count of generated primitives from vertex shader, geometry shader or Queries count of generated primitives from vertex shader, geometry shader or
transform feedback and elapsed time. Example usage: transform feedback and elapsed time. Example usage:
@code @code
Query q; PrimitiveQuery q;
q.begin(Query::Target::PrimitivesGenerated); q.begin(PrimitiveQuery::Target::PrimitivesGenerated);
// rendering... // rendering...
q.end(); q.end();
@ -198,7 +197,7 @@ class PrimitiveQuery: public AbstractQuery {
/** /**
* @brief Begin query * @brief Begin query
* *
* Begins counting of given @p target until end() is called. * Begins counting of given @p target until @ref end() is called.
* @see @fn_gl{BeginQuery} * @see @fn_gl{BeginQuery}
*/ */
void begin(Target target) { void begin(Target target) {
@ -369,10 +368,10 @@ query either duration of sequence of commands or absolute timestamp. Example
usage of both methods: usage of both methods:
@code @code
TimeQuery q1, q2; TimeQuery q1, q2;
q1.begin(Query::Target::TimeElapsed); q1.begin(TimeQuery::Target::TimeElapsed);
// rendering... // rendering...
q1.end(); q1.end();
q2.begin(Query::Target::TimeElapsed); q2.begin(TimeQuery::Target::TimeElapsed);
// another rendering... // another rendering...
q2.end(); q2.end();
UnsignedInt timeElapsed1 = q1.result<UnsignedInt>(); UnsignedInt timeElapsed1 = q1.result<UnsignedInt>();

Loading…
Cancel
Save