Provided by: erlang-manpages_25.3.2.8+dfsg-1ubuntu4.5_all 

NAME
wxGLContext - Functions for wxGLContext class
DESCRIPTION
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,
buffer data ids, texture objects, etc. It is possible to have multiple rendering contexts share buffer
data and textures. This feature is specially useful when the application use multiple threads for
updating data into the memory of the graphics card.
Whether one only rendering context is used with or bound to multiple output windows or if each window has
its own bound context is a developer decision. It is important to take into account that GPU makers may
set different pointers to the same OGL function for different contexts. The way these pointers are
retrieved from the OGL driver should be used again for each new context.
Binding (making current) a rendering context with another instance of a wxGLCanvas however works only if
the both wxGLCanvas instances were created with the same attributes.
OpenGL version 3 introduced a new type of specification profile, the modern core profile. The old
compatibility profile maintains all legacy features. Since wxWidgets 3.1.0 you can choose the type of
context and even ask for a specified OGL version number. However, its advised to use only core profile as
the compatibility profile may run a bit slower.
OpenGL core profile specification defines several flags at context creation that determine not only the
type of context but also some features. Some of these flags can be set in the list of attributes used at
wxGLCanvas ctor. But since wxWidgets 3.1.0 it is strongly encouraged to use the new mechanism: setting
the context attributes with a wxGLContextAttrs (not implemented in wx) object and the canvas attributes
with a wxGLAttributes (not implemented in wx) object.
The best way of knowing if your OpenGL environment supports a specific type of context is creating a
wxGLContext instance and checking isOK/1. If it returns false, then simply delete that instance and
create a new one with other attributes.
wxHAS_OPENGL_ES is defined on platforms that only have this implementation available (e.g. the iPhone)
and don't support the full specification.
See: wxGLCanvas, wxGLContextAttrs (not implemented in wx), wxGLAttributes (not implemented in wx)
wxWidgets docs: wxGLContext
DATA TYPES
wxGLContext() = wx:wx_object()
EXPORTS
new(Win) -> wxGLContext()
Types:
Win = wxGLCanvas:wxGLCanvas()
new(Win, Options :: [Option]) -> wxGLContext()
Types:
Win = wxGLCanvas:wxGLCanvas()
Option = {other, wxGLContext()}
Constructor.
setCurrent(This, Win) -> boolean()
Types:
This = wxGLContext()
Win = wxGLCanvas:wxGLCanvas()
Makes the OpenGL state that is represented by this rendering context current with the wxGLCanvas
win.
Note: win can be a different wxGLCanvas window than the one that was passed to the constructor of
this rendering context. If RC is an object of type wxGLContext, the statements
"RC.SetCurrent(win);" and "win.SetCurrent(RC);" are equivalent, see wxGLCanvas:setCurrent/2.
isOK(This) -> boolean()
Types:
This = wxGLContext()
Checks if the underlying OpenGL rendering context was correctly created by the system with the
requested attributes.
If this function returns false then the wxGLContext object is useless and should be deleted and
recreated with different attributes.
Since: 3.1.0
destroy(This :: wxGLContext()) -> ok
Destroys the object.
wxWidgets team. wx 2.2.2.1 wxGLContext(3erl)