class GL.GLView(Component, ViewBase)
The GLView class of the GL
submodule provides an area for displaying 3D graphics using OpenGL. It
also provides model observation and input handling facilities via the ViewBase class.
Constructors
- GLView(config, share_group
= None)
GLView(config_attr = value..., share_group = None)
- Creates a GLView having the given characteristics.
In the first form of the constructor, the characteristics are specified
by a GLConfig instance.
In the second form, attributes of the GLConfig
class are specified as individual keyword arguments to the constructor.
- If share_group
is specified, it should be a ShareGroup
instance, and the GLView is added to that group.
Abstract methods
- init_context()
- Immediately after the view's OpenGL context is created,
it is made the current context and this method is called. You may use
this method to establish any desired initial OpenGL state.
- init_projection()
- You may use this method to establish the desired
projection matrix. It is called after init_context()
during creation of the GLView, and again whenever the size of the view
changes. When called, the view's OpenGL context is the current context,
and its viewport has been set to (0, 0, w,
h) where (w, h) is the
new
size of the view. Also, the projection matrix has been selected as the
current matrix and loaded with an identity matrix. In most cases, you
will simply need to call either gluPesrpective() or gluOrtho() to set
up the projection.
- render()
- This method is called with the view's OpenGL context as
the current context whenever the view needs to be redrawn. The
modelview matrix has been selected and loaded with an identity matrix.
On return, drawing will be flushed and buffers swapped as appropriate.
- viewport_changed()
- This
is a lower-level method that is called when the size of the view
changes, after setting the viewport but before doing anything else. The
default implementation calls init_projection().
You will not usually need to override this method.
Methods
- with_context(function,
flush = True)
- The function should be a
callable object of no arguments. Calls function
with the view's OpenGL context as the current context. If flush is true, then
after calling the function, a buffer flush or swap is performed as
appropriate.
- invalidate()
- Marks the whole view as needing to be redrawn.
- update()
- Causes the whole view to be redrawn immediately, without
waiting
for a return to the event loop.
---