org.lwjgl.opengl
Class ContextAttribs

java.lang.Object
  extended by org.lwjgl.opengl.ContextAttribs

public final class ContextAttribs
extends java.lang.Object

This class represents the context attributes passed to CreateContextAttribs of the ARB_create_context extension.

The attributes supported are described in the following extensions:

Use of this class is optional. If an OpenGL context is created without passing an instance of this class (or ARB_create_context is not supported), the old context creation code will be used. Support for debug and forward compatible mobes is not guaranteed by the OpenGL implementation. Developers may encounter debug contexts being the same as non-debug contexts or forward compatible contexts having support for deprecated functionality.

If the CONTEXT_FORWARD_COMPATIBLE_BIT_ARB flag is used, LWJGL will not load the deprecated functionality (as defined in the OpenGL 3.0 specification), even if the driver exposes the corresponding entry points.

This extension is not supported on MacOS X. However, in order to enable the GL 3.2 context on MacOS X 10.7 or newer, an instance of this class must be passed to LWJGL. The only valid configuration is ContextAttribs(3, 2, CONTEXT_CORE_PROFILE_BIT_ARB), anything else will be ignored.

Author:
spasi

Field Summary
static int CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
           
static int CONTEXT_CORE_PROFILE_BIT_ARB
           
static int CONTEXT_DEBUG_BIT_ARB
           
static int CONTEXT_ES2_PROFILE_BIT_EXT
           
static int CONTEXT_FLAGS_ARB
           
static int CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
           
static int CONTEXT_LAYER_PLANE_ARB
           
static int CONTEXT_MAJOR_VERSION_ARB
           
static int CONTEXT_MINOR_VERSION_ARB
           
static int CONTEXT_PROFILE_MASK_ARB
           
static int CONTEXT_RELEASE_BEHABIOR_ARB
           
static int CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB
           
static int CONTEXT_RELEASE_BEHAVIOR_NONE_ARB
           
static int CONTEXT_RESET_ISOLATION_BIT_ARB
           
static int CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
           
static int CONTEXT_ROBUST_ACCESS_BIT_ARB
           
static int LOSE_CONTEXT_ON_RESET_ARB
           
static int NO_RESET_NOTIFICATION_ARB
           
 
Constructor Summary
ContextAttribs()
          Creates the default ContextAttribs instance.
ContextAttribs(int majorVersion, int minorVersion)
          Creates a ContextAttribs instance for the given OpenGL version.
ContextAttribs(int majorVersion, int minorVersion, int profileMask)
          Creates a new ContextAttribs instance with the given attributes.
ContextAttribs(int majorVersion, int minorVersion, int profileMask, int contextFlags)
          Creates a new ContextAttribs instance with the given attributes.
 
