Dibujando muchas esferas en OpenGL

Quiero dibujar muchas esferas (~ 100k) usando OpenGL. Hasta ahora, estoy haciendo algo como

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

Antes de usar las esferas adecuadas, uséGL_POINTS. Eso me permitio llamarglDrawArrays con una matriz que contiene todos los puntos que era muy eficiente. ¿Hay una forma mejor que el código anterior para dibujar muchos objetos idénticos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta