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_FragCoord - 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_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"><h2>Declaration
</h2><div class=
"funcsynopsis"><code class=
"function">in vec4 gl_FragCoord;
</code></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"description"></a><h2>Description
</h2><p>
5 Available only in the fragment language,
<code class=
"function">gl_FragCoord
</code> is an input variable that contains the
6 window relative coordinate (x, y, z,
1/w) values for the fragment. If multi-sampling,
7 this value can be for any location within the pixel, or one of the fragment samples.
8 This value is the result of fixed functionality that interpolates primitives after vertex
9 processing to generate fragments. The z component is the depth value that would be used for the
10 fragment's depth if no shader contained any writes to
<a href=
"gl_FragDepth.xml"><span class=
"citerefentry"><span class=
"refentrytitle">gl_FragDepth
</span></span></a>.
12 <code class=
"function">gl_FragCoord
</code> may be redeclared with the additional layout qualifier identifiers
13 <code class=
"function">origin_upper_left
</code> or
<code class=
"function">pixel_center_integer
</code>. By
14 default,
<code class=
"function">gl_FragCoord
</code> assumes a lower-left origin for window coordinates
15 and assumes pixel centers are located at half-pixel centers. For example, the (x, y) location
16 (
0.5,
0.5) is returned for the lower-left-most pixel in a window. The origin of
17 <code class=
"function">gl_FragCoord
</code> may be changed by redeclaring
<code class=
"function">gl_FragCoord
</code>
18 with the
<code class=
"function">origin_upper_left
</code> identifier. The values returned can also be
19 shifted by half a pixel in both x and y by
<code class=
"function">pixel_center_integer
</code> so it
20 appears the pixels are centered at whole number pixel offsets. This moves the (x, y) value returned by
21 <code class=
"function">gl_FragCoord
</code> of (
0.5,
0.5) by default to (
0.0,
0.0) with
22 <code class=
"function">pixel_center_integer
</code>.
24 If
<code class=
"function">gl_FragCoord
</code> is redeclared in any fragment shader in a program, it must be redeclared
25 in all fragment shaders in that program that have static use of
<code class=
"function">gl_FragCoord
</code>. Redeclaring
26 <code class=
"function">gl_FragCoord
</code> with any accepted qualifier affects only
<code class=
"function">gl_FragCoord.x
</code>
27 and
<code class=
"function">gl_FragCoord.y
</code>. It has no affect on rasterization, transformation or any other part
28 of the OpenGL pipline or language features.
29 </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" /><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.10</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
1.20</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
1.30</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
1.40</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
1.50</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
3.30</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
4.00</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
4.10</strong></span></th><th align=
"left"><span class=
"bold"><strong>Version
4.20</strong></span></th><th align=
"center"><span class=
"bold"><strong>Version
4.30</strong></span></th></tr><tr><th align=
"left">gl_ClipDistance
</th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></th><th align=
"center"><span class=
"emphasis"><em>Y
</em></span></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" lang=
"en" xml:
lang=
"en"><a id=
"seealso"></a><h2>See Also
</h2><p>
30 <a href=
"gl_FragCoord.xml"><span class=
"citerefentry"><span class=
"refentrytitle">gl_FragCoord
</span></span></a>
31 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"Copyright"></a><h2>Copyright
</h2><p>
32 Copyright
<span class=
"trademark"></span>©
2011 Khronos Group.
33 This material may be distributed subject to the terms and conditions set forth in
34 the Open Publication License, v
1.0,
8 June
1999.
35 <a href=
"http://opencontent.org/openpub/" target=
"_top">http://opencontent.org/openpub/
</a>.
36 </p></div></div></body></html>