wxGLContext is a class for sharing OpenGL data resources, such as display lists, with another wxGLCanvas.

By sharing data resources, you can prevent code duplication, save memory, and ultimately help optimize your application.

As an example, let's say you want to draw a ball on two different windows that is identical on each one, but the dimensions of one is slightly different than the other one. What you would do is create your display lists in the shared context, and then translate each ball on the individual canvas's context. This way the actual data for the ball is only created once (in the shared context), and you won't have to duplicate your development efforts on the second ball.

Note that some wxGLContext features are extremely platform-specific - its best to check your native platform's glcanvas header (on windows include/wx/msw/glcanvas.h) to see what features your native platform provides.

Derived from


Include files


See also



void wxGLContext(bool isRGB, wxGLCanvas* win, const wxPalette& palette = wxNullPalette)

void wxGLContext(bool isRGB, wxGLCanvas* win, const wxPalette& palette = wxNullPalette, const wxGLContext* other)

Canvas to associate this shared context with.

Context to share data resources with.


const wxWindow* GetWindow(void)

Obtains the window that is associated with this context.


void SetCurrent(void)

Sets this context as the current recipient of OpenGL calls. Each context contains an OpenGL device context that has been created during the creation of this window. So this call sets the current device context as the target device context for OpenGL operations.


void SetColour(const char* colour)

Sets the current colour for this context, using the wxWidgets colour database to find a named colour.


void SwapBuffers(void)

Displays the previous OpenGL commands on the associated window.

ymasuda 平成17年11月19日