1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
<!DOCTYPE refentry [ <!ENTITY % mathent SYSTEM "math.ent"> %mathent; ]>
<!-- Converted by db4-upgrade version 1.1 -->
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="gl_PrimitiveID">
<info>
<copyright>
<year>2011-2014</year>
<holder>Khronos Group</holder>
</copyright>
</info>
<refmeta>
<refentrytitle>gl_PrimitiveID</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>gl_PrimitiveID</refname>
<refpurpose>contains the index of the current primitive</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Declaration</title>
<para>
<programlisting>// In tessellation control, tessellation evaluation, and
// fragment shaders</programlisting>
<fieldsynopsis>
<modifier>in</modifier>
<type>int</type>
<varname>gl_PrimitiveID</varname>
</fieldsynopsis>
</para>
<para>
<programlisting>// In geometry shaders</programlisting>
<fieldsynopsis>
<modifier>out</modifier>
<type>int</type>
<varname>gl_PrimitiveID</varname>
</fieldsynopsis>
</para>
</refsynopsisdiv>
<refsect1 xml:id="description"><title>Description</title>
<para>
<varname>gl_PrimitiveID</varname> is a tessellation control, tessellation evaluation
and fragment language input variable. For the tessellation control and tessellation
evaluation languages, it holds the number of primitives processed by
the shader since the current set of rendering primitives was started. The first
primitive processed by the drawing command is numbered zero and the primitive ID counter is incremented after every individual point, line
or triangle primitive is processed. For triangles drawn in point or line mode, the
primitive ID counter is incremented only once, even through multiple points or lines
may actually be drawn. Restarting a primitive topology using the primitive restart
index has no effect on the primitive ID counter.
</para>
<para>
In the geometry language, <varname>gl_PrimitiveID</varname> is an output
variable that is passed to the corresponding <varname>gl_PrimitiveID</varname> input
variable in the fragment shader. If no geomery shader is present then <varname>gl_PrimitiveID</varname>
in the fragment language behaves identically as it would in the tessellation control and evaluation
languages. If a geometry shader is present but does not write to <varname>gl_PrimitiveID</varname>,
the value of <varname>gl_PrimitiveID</varname> in the fragment shader is undefined.
</para>
</refsect1>
<refsect1 xml:id="versions"><title>Version Support</title>
<informaltable>
<tgroup cols="13" align="left">
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="funchead.xml" xpointer="xpointer(/*/*)"/>
<tbody>
<row>
<entry><varname>gl_PrimitiveID</varname> (Fragment and Geometry Languages)</entry>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="version.xml" xpointer="xpointer(/*/*[@role='15']/*)"/>
</row>
<row>
<entry><varname>gl_PrimitiveID</varname> (Tessellation Control and Evaluation Languages)</entry>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="version.xml" xpointer="xpointer(/*/*[@role='40']/*)"/>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 xml:id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>gl_InstanceID</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>gl_VertexID</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>gl_PrimitiveIDIn</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 xml:id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"/> 2011-2014 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.
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://opencontent.org/openpub/">http://opencontent.org/openpub/</link>.
</para>
</refsect1>
</refentry>
|