659f4d7615
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
57 lines
2.6 KiB
TeX
57 lines
2.6 KiB
TeX
\section{\class{wxGLContext}}\label{wxglcontext}
|
|
|
|
An instance of a wxGLContext represents the state of an OpenGL state machine and the connection between OpenGL and the system.
|
|
|
|
The OpenGL state includes everything that can be set with the OpenGL API: colors, rendering variables, display lists, texture objects, etc.
|
|
Although it is possible to have multiple rendering contexts share display lists in order to save resources,
|
|
this method is hardly used today any more, because display lists are only a tiny fraction of the overall state.
|
|
|
|
Therefore, one rendering context is usually used with or bound to multiple output windows in turn,
|
|
so that the application has access to the \emph{complete and identical} state while rendering into each window.
|
|
|
|
Binding (making current) a rendering context with another instance of a wxGLCanvas however works only
|
|
if the other wxGLCanvas was created with the same attributes as the wxGLCanvas from which the wxGLContext
|
|
was initialized. (This applies to sharing display lists among contexts analogously.)
|
|
|
|
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.
|
|
|
|
\wxheading{Derived from}
|
|
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/glcanvas.h>
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxGLCanvas}{wxglcanvas}
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
|
|
\membersection{wxGLContext::wxGLContext}\label{wxglcontextconstr}
|
|
|
|
\func{ }{wxGLContext}{ \param{wxGLCanvas*}{ win}, \param{const wxGLContext*}{ other=NULL} }
|
|
|
|
Constructor.
|
|
|
|
\docparam{win}{The canvas that is used to initialize this context. This parameter is needed only temporarily,
|
|
and the caller may do anything with it (e.g. destroy the window) after the constructor returned.
|
|
|
|
It will be possible to bind (make current) this context to any other wxGLCanvas that has been created
|
|
with equivalent attributes as {\it win}.}
|
|
|
|
\docparam{other}{Context to share display lists with or NULL (the default) for no sharing.}
|
|
|
|
|
|
\membersection{wxGLContext::SetCurrent}\label{wxglcontextsetcurrent}
|
|
|
|
\func{void}{SetCurrent}{\param{const wxGLCanvas\&}{ win}}
|
|
|
|
Makes the OpenGL state that is represented by this rendering context current with the wxGLCanvas {\it win}.
|
|
Note that {\it win} can be a different wxGLCanvas window than the one that was passed to the constructor of this rendering context.
|
|
If { \it RC } is an object of type wxGLContext, the statements {\it RC.SetCurrent(win);} and {\it win.SetCurrent(RC);} are equivalent,
|
|
see \helpref{wxGLCanvas::SetCurrent}{wxglcanvassetcurrent}.
|
|
|