1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
2 <!-- saved from url=(0013)about:internet -->
3 <?xml-stylesheet type=
"text/xsl" href=
"mathml.xsl"?><html xmlns=
"http://www.w3.org/1999/xhtml" xmlns:
pref=
"http://www.w3.org/2002/Math/preference" pref:
renderer=
"mathplayer-dl"><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" /><title>glBeginQuery
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.73.2" /></head><body><div class=
"refentry" lang=
"en" xml:
lang=
"en"><a id=
"glBeginQuery"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>glBeginQuery — delimit the boundaries of a query object
</p></div><div class=
"refsynopsisdiv"><h2>C Specification
</h2><div class=
"funcsynopsis"><table border=
"0" summary=
"Function synopsis" cellspacing=
"0" cellpadding=
"0"><tr><td><code class=
"funcdef">void
<b class=
"fsfunc">glBeginQuery
</b>(
</code></td><td>GLenum
</td><td><var class=
"pdparam">target
</var>,
</td></tr><tr><td> </td><td>GLuint
</td><td><var class=
"pdparam">id
</var><code>)
</code>;
</td></tr></table></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"parameters"></a><h2>Parameters
</h2><div class=
"variablelist"><dl><dt><span class=
"term"><em class=
"parameter"><code>target
</code></em></span></dt><dd><p>
4 Specifies the target type of query object established between
5 <code class=
"function">glBeginQuery
</code> and the subsequent
<a class=
"citerefentry" href=
"glEndQuery.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEndQuery
</span></span></a>.
6 The symbolic constant must be
<code class=
"constant">GL_SAMPLES_PASSED
</code>.
7 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>id
</code></em></span></dt><dd><p>
8 Specifies the name of a query object.
9 </p></dd></dl></div></div><div class=
"refsynopsisdiv"><h2>C Specification
</h2><div class=
"funcsynopsis"><table border=
"0" summary=
"Function synopsis" cellspacing=
"0" cellpadding=
"0"><tr><td><code class=
"funcdef">void
<b class=
"fsfunc">glEndQuery
</b>(
</code></td><td>GLenum
</td><td><var class=
"pdparam">target
</var><code>)
</code>;
</td></tr></table></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"parameters2"></a><h2>Parameters
</h2><div class=
"variablelist"><dl><dt><span class=
"term"><em class=
"parameter"><code>target
</code></em></span></dt><dd><p>
10 Specifies the target type of query object to be concluded.
11 The symbolic constant must be
<code class=
"constant">GL_SAMPLES_PASSED
</code>.
12 </p></dd></dl></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"description"></a><h2>Description
</h2><p>
13 <code class=
"function">glBeginQuery
</code> and
<a class=
"citerefentry" href=
"glEndQuery.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEndQuery
</span></span></a> delimit the
14 boundaries of a query object. If a query object with name
<em class=
"parameter"><code>id
</code></em> does not yet exist it is created.
16 When
<code class=
"function">glBeginQuery
</code> is executed, the query object's samples-passed counter is reset to
0. Subsequent
17 rendering will increment the counter once for every sample that passes the depth test. When
<code class=
"function">glEndQuery
</code>
18 is executed, the samples-passed counter is assigned to the query object's result value. This value can be queried by
19 calling
<a class=
"citerefentry" href=
"glGetQueryObject.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetQueryObject
</span></span></a> with
<em class=
"parameter"><code>pname
</code></em>
20 <code class=
"constant">GL_QUERY_RESULT
</code>.
22 Querying the
<code class=
"constant">GL_QUERY_RESULT
</code> implicitly flushes the GL pipeline until the rendering delimited by the
23 query object has completed and the result is available.
<code class=
"constant">GL_QUERY_RESULT_AVAILABLE
</code> can be queried to
24 determine if the result is immediately available or if the rendering is not yet complete.
25 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"notes"></a><h2>Notes
</h2><p>
26 If the samples-passed count exceeds the maximum value representable in the number of available bits, as reported by
27 <a class=
"citerefentry" href=
"glGetQueryiv.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetQueryiv
</span></span></a> with
<em class=
"parameter"><code>pname
</code></em>
28 <code class=
"constant">GL_QUERY_COUNTER_BITS
</code>, the count becomes undefined.
30 An implementation may support
0 bits in its samples-passed counter, in which case query results are always undefined
31 and essentially useless.
33 When
<code class=
"constant">GL_SAMPLE_BUFFERS
</code> is
0, the samples-passed counter will increment once for each fragment that passes
34 the depth test. When
<code class=
"constant">GL_SAMPLE_BUFFERS
</code> is
1, an implementation may either increment the samples-passed
35 counter individually for each sample of a fragment that passes the depth test, or it may choose to increment the counter for
36 all samples of a fragment if any one of them passes the depth test.
38 <code class=
"function">glBeginQuery
</code> and
<a class=
"citerefentry" href=
"glEndQuery.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEndQuery
</span></span></a>
39 are available only if the GL version is
1.5 or greater.
40 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"errors"></a><h2>Errors
</h2><p>
41 <code class=
"constant">GL_INVALID_ENUM
</code> is generated if
<em class=
"parameter"><code>target
</code></em> is not
<code class=
"constant">GL_SAMPLES_PASSED
</code>.
43 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<code class=
"function">glBeginQuery
</code> is executed while
44 a query object of the same
<em class=
"parameter"><code>target
</code></em> is already active.
46 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<a class=
"citerefentry" href=
"glEndQuery.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEndQuery
</span></span></a>
47 is executed when a query object of the same
<em class=
"parameter"><code>target
</code></em> is not active.
49 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<em class=
"parameter"><code>id
</code></em> is
0.
51 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<em class=
"parameter"><code>id
</code></em> is the name of an already active query object.
53 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<code class=
"function">glBeginQuery
</code> or
54 <a class=
"citerefentry" href=
"glEndQuery.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEndQuery
</span></span></a> is executed between the execution of
55 <a class=
"citerefentry" href=
"glBegin.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBegin
</span></span></a> and the corresponding execution of
56 <a class=
"citerefentry" href=
"glEnd.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEnd
</span></span></a>.
57 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"seealso"></a><h2>See Also
</h2><p>
58 <a class=
"citerefentry" href=
"glDeleteQueries.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glDeleteQueries
</span></span></a>,
59 <a class=
"citerefentry" href=
"glGenQueries.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGenQueries
</span></span></a>,
60 <a class=
"citerefentry" href=
"glGetQueryiv.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetQueryiv
</span></span></a>,
61 <a class=
"citerefentry" href=
"glGetQueryObject.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetQueryObject
</span></span></a>,
62 <a class=
"citerefentry" href=
"glIsQuery.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glIsQuery
</span></span></a>
63 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"Copyright"></a><h2>Copyright
</h2><p>
64 Copyright
<span class=
"trademark"></span>©
2005 Addison-Wesley.
65 This material may be distributed subject to the terms and conditions set forth in
66 the Open Publication License, v
1.0,
8 June
1999.
67 <a class=
"ulink" href=
"http://opencontent.org/openpub/" target=
"_top">http://opencontent.org/openpub/
</a>.
68 </p></div></div></body></html>