在OpenGL中绘制许多球体

han*_*nno 7 opengl performance glut visualization

我想使用OpenGL绘制许多球体(~100k).到目前为止,我正在做类似的事情

for (int i=0; i<pnum; i++){
     glPushMatrix();
     glTranslatef(bpos[i].x, bpos[i].y, bpos[i].z);
     glCallList(DListSPHERE);
     glPopMatrix();
}
Run Code Online (Sandbox Code Playgroud)

在使用适当的球体之前,我使用过GL_POINTS.这允许我glDrawArrays用一个包含所有非常有效点的数组调用.有没有比上面的代码更好的方法来绘制许多相同的对象?

Gre*_*osz 8

看看这个实例化的页面:它包含很多参考:

另请参阅Wikipedia上的几何实例化.