<?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" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>gl_FragCoord - OpenGL ES Shading Language (GLSL ES)</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div class="refentry" title="gl_FragCoord"><a id="gl_FragCoord"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>gl_FragCoord — contains the window-relative coordinates of the current fragment</p></div><div class="refsynopsisdiv" title="Declaration"><h2>Declaration</h2><div class="funcsynopsis"><code class="function">in vec4 gl_FragCoord;</code></div></div><div class="refsect1" title="Description"><a id="description"></a><h2>Description</h2><p>
            Available only in the fragment language, <code class="function">gl_FragCoord</code> is an input variable that contains the
            window relative coordinate (x, y, z, 1/w) values for the fragment. If multi-sampling,
            this value can be for any location within the pixel, or one of the fragment samples.
            This value is the result of fixed functionality that interpolates primitives after vertex
            processing to generate fragments. The z component is the depth value that would be used for the
            fragment's depth if no shader contained any writes to <a class="citerefentry" href="gl_FragDepth.xml"><span class="citerefentry"><span class="refentrytitle">gl_FragDepth</span></span></a>.
        </p><p>
            <code class="function">gl_FragCoord</code> may be redeclared with the additional layout qualifier identifiers
            <code class="function">origin_upper_left</code> or <code class="function">pixel_center_integer</code>. By
            default, <code class="function">gl_FragCoord</code> assumes a lower-left origin for window coordinates
            and assumes pixel centers are located at half-pixel centers. For example, the (x, y) location
            (0.5, 0.5) is returned for the lower-left-most pixel in a window. The origin of
            <code class="function">gl_FragCoord</code> may be changed by redeclaring <code class="function">gl_FragCoord</code>
            with the <code class="function">origin_upper_left</code> identifier. The values returned can also be
            shifted by half a pixel in both x and y by <code class="function">pixel_center_integer</code> so it
            appears the pixels are centered at whole number pixel offsets. This moves the (x, y) value returned by
            <code class="function">gl_FragCoord</code> of (0.5, 0.5) by default to (0.0, 0.0) with
            <code class="function">pixel_center_integer</code>.
        </p><p>
            If <code class="function">gl_FragCoord</code> is redeclared in any fragment shader in a program, it must be redeclared
            in all fragment shaders in that program that have static use of <code class="function">gl_FragCoord</code>. Redeclaring
            <code class="function">gl_FragCoord</code> with any accepted qualifier affects only <code class="function">gl_FragCoord.x</code>
            and <code class="function">gl_FragCoord.y</code>. It has no affect on rasterization, transformation or any other part
            of the OpenGL pipline or language features.
        </p></div><div class="refsect1" title="Version Support"><a id="versions"></a><h2>Version Support</h2><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="center" /><col align="center" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
                        Variable
                        </strong></span></th><th align="left"><span class="bold"><strong>
                        Version 1.00
                        </strong></span></th><th align="left"><span class="bold"><strong>
                        Version 3.00
                        </strong></span></th></tr><tr><th align="left">
                            gl_FragCoord
                        </th><th align="center">
                            <span class="emphasis"><em>Y</em></span>
                        </th><th align="center">
                            <span class="emphasis"><em>Y</em></span>
                        </th></tr></thead></table></div></div><div class="refsect1" title="See Also"><a id="seealso"></a><h2>See Also</h2><p>
            <a class="citerefentry" href="gl_FragDepth.xml"><span class="citerefentry"><span class="refentrytitle">gl_FragDepth</span></span></a>
        </p></div><div class="refsect1" title="Copyright"><a id="Copyright"></a><h2>Copyright</h2><p>
            Copyright <span class="trademark"></span>© 2011-2012 Khronos Group. 
            This material may be distributed subject to the terms and conditions set forth in 
            the Open Publication License, v 1.0, 8 June 1999.
            <a class="ulink" href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
        </p></div></div></body></html>
