2010
Khronos Group
glProvokingVertex
3G
glProvokingVertex
specifiy the vertex to be used as the source of data for flat shaded varyings
C Specification
void glProvokingVertex
GLenum provokeMode
Parameters
provokeMode
Specifies the vertex to be used as the source of data for flat shaded varyings.
Description
Flatshading a vertex shader varying output means to assign all vetices of the primitive the same value
for that output. The vertex from which these values is derived is known as the provoking vertex and
glProvokingVertex specifies which vertex is to be used as the source of data for flat shaded varyings.
provokeMode must be either GL_FIRST_VERTEX_CONVENTION or
GL_LAST_VERTEX_CONVENTION, and controls the selection of the vertex whose values are assigned to flatshaded
varying outputs. The interpretation of these values for the supported primitive types is:
Primitive Type of Polygon i
First Vertex Convention
Last Vertex Convention
point
i
i
independent line
2i - 1
2i
line loop
i
i + 1, if i < n
1, if i = n
line strip
i
i + 1
independent triangle
3i - 2
3i
triangle strip
i
i + 2
triangle fan
i + 1
i + 2
line adjacency
4i - 2
4i - 1
line strip adjacency
i + 1
i + 2
triangle adjacency
6i - 5
6i - 1
triangle strip adjacency
2i - 1
2i + 3
If a vertex or geometry shader is active, user-defined varying outputs may be flatshaded by using the
flat
qualifier when declaring the output.
Notes
glProvokingVertex is available only if the GL version is 3.2 or greater.
Errors
GL_INVALID_ENUM is generated if provokeMode is not an accepted value.
Copyright
Copyright 2010 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/.