Provided by: opengl-4-man-doc_1.0~svn31251-1build1_all 

NAME
gl_PrimitiveID - contains the index of the current primitive
DECLARATION
// In tessellation control, tessellation evaluation, and
// fragment shaders
in int gl_PrimitiveID ;
// In geometry shaders
out int gl_PrimitiveID ;
DESCRIPTION
gl_PrimitiveID 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.
In the geometry language, gl_PrimitiveID is an output variable that is passed to the corresponding
gl_PrimitiveID input variable in the fragment shader. If no geomery shader is present then gl_PrimitiveID
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 gl_PrimitiveID, the value of
gl_PrimitiveID in the fragment shader is undefined.
VERSION SUPPORT
┌────────────────┬───────────────────────────────────────────────────────────────────────────────────┐
│ │ OpenGL Shading Language Version │
├────────────────┼──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┤
│ Function │ 1.10 │ 1.20 │ 1.30 │ 1.40 │ 1.50 │ 3.30 │ 4.00 │ 4.10 │ 4.20 │ 4.30 │ 4.40 │ 4.50 │
│ Name │ │ │ │ │ │ │ │ │ │ │ │ │
├────────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
│ gl_PrimitiveID │ - │ - │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │
│ (Fragment │ │ │ │ │ │ │ │ │ │ │ │ │
│ and │ │ │ │ │ │ │ │ │ │ │ │ │
│ Geometry │ │ │ │ │ │ │ │ │ │ │ │ │
│ Languages) │ │ │ │ │ │ │ │ │ │ │ │ │
├────────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
│ gl_PrimitiveID │ - │ - │ - │ - │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │
│ (Tessellation │ │ │ │ │ │ │ │ │ │ │ │ │
│ Control and │ │ │ │ │ │ │ │ │ │ │ │ │
│ Evaluation │ │ │ │ │ │ │ │ │ │ │ │ │
│ Languages) │ │ │ │ │ │ │ │ │ │ │ │ │
└────────────────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
SEE ALSO
gl_InstanceID(), gl_VertexID(), gl_PrimitiveIDIn()
COPYRIGHT
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. http://opencontent.org/openpub/.
COPYRIGHT
Copyright © 2011-2014 Khronos Group
[FIXME: source] 07/22/2015 GL_PRIMITIVEID(3G)