2014-09-12 123 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個脈衝串繪製它。