OpenGL extension ARB.provoking_vertex
This module customises the behaviour of the
OpenGL.raw.GL.ARB.provoking_vertex to provide a more
Overview (from the spec)
This extension provides an alternative provoking vertex convention
for rendering lines, triangles, and (optionally depending on the
The provoking vertex of a primitive is the vertex that determines the
constant primary and secondary colors when flat shading is enabled.
In OpenGL, the provoking vertex for triangle, quad, line, and
(trivially) point primitives is the last vertex used to assemble
the primitive. The polygon primitive is an exception in OpenGL where
the first vertex of a polygon primitive determines the color of the
polygon, even if actually broken into triangles and/or quads.
See section 2.14.7 (Flatshading) of the OpenGL 2.1 specification,
particularly Table 2.12 for more details.
Alternatively the provoking vertex could be the first vertex of
the primitive. Other APIs with flat-shading functionality such
as Reality Lab and Direct3D have adopted the "first vertex of the
primitive" convention to determine the provoking vertex. However,
these APIs lack quads so do not have a defined provoking vertex
convention for quads.
The motivation for this extension is to allow applications developed
for APIs with a "first vertex of the primitive" provoking vertex to
be easily converted to OpenGL.
The official definition of this extension is available here:
|EXTENSION_NAME = 'GL_ARB_provoking_vertex'|
GL_FIRST_VERTEX_CONVENTION = GL_FIRST_VERTEX_CONVENTION
GL_LAST_VERTEX_CONVENTION = GL_LAST_VERTEX_CONVENTION
GL_PROVOKING_VERTEX = GL_PROVOKING_VERTEX
GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
__file__ = '/home/mcfletch/pylive/OpenGL/GL/ARB/provoking_vertex.pyc'
__name__ = 'OpenGL.GL.ARB.provoking_vertex'
__package__ = 'OpenGL.GL.ARB'
glProvokingVertex = <OpenGL.platform.baseplatform.glProvokingVertex object at 0x7432e10>