翻译:https://www.opengl.org/sdk/docs/man3/xhtml/glProvokingVertex.xml
方法原型:void glProvokingVertex(GLenum provokeMode)
作用:指定哪个点的数据作为平面着色的数据源
参数:GL_FIRST_VERTEX_CONVENTION(图元的第一个顶点)和GL_LAST_VERTEX_CONVENTION(图元的最后一个顶点)
解释:对一个顶点着色器的动态输出进行平面着色(Flat shading),即选择一个顶点的属性作为图元上每个像素的属性。
图元类型:
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 |
如果一个顶点或几何着色器是活动的,用户定义的动态输出可以通过使用声明输出时的平面限定符进行平面渲染。