rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / manglsl / xhtml / gl_ViewportIndex.xml
CommitLineData
7faf1d71
AW
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_ViewportIndex - 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_ViewportIndex"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>gl_ViewportIndex — contains the index of the viewport to be used in viewport transformation and scissoring</p></div><div class="refsynopsisdiv"><h2>Declaration</h2><div class="funcsynopsis"><code class="function">out int gl_ViewportIndex; // Geometry stage</code></div><div class="funcsynopsis"><code class="function">in int gl_ViewportIndex; // Fragment stage</code></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
5 In the geometry language, <code class="function">gl_ViewportIndex</code> is used to specify the index
6 of the viewport to which the next primitive emitted from the shader should be drawn. Primitives generated
7 by the geometry shader will undergo viewport transformation and scissor testing using the viewport
8 transformation and scissor rectangle selected by the value of <code class="function">gl_ViewportIndex</code>.
9 The viewport index used will come from one of the vertices in the primitive being shaded. However, which
10 vertex the viewport index comes from is implementation-defined, and so it is recommended to use the same
11 viewport index for all vertices of a primitive. If a geometry shader does not assign a value to
12 <code class="function">gl_ViewportIndex</code>, viewport transform and scissor rectangle zero will be used.
13 If a geometry shader statically assigns a value to <code class="function">gl_ViewportIndex</code> and there
14 is a path through the shader that does not assign a value to <code class="function">gl_ViewportIndex</code>,
15 the value of <code class="function">gl_ViewportIndex</code> is undefined for executions of the shader that take
16 that path.
17 </p><p>
18 In the fragment language, <code class="function">gl_ViewportIndex</code> will have the same value that was written to the
19 output variable <code class="function">gl_ViewportIndex</code> in the geometry stage. If the geometry stage does not dynamically
20 assign to <code class="function">gl_ViewportIndex</code>, the value of <code class="function">gl_ViewportIndex</code> in the fragment shader will be undefined. If
21 the geometry stage makes no static assignment to <code class="function">gl_ViewportIndex</code>, the fragment stage will read zero.
22 Otherwise, the fragment stage will read the same value written by the geometry stage, even if that value is
23 out of range. If a fragment shader contains a static access to <code class="function">gl_ViewportIndex</code>, it will count against the
24 implementation defined limit for the maximum number of inputs to the fragment stage.
25 </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>Function</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_ViewportIndex (geometry stage)</th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</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><tr><th align="left">gl_ViewportIndex (fragment stage)</th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</em></span></th><th align="center"><span class="emphasis"><em>-</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>
26 <a href="gl_Layer.xml"><span class="citerefentry"><span class="refentrytitle">gl_Layer</span></span></a>
27 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
28 Copyright <span class="trademark"></span>© 2011 Khronos Group.
29 This material may be distributed subject to the terms and conditions set forth in
30 the Open Publication License, v 1.0, 8 June 1999.
31 <a href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
32 </p></div></div></body></html>