2ad2d897119bece36a8df69702d064c88588bc80
[clinton/guile-figl.git] / upstream-man-pages / manglsl / xhtml / gl_PrimitiveID.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_PrimitiveID - 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_PrimitiveID"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>gl_PrimitiveID — contains the index of the current primitive</p></div><div class="refsynopsisdiv"><h2>Declaration</h2><div class="funcsynopsis"><code class="function">in int gl_PrimitiveID;</code> (Tessellation control, tessellation evaluation and fragment languages)<br /><code class="function">out int gl_PrimitiveID;</code> (Geometry language)
5 </div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
6 <code class="function">gl_PrimitiveID</code> is a tessellation control, tessellation evaluation
7 and fragment language input variable. For the tessellation control and tessellation
8 evaluation languages, it holds the number of primitives processed by
9 the shader since the current set of rendering primitives was started. The first
10 primitive processed by the drawing command is numbered zero and the primitive ID counter is incremented after every individual point, line
11 or triangle primitive is processed. For triangles drawn in point or line mode, the
12 primitive ID counter is incremented only once, even through multiple points or lines
13 may actually be drawn. Restarting a primitive topology using the primitive restart
14 index has no effect on the primitive ID counter.
15 </p><p>
16 In the geometry language, <code class="function">gl_PrimitiveID</code> is an output
17 variable that is passed to the corresponding <code class="function">gl_PrimitiveID</code> input
18 variable in the fragment shader. If no geomery shader is present then <code class="function">gl_PrimitiveID</code>
19 in the fragment language behaves identically as it would in the tessellation control and evaluation
20 languages. If a geometry shader is present but does not write to <code class="function">gl_PrimitiveID</code>,
21 the value of <code class="function">gl_PrimitiveID</code> in the fragment shader is undefined.
22 </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" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
23 Variable
24 </strong></span></th><th align="left"><span class="bold"><strong>
25 Version 1.10
26 </strong></span></th><th align="left"><span class="bold"><strong>
27 Version 1.20
28 </strong></span></th><th align="left"><span class="bold"><strong>
29 Version 1.30
30 </strong></span></th><th align="left"><span class="bold"><strong>
31 Version 1.40
32 </strong></span></th><th align="left"><span class="bold"><strong>
33 Version 1.50
34 </strong></span></th><th align="left"><span class="bold"><strong>
35 Version 3.30
36 </strong></span></th><th align="left"><span class="bold"><strong>
37 Version 4.00
38 </strong></span></th><th align="left"><span class="bold"><strong>
39 Version 4.10
40 </strong></span></th></tr><tr><th align="left">
41 gl_PrimitiveID
42 </th><th align="center">
43 <span class="emphasis"><em>Y</em></span>
44 </th><th align="center">
45 <span class="emphasis"><em>Y</em></span>
46 </th><th align="center">
47 <span class="emphasis"><em>Y</em></span>
48 </th><th align="center">
49 <span class="emphasis"><em>Y</em></span>
50 </th><th align="center">
51 <span class="emphasis"><em>Y</em></span>
52 </th><th align="center">
53 <span class="emphasis"><em>Y</em></span>
54 </th><th align="center">
55 <span class="emphasis"><em>Y</em></span>
56 </th><th align="center">
57 <span class="emphasis"><em>Y</em></span>
58 </th></tr></thead></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
59 <a href="gl_InstanceID.xml"><span class="citerefentry"><span class="refentrytitle">gl_InstanceID</span></span></a>,
60 <a href="gl_VertexID.xml"><span class="citerefentry"><span class="refentrytitle">gl_VertexID</span></span></a>,
61 <a href="gl_PrimitiveIDIn.xml"><span class="citerefentry"><span class="refentrytitle">gl_PrimitiveIDIn</span></span></a>
62 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
63 Copyright <span class="trademark"></span>© 2011 Khronos Group.
64 This material may be distributed subject to the terms and conditions set forth in
65 the Open Publication License, v 1.0, 8 June 1999.
66 <a href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
67 </p></div></div></body></html>