using VBO with PyOpenGL
### to prepare ### arr = [(float(x)/(size-1),float(y)/(size-1)) for x in xrange(size) for y in xrange(size)] arr = np.require(arr, 'f') self.vbo = OpenGL.arrays.vbo.VBO(arr , 'GL_STATIC_DRAW') ### to use ### self.vbo.bind() glEnableClientState(GL_VERTEX_ARRAY) glEnableClientState(GL_TEXTURE_COORD_ARRAY) glTexCoordPointer(2, GL_FLOAT, 0, None) glVertexPointer(2, GL_FLOAT, 0, None) glDrawArrays(GL_POINTS, 0, N_PARTICLE) glDisableClientState(GL_VERTEX_ARRAY) glDisableClientState(GL_TEXTURE_COORD_ARRAY) self.vbo.unbind()
* The last argument for glVertexPointer should be None, not 0.