Class GLXARBCreateContext

java.lang.Object
org.lwjgl.opengl.GLXARBCreateContext

public class GLXARBCreateContext extends Object
Native bindings to the GLX_ARB_create_context extension.

With the advent of new versions of OpenGL which deprecate features and/or break backward compatibility with older versions, there is a need and desire to indicate at context creation which interface will be used. These extensions add a new context creation routine with attributes specifying the GL version and context properties requested for the context, and additionally add an attribute specifying the GL profile requested for a context of OpenGL 3.2 or later. It also allows making an OpenGL 3.0 or later context current without providing a default framebuffer.

Requires GLX 1.4.

  • Field Details

    • GLX_CONTEXT_MAJOR_VERSION_ARB

      public static final int GLX_CONTEXT_MAJOR_VERSION_ARB
      Accepted as an attribute name in attrib_list.
      See Also:
    • GLX_CONTEXT_MINOR_VERSION_ARB

      public static final int GLX_CONTEXT_MINOR_VERSION_ARB
      Accepted as an attribute name in attrib_list.
      See Also:
    • GLX_CONTEXT_FLAGS_ARB

      public static final int GLX_CONTEXT_FLAGS_ARB
      Accepted as an attribute name in attrib_list.
      See Also:
    • GLX_CONTEXT_DEBUG_BIT_ARB

      public static final int GLX_CONTEXT_DEBUG_BIT_ARB
      Accepted as bits in the attribute value for CONTEXT_FLAGS_ARB in attrib_list.
      See Also:
    • GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB

      public static final int GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
      Accepted as bits in the attribute value for CONTEXT_FLAGS_ARB in attrib_list.
      See Also:
  • Method Details

    • nglXCreateContextAttribsARB

      public static long nglXCreateContextAttribsARB(long display, long config, long share_context, int direct, long attrib_list)
      Unsafe version of: CreateContextAttribsARB
    • glXCreateContextAttribsARB

      public static long glXCreateContextAttribsARB(long display, long config, long share_context, boolean direct, @Nullable IntBuffer attrib_list)
      Creates an OpenGL rendering context.

      If glXCreateContextAttribsARB succeeds, it initializes the context to the initial state defined by the OpenGL specification, and returns a handle to it. This handle can be used to render to any GLX surface (window, pixmap, or pbuffer) compatible with config, subject to constraints imposed by the OpenGL API version of the context.

      If share_context is not NULL, then all shareable data (excluding OpenGL texture objects named 0) will be shared by share_context, all other contexts share_context already shares with, and the newly created context. An arbitrary number of GLXContexts can share data in this fashion. The server context state for all sharing contexts must exist in a single address space.

      Parameters:
      display - the connection to the X server
      config - the GLXFBConfig
      share_context - if not NULL, then all shareable data (excluding OpenGL texture objects named 0) will be shared by share_context, all other contexts share_context already shares with, and the newly created context. An arbitrary number of GLXContexts can share data in this fashion. The server context state for all sharing contexts must exist in a single address space.
      direct - direct rendering is requested if direct is True, and indirect rendering if direct is False. If direct is True, the implementation may nonetheless create an indirect rendering context if any of the following conditions hold:
      • The implementation does not support direct rendering.
      • display is not a local X server.
      • Implementation-dependent limits on the number of direct rendering contexts that can be supported simultaneously are exceeded.

      Use IsDirect to determine whether or not a request for a direct rendering context succeeded.

      attrib_list - an optional list of attributes for the context, terminated with None
    • glXCreateContextAttribsARB

      public static long glXCreateContextAttribsARB(long display, long config, long share_context, boolean direct, @Nullable int[] attrib_list)
      Array version of: CreateContextAttribsARB