OPENGL显示一个42个点的点集,怎么提高速度

OPENGL显示一个42个点的点集,如何提高速度?由于42万个点的每个点的颜色不一样,因此,对每个点,都设置了一下

OPENGL显示一个42个点的点集,如何提高速度?
由于42万个点的每个点的颜色不一样,因此,对每个点,都设置了一下材质的颜色,导致点集在姿态改变时,显示得非常缓慢。
  gl.glBegin(GL.GL_POINTS);  
  for(int i=0;i<PointArray.length;i++)//有42万个点
  {
  gl.glMaterialfv(GL.GL_FRONT, GL.GL_DIFFUSE,PointArray[i],3);
  gl.glVertex3f(PointArray[i][0],PointArray[i][1],PointArray[i][2]);
  }
  gl.glEnd();
也试着用glCallList等显示列表的方法,也没有提高显示速度。没有尝试双缓存技术。
注意:我使用的OPENGL是在JAVA环境下使用的。即:jogl.

[解决办法]
可以试试顶点数组啦