OpenGL超级宝典第5版&&glProvokingVertex

时间:2021-07-23 11:35:53

翻译: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

如果一个顶点或几何着色器是活动的,用户定义的动态输出可以通过使用声明输出时的平面限定符进行平面渲染。