Method Summary
 int getContextFlags()
          Returns the CONTEXT_FLAGS_ARB value.
 int getContextReleaseBehavior()
          Returns the CONTEXT_RELEASE_BEHABIOR_ARB value.
 int getContextResetNotificationStrategy()
          Returns the CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB value.
 int getLayerPlane()
          Returns the CONTEXT_LAYER_PLANE_ARB value.
 int getMajorVersion()
          Returns the CONTEXT_MAJOR_VERSION_ARB value.
 int getMinorVersion()
          Returns the CONTEXT_MINOR_VERSION_ARB value.
 int getProfileMask()
          Returns the CONTEXT_PROFILE_MASK_ARB value.
 boolean isContextResetIsolation()
          Returns true if the CONTEXT_RESET_ISOLATION_BIT_ARB has been set.
 boolean isDebug()
          Returns true if the CONTEXT_DEBUG_BIT_ARB has been set.
 boolean isForwardCompatible()
          Returns true if the CONTEXT_FORWARD_COMPATIBLE_BIT_ARB has been set.
 boolean isLoseContextOnReset()
          Deprecated. use getContextResetNotificationStrategy() instead
 boolean isProfileCompatibility()
          Returns true if the CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB has been set.
 boolean isProfileCore()
          Returns true if the CONTEXT_CORE_PROFILE_BIT_ARB has been set.
 boolean isProfileES()
          Returns true if the CONTEXT_ES2_PROFILE_BIT_EXT has been set.
 boolean isRobustAccess()
          Returns true if the CONTEXT_ROBUST_ACCESS_BIT_ARB has been set.
 java.lang.String toString()
           
 ContextAttribs withContextReleaseBehavior(int behavior)
          Returns a ContextAttribs instance with CONTEXT_RELEASE_BEHABIOR_ARB set to the given behavior.
 ContextAttribs withContextResetIsolation(boolean contextResetIsolation)
          Returns a new ContextAttribs instance with the CONTEXT_RESET_ISOLATION_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.
 ContextAttribs withDebug(boolean debug)
          Returns a new ContextAttribs instance with the CONTEXT_DEBUG_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.
 ContextAttribs withForwardCompatible(boolean forwardCompatible)
          Returns a new ContextAttribs instance with the CONTEXT_FORWARD_COMPATIBLE_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.
 ContextAttribs withLayer(int layerPlane)
          Returns a new ContextAttribs instance with CONTEXT_LAYER_PLANE_ARB set to the given value.
 ContextAttribs withLoseContextOnReset(boolean loseContextOnReset)
          Deprecated. use withResetNotificationStrategy(int) instead
 ContextAttribs withProfileCompatibility(boolean profileCompatibility)
          Returns a new ContextAttribs instance with the CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB bit in CONTEXT_PROFILE_MASK_ARB set to the given value.
 ContextAttribs withProfileCore(boolean profileCore)
          Returns a new ContextAttribs instance with the CONTEXT_CORE_PROFILE_BIT_ARB bit in CONTEXT_PROFILE_MASK_ARB set to the given value.
 ContextAttribs withProfileES(boolean profileES)
          Returns a new ContextAttribs instance with the CONTEXT_ES2_PROFILE_BIT_EXT bit in CONTEXT_PROFILE_MASK_ARB set to the given value.
 ContextAttribs withResetNotificationStrategy(int strategy)
          Returns a ContextAttribs instance with CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB set to the given strategy.
 ContextAttribs withRobustAccess(boolean robustAccess)
          Returns a new ContextAttribs instance with the CONTEXT_ROBUST_ACCESS_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CONTEXT_MAJOR_VERSION_ARB

public static final int CONTEXT_MAJOR_VERSION_ARB
See Also:
Constant Field Values

CONTEXT_MINOR_VERSION_ARB

public static final int CONTEXT_MINOR_VERSION_ARB
See Also:
Constant Field Values

CONTEXT_PROFILE_MASK_ARB

public static final int CONTEXT_PROFILE_MASK_ARB
See Also:
Constant Field Values

CONTEXT_CORE_PROFILE_BIT_ARB

public static final int CONTEXT_CORE_PROFILE_BIT_ARB
See Also:
Constant Field Values

CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB

public static final int CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
See Also:
Constant Field Values

CONTEXT_ES2_PROFILE_BIT_EXT

public static final int CONTEXT_ES2_PROFILE_BIT_EXT
See Also:
Constant Field Values

CONTEXT_FLAGS_ARB

public static final int CONTEXT_FLAGS_ARB
See Also:
Constant Field Values

CONTEXT_DEBUG_BIT_ARB

public static final int CONTEXT_DEBUG_BIT_ARB
See Also:
Constant Field Values

CONTEXT_FORWARD_COMPATIBLE_BIT_ARB

public static final int CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
See Also:
Constant Field Values

CONTEXT_ROBUST_ACCESS_BIT_ARB

public static final int CONTEXT_ROBUST_ACCESS_BIT_ARB
See Also:
Constant Field Values

CONTEXT_RESET_ISOLATION_BIT_ARB

public static final int CONTEXT_RESET_ISOLATION_BIT_ARB
See Also:
Constant Field Values

CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB

public static final int CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
See Also:
Constant Field Values

NO_RESET_NOTIFICATION_ARB

public static final int NO_RESET_NOTIFICATION_ARB
See Also:
Constant Field Values

LOSE_CONTEXT_ON_RESET_ARB

public static final int LOSE_CONTEXT_ON_RESET_ARB
See Also:
Constant Field Values

CONTEXT_RELEASE_BEHABIOR_ARB

public static final int CONTEXT_RELEASE_BEHABIOR_ARB
See Also:
Constant Field Values

CONTEXT_RELEASE_BEHAVIOR_NONE_ARB

public static final int CONTEXT_RELEASE_BEHAVIOR_NONE_ARB
See Also:
Constant Field Values

CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB

public static final int CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB
See Also:
Constant Field Values

CONTEXT_LAYER_PLANE_ARB

public static final int CONTEXT_LAYER_PLANE_ARB
See Also:
Constant Field Values
Constructor Detail

ContextAttribs

public ContextAttribs()
Creates the default ContextAttribs instance. No special attributes will be used when creating the OpenGL context.


ContextAttribs

public ContextAttribs(int majorVersion,
                      int minorVersion)
Creates a ContextAttribs instance for the given OpenGL version.


ContextAttribs

public ContextAttribs(int majorVersion,
                      int minorVersion,
                      int profileMask)
Creates a new ContextAttribs instance with the given attributes.

Parameters:
majorVersion - the major OpenGL version
minorVersion - the minor OpenGL version
profileMask - the context profile mask. One of:
CONTEXT_CORE_PROFILE_BIT_ARB, CONTEXT_FORWARD_COMPATIBLE_BIT_ARB, CONTEXT_ES2_PROFILE_BIT_EXT

ContextAttribs

public ContextAttribs(int majorVersion,
                      int minorVersion,
                      int profileMask,
                      int contextFlags)
Creates a new ContextAttribs instance with the given attributes.

Parameters:
majorVersion - the major OpenGL version
minorVersion - the minor OpenGL version
profileMask - the context profile mask. One of:
CONTEXT_CORE_PROFILE_BIT_ARB, CONTEXT_FORWARD_COMPATIBLE_BIT_ARB, CONTEXT_ES2_PROFILE_BIT_EXT
contextFlags - the context flags, a bitfield value. One or more of:
CONTEXT_DEBUG_BIT_ARB, CONTEXT_FORWARD_COMPATIBLE_BIT_ARB, CONTEXT_ROBUST_ACCESS_BIT_ARB, CONTEXT_RESET_ISOLATION_BIT_ARB
Method Detail

getMajorVersion

public int getMajorVersion()
Returns the CONTEXT_MAJOR_VERSION_ARB value.


getMinorVersion

public int getMinorVersion()
Returns the CONTEXT_MINOR_VERSION_ARB value.


getProfileMask

public int getProfileMask()
Returns the CONTEXT_PROFILE_MASK_ARB value.


isProfileCore

public boolean isProfileCore()
Returns true if the CONTEXT_CORE_PROFILE_BIT_ARB has been set.


isProfileCompatibility

public boolean isProfileCompatibility()
Returns true if the CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB has been set.


isProfileES

public boolean isProfileES()
Returns true if the CONTEXT_ES2_PROFILE_BIT_EXT has been set.


getContextFlags

public int getContextFlags()
Returns the CONTEXT_FLAGS_ARB value.


isDebug

public boolean isDebug()
Returns true if the CONTEXT_DEBUG_BIT_ARB has been set.


isForwardCompatible

public boolean isForwardCompatible()
Returns true if the CONTEXT_FORWARD_COMPATIBLE_BIT_ARB has been set.


isRobustAccess

public boolean isRobustAccess()
Returns true if the CONTEXT_ROBUST_ACCESS_BIT_ARB has been set.


isContextResetIsolation

