<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<!-- saved from url=(0013)about:internet -->
<?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>glSampleCoverage</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /></head><body><div class="refentry" title="glSampleCoverage"><a id="glSampleCoverage"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glSampleCoverage — specify mask to modify multisampled pixel fragments</p></div><div class="refsynopsisdiv" title="C Specification"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <strong>fsfuncglSampleCoverage</strong>(</code></td><td>GLclampf <var class="pdparam">value</var>, </td></tr><tr><td> </td><td>GLboolean <var class="pdparam">invert</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <strong>fsfuncglSampleCoveragex</strong>(</code></td><td>GLclampx <var class="pdparam">value</var>, </td></tr><tr><td> </td><td>GLboolean <var class="pdparam">invert</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1" title="Parameters"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term">
                    <em class="parameter"><code>value</code></em>
                </span></dt><dd><p>Specifies the coverage of the modification mask.
                    The value is clamped to the range [0, 1], where 0 represents
                    no coverage and 1 full coverage. The initial value is 1.</p></dd><dt><span class="term">
                    <em class="parameter"><code>invert</code></em>
                </span></dt><dd><p>Specifies whether the modification mask implied by
                    <em class="parameter"><code>value</code></em> is inverted or not.
                    The initial value is <code class="constant">GL_FALSE</code>.
                    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="description"></a><h2>Description</h2><p><code class="function">glSampleCoverage</code> defines a mask to modify
        the coverage of multisampled pixel fragments. This capability is used
        for antialiased screen-door transparency and smooth transitions between
        two renderings of an object (often for level-of-detail management in
        simulation systems).</p><p>
        When multisampling is enabled (see
        <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>
        with argument
        <code class="constant">GL_MULTISAMPLE</code>) a ``fragment mask'' is computed for
        each fragment
        generated by a primitive.  This mask reflects the amount of the pixel
        covered by the fragment, and determines the frame buffer samples that may
        be affected by the fragment.</p><p>
        If conversion of alpha values to masks is enabled
        (<a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>
        with argument
        <code class="constant">GL_SAMPLE_ALPHA_TO_COVERAGE</code>),
        the fragment alpha value is used to
        generate a temporary modification mask which is then ANDed with the
        fragment mask.  One way to interpret this is as a form of dithering: a
        multivalued alpha (coverage or opacity) for the whole fragment is
        converted to simple binary values of coverage at many locations (the
        samples).</p><p>
        After conversion of alpha values to masks, if replacement of alpha values
        is enabled
        (<a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>
        with argument
        <code class="constant">GL_SAMPLE_ALPHA_TO_ONE</code>), the
        fragment's alpha is set to the maximum allowable value.</p><p>
        Finally, if fragment mask modification is enabled
        (<a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>
        with argument
        <code class="constant">GL_SAMPLE_COVERAGE</code>),
        <code class="function">glSampleCoverage</code> defines an additional modification
        mask.  value is used to generate a modification mask in much the same way
        alpha was used above.  If invert is <code class="constant">GL_TRUE</code>,
        then the modification mask
        specified by value will be inverted.  The final modification mask will
        then be ANDed with the fragment mask resulting from the previous steps.
        This can be viewed as an ``override'' control that selectively fades the
        effects of multisampled fragments.</p><p>Note that
        <code class="function">glSampleCoverage</code>(value, <code class="constant">GL_TRUE</code>)
        is not necessarily equivalent to
        <code class="function">glSampleCoverage</code>(1.0 - value, <code class="constant">GL_FALSE</code>);
        due to round-off and other
        issues, complementing the coverage will not necessarily yield an inverted
        modification mask.</p></div><div class="refsect1" title="Associated Gets"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
            <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_SAMPLE_COVERAGE_VALUE</code>
        </p><p>
            <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_SAMPLE_COVERAGE_INVERT</code>
        </p><p>
            <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_SAMPLE_ALPHA_TO_COVERAGE</code>
        </p><p>
            <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_SAMPLE_COVERAGE</code>
        </p></div><div class="refsect1" title="See Also"><a id="seealso"></a><h2>See Also</h2><p>
            <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>
        </p></div><div class="refsect1" title="Copyright"><a id="copyright"></a><h2>Copyright</h2><p>
            Copyright <span class="trademark"></span>© 2003-2004
            Silicon Graphics, Inc. This document is licensed under the SGI
            Free Software B License. For details, see
            <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
        </p></div></div></body></html>
