include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / manglsl / xhtml / gl_SampleMask.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3 <!-- saved from url=(0013)about:internet -->
4 <?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" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>gl_SampleMask - OpenGL Shading Language (GLSL)</title><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="gl_SampleMask"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>gl_SampleMask — specifies the sample coverage mask for the current fragment</p></div><div class="refsynopsisdiv"><h2>Declaration</h2><div class="funcsynopsis"><code class="function">out int gl_SampleMask[];</code></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
5 <code class="function">gl_SampleMask</code> is a fragment language output array that may be
6 used to set the sample mask for the fragment being processed. Coverage for the current
7 fragment will become the logical AND of the coverage mask and the output <code class="function">gl_SampleMask</code>.
8 That is, setting a bit in <code class="function">gl_SampleMask</code> to zero will cause the
9 corresponding sample to be considered uncovered for the purposes of multisample fragment operations. However,
10 setting sample mask bits back to one will never enable samples not covered by the original primitive.
11 Bit <span class="emphasis"><em>B</em></span> of mask <code class="function">gl_SampleMask[M]</code> corresponds to sample
12 32 * <span class="emphasis"><em>M</em></span> + <span class="emphasis"><em>B</em></span>. This array must be sized in the fragment shader
13 either implicitly or explicitly to be the same size as the implementation-dependent maximum
14 sample-mask (as an array of 32-bit elements), determined by the maximum number of samples.
15 If the fragment shader statically assigns a value to <code class="function">gl_SampleMask</code>, the
16 sample mask will be undefined for any array elements of any fragment shader invocation that
17 fails to assign a value. If a shader does not statically assign a value to <code class="function">gl_SampleMask</code>,
18 the sample mask has no effect on the processing of a fragment.
19 If the fragment shader is being evaluated at any frequency other than per-fragment, bits within
20 the sample mask not corresponding to the current fragment shader invocation are ignored.
21 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="versions"></a><h2>Version Support</h2><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
22 Variable
23 </strong></span></th><th align="left"><span class="bold"><strong>
24 Version 1.10
25 </strong></span></th><th align="left"><span class="bold"><strong>
26 Version 1.20
27 </strong></span></th><th align="left"><span class="bold"><strong>
28 Version 1.30
29 </strong></span></th><th align="left"><span class="bold"><strong>
30 Version 1.40
31 </strong></span></th><th align="left"><span class="bold"><strong>
32 Version 1.50
33 </strong></span></th><th align="left"><span class="bold"><strong>
34 Version 3.30
35 </strong></span></th><th align="left"><span class="bold"><strong>
36 Version 4.00
37 </strong></span></th><th align="left"><span class="bold"><strong>
38 Version 4.10
39 </strong></span></th><th align="left"><span class="bold"><strong>
40 Version 4.20
41 </strong></span></th></tr><tr><th align="left">
42 gl_SampleMask
43 </th><th align="center">
44 <span class="emphasis"><em>-</em></span>
45 </th><th align="center">
46 <span class="emphasis"><em>-</em></span>
47 </th><th align="center">
48 <span class="emphasis"><em>-</em></span>
49 </th><th align="center">
50 <span class="emphasis"><em>-</em></span>
51 </th><th align="center">
52 <span class="emphasis"><em>-</em></span>
53 </th><th align="center">
54 <span class="emphasis"><em>-</em></span>
55 </th><th align="center">
56 <span class="emphasis"><em>Y</em></span>
57 </th><th align="center">
58 <span class="emphasis"><em>Y</em></span>
59 </th><th align="center">
60 <span class="emphasis"><em>Y</em></span>
61 </th></tr></thead></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
62 <a href="gl_SampleMaskIn.xml"><span class="citerefentry"><span class="refentrytitle">gl_SampleMaskIn</span></span></a>,
63 <a href="gl_SampleID.xml"><span class="citerefentry"><span class="refentrytitle">gl_SampleID</span></span></a>,
64 <a href="gl_SamplePosition.xml"><span class="citerefentry"><span class="refentrytitle">gl_SamplePosition</span></span></a>,
65 <a href="gl_FragCoord.xml"><span class="citerefentry"><span class="refentrytitle">gl_FragCoord</span></span></a>
66 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
67 Copyright <span class="trademark"></span>© 2011 Khronos Group.
68 This material may be distributed subject to the terms and conditions set forth in
69 the Open Publication License, v 1.0, 8 June 1999.
70 <a href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
71 </p></div></div></body></html>