2014-09-12 75 views

回答

2

OpenGL有一个GL_TRIANGLE_FAN原始类型。所以,你可以画一个三角形风扇通过单个绘制调用:

glDrawArrays(GL_TRIANGLE_FAN, ...); 
glDrawElements(GL_TRIANGLE_FAN, ...); 

第一个顶点定义了风扇的“原点”。如果您有三角形风扇的顶点,将会有n - 2三角形用以下顶点绘制:

0, 1, 2 
0, 2, 3 
0, 3, 4 
... 
0, n - 2, n - 1 
1

从用户角度来看,您只需要1次绘制调用。

GPU或软件渲染器的内部结构,这取决于具体实现是否需要1次或多次绘制调用。

在我所知道的所有GPU上,我们只准备1个绘制流,发送给GPU,GPU以1个脉冲串绘制它。