NAME¶
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 .PP 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.
VERSION SUPPORT¶
|
OpenGL Version |
|
|
|
|
|
|
|
|
|
|
|
Function / Feature Name |
2.0 |
2.1 |
3.0 |
3.1 |
3.2 |
3.3 |
4.0 |
4.1 |
4.2 |
4.3 |
4.4 |
4.5 |
glProvokingVertex |
- |
- |
- |
- |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
SEE ALSO¶
COPYRIGHT¶
Copyright © 2010-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 © 2010-2014 Khronos Group