我想使用 OpenGL 绘制许多球体(~100k)。到目前为止,我正在做类似的事情
for (int i=0; i<pnum; i++){
glPushMatrix();
glTranslatef(bpos[i].x, bpos[i].y, bpos[i].z);
glCallList(DListSPHERE);
glPopMatrix();
}
在使用合适的球体之前,我使用了
GL_POINTS
.这让我可以调用 glDrawArrays
一个包含所有点的数组,非常有效。有没有比上面的代码更好的方法来绘制许多相同的对象?
最佳答案
在 instancing 上查看此页面: 它包含许多引用资料:
glsl_pseudo_instancing.pdf
http://www.opengl.org/registry/specs/EXT/draw_instanced.txt
另见 Geometry instancing on Wikipedia .
关于opengl - 在OpenGL中绘制许多球体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1995262/