VertexArray(mode="QUADS", use_colors=True)
OpenGL vertex arrays provide a way to push a large amount of data to the video hardware, very fast. VertexArray provides an easy to use class to take advantage of this speed.
VertexArray supports both item access and assignment using VertexInfo objects. For example, this would work as expected:
vertex_array[0].x += 1
You can also assign using tuples, just like as documented in the append method:
vertex_array[0] = (x, y, u, v, red, green, blue, alpha)
append(vertex)
Appends a vertex to the array.
vertex should be a tuple of the form (x,y,u,v,red,green,blue,alpha). (You can also make the tuple shorter; any missing values will be left at the default.)
Note that vertex doesn't need to be a tuple, but anything supporting item access. This includes VertexInfo instances.
enable_arrays()
Calls the glEnableClientState and gl*Pointer functions to set up this VertexArray for usage. This is automatically called when you call render().
If you use vertex arrays with PyOpenGL elsewhere in your program, you should always wrap this method in glPushClientAttrib/glPopClientAttrib.
extend(vertexes)
Iterates over vertexes, calling append(vertex) on each one.
render([start,] [end])
Renders the array!
start and end can be specified to only render part of the array.
set_size(size)
Sets the size explicitly.
This is an alternative to using append and extend. (It should be a little faster.)
The default primitive drawing mode.
Valid modes are "QUADS", "QUAD_STRIP", "TRIANGLES", "TRIANGLE_STRIP", "TRIANGLE_FAN", "LINES", "LINE_STRIP", "LINE_LOOP", or "POINTS". These corrispond directly to the OpenGL privitive drawing modes. (In fact, you can also use the OpenGL enumerations instead of the strings, if you prefer.)
The texture used when render() is called.
If None (the default) texturing isn't touched. This is useful if you want to bind the texture yourself.
If 0, texturing is disabled.
If it is a positive integer (other than 0,) the given texture will be bound when rendering.
If True, (the default,) the color data in the vertex array will be used. Otherwise, the previous color will be used for all vertexes. (such as set by rabbyt.set_gl_color().)