public boolean isContextResetIsolation()
Returns true if the CONTEXT_RESET_ISOLATION_BIT_ARB has been set.


getContextResetNotificationStrategy

public int getContextResetNotificationStrategy()
Returns the CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB value.


isLoseContextOnReset

public boolean isLoseContextOnReset()
Deprecated. use getContextResetNotificationStrategy() instead

Returns true if the CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB has been set to LOSE_CONTEXT_ON_RESET_ARB.


getContextReleaseBehavior

public int getContextReleaseBehavior()
Returns the CONTEXT_RELEASE_BEHABIOR_ARB value.


getLayerPlane

public int getLayerPlane()
Returns the CONTEXT_LAYER_PLANE_ARB value.


withProfileCore

public ContextAttribs withProfileCore(boolean profileCore)
Returns a new ContextAttribs instance with the CONTEXT_CORE_PROFILE_BIT_ARB bit in CONTEXT_PROFILE_MASK_ARB set to the given value. If profileCore is true, all other bits in the mask are cleared.


withProfileCompatibility

public ContextAttribs withProfileCompatibility(boolean profileCompatibility)
Returns a new ContextAttribs instance with the CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB bit in CONTEXT_PROFILE_MASK_ARB set to the given value. If profileCompatibility is true, all other bits in the mask are cleared.


withProfileES

public ContextAttribs withProfileES(boolean profileES)
Returns a new ContextAttribs instance with the CONTEXT_ES2_PROFILE_BIT_EXT bit in CONTEXT_PROFILE_MASK_ARB set to the given value. If profileES is true, all other bits in the mask are cleared.


withDebug

public ContextAttribs withDebug(boolean debug)
Returns a new ContextAttribs instance with the CONTEXT_DEBUG_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.


withForwardCompatible

public ContextAttribs withForwardCompatible(boolean forwardCompatible)
Returns a new ContextAttribs instance with the CONTEXT_FORWARD_COMPATIBLE_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.


withRobustAccess

public ContextAttribs withRobustAccess(boolean robustAccess)
Returns a new ContextAttribs instance with the CONTEXT_ROBUST_ACCESS_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.


withContextResetIsolation

public ContextAttribs withContextResetIsolation(boolean contextResetIsolation)
Returns a new ContextAttribs instance with the CONTEXT_RESET_ISOLATION_BIT_ARB bit in CONTEXT_FLAGS_ARB set to the given value.


withResetNotificationStrategy

public ContextAttribs withResetNotificationStrategy(int strategy)
Returns a ContextAttribs instance with CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB set to the given strategy. The default context reset notification strategy is NO_RESET_NOTIFICATION_ARB.

Parameters:
strategy - the context reset notification strategy. One of:
NO_RESET_NOTIFICATION_ARB, LOSE_CONTEXT_ON_RESET_ARB
Returns:
the new ContextAttribs

withLoseContextOnReset

public ContextAttribs withLoseContextOnReset(boolean loseContextOnReset)
Deprecated. use withResetNotificationStrategy(int) instead

Returns a ContextAttribs instance with CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB set to LOSE_CONTEXT_ON_RESET_ARB if the parameter is true or to NO_RESET_NOTIFICATION_ARB if the parameter is false.

Parameters:
loseContextOnReset - the context reset notification strategy
Returns:
the new ContextAttribs

withContextReleaseBehavior

public ContextAttribs withContextReleaseBehavior(int behavior)
Returns a ContextAttribs instance with CONTEXT_RELEASE_BEHABIOR_ARB set to the given behavior. The default context release behavior is CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB.

Parameters:
behavior - the context release behavior. One of:
CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB, CONTEXT_RELEASE_BEHAVIOR_NONE_ARB
Returns:
the new ContextAttribs

withLayer

public ContextAttribs withLayer(int layerPlane)
Returns a new ContextAttribs instance with CONTEXT_LAYER_PLANE_ARB set to the given value.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2002-2009 lwjgl.org. All Rights Reserved.