Provided by: erlang-manpages_24.3.4.1+dfsg-1_all bug

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 wxGLContext::IsOK() (not implemented in  wx).
       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.

       destroy(This :: wxGLContext()) -> ok

              Destroys the object.