-wxGLCanvas is a class for displaying OpenGL graphics. There are
-wrappers for OpenGL on Windows, and GTK+ and Motif.
-
-To use this class, create a wxGLCanvas window, call \helpref{wxGLCanvas::SetCurrent}{wxglcanvassetcurrent}
-to direct normal OpenGL commands to the window, and then call \helpref{wxGLCanvas::SwapBuffers}{wxglcanvasswapbuffers}
-to show the OpenGL buffer on the window.
-
-To set up the attributes for the rendering context (number of bits for the depth buffer,
+wxGLCanvas is a class for displaying OpenGL graphics. It is always used in
+conjunction with \helpref{wxGLContext}{wxglcontext} as the context can only be
+be made current (i.e. active for the OpenGL commands) when it is associated to
+a wxGLCanvas.
+
+More precisely, you first need to create a wxGLCanvas window and then create an
+instance of a \helpref{wxGLContext}{wxglcontext} that is initialized with this
+wxGLCanvas and then later use either \helpref{wxGLCanvas::SetCurrent}{wxglcanvassetcurrent}
+with the instance of the \helpref{wxGLContext}{wxglcontext} or
+\helpref{wxGLContext::SetCurrent}{wxglcontextsetcurrent} with the instance of
+the \helpref{wxGLCanvas}{wxglcanvas} (which might be not the same as was used
+for the creation of the context) to bind the OpenGL state that is represented
+by the rendering context to the canvas, and then finally call
+\helpref{wxGLCanvas::SwapBuffers}{wxglcanvasswapbuffers} to swap the buffers of
+the OpenGL canvas and thus show your current output.
+
+Notice that previous versions of wxWidgets used to implicitly create a
+wxGLContext inside wxGLCanvas itself. This is still supported in the current
+version but is deprecated now and will be removed in the future, please update
+your code to create the rendering contexts explicitly.
+
+To set up the attributes for the canvas (number of bits for the depth buffer,