Package org.lwjgl.opengl
Class ContextAttribs
- java.lang.Object
-
- org.lwjgl.opengl.ContextAttribs
-
public final class ContextAttribs extends 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:
- WGL_ARB_create_context(_profile) and GLX_ARB_create_context(_profile)
- WGL_ARB_create_context_robustness and GLX_ARB_create_context_robustness
- WGL_ARB_robustness_isolation and GLX_ARB_robustness_isolation
- WGL_EXT_create_context_es2_profile and GLX_EXT_create_context_es2_profile
- KHR_context_flush_control
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 isContextAttribs(3, 2, CONTEXT_CORE_PROFILE_BIT_ARB)
, anything else will be ignored.- Author:
- spasi
-
-
Field Summary
Fields Modifier and Type Field Description 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
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
getContextFlags()
Returns theCONTEXT_FLAGS_ARB
value.int
getContextReleaseBehavior()
Returns theCONTEXT_RELEASE_BEHABIOR_ARB
value.int
getContextResetNotificationStrategy()
Returns theCONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
value.int
getLayerPlane()
Returns theCONTEXT_LAYER_PLANE_ARB
value.int
getMajorVersion()
Returns theCONTEXT_MAJOR_VERSION_ARB
value.int
getMinorVersion()
Returns theCONTEXT_MINOR_VERSION_ARB
value.int
getProfileMask()
Returns theCONTEXT_PROFILE_MASK_ARB
value.boolean
isContextResetIsolation()
Returns true if theCONTEXT_RESET_ISOLATION_BIT_ARB
has been set.boolean
isDebug()
Returns true if theCONTEXT_DEBUG_BIT_ARB
has been set.boolean
isForwardCompatible()
Returns true if theCONTEXT_FORWARD_COMPATIBLE_BIT_ARB
has been set.boolean
isLoseContextOnReset()
Deprecated.usegetContextResetNotificationStrategy()
insteadboolean
isProfileCompatibility()
Returns true if theCONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
has been set.boolean
isProfileCore()
Returns true if theCONTEXT_CORE_PROFILE_BIT_ARB
has been set.boolean
isProfileES()
Returns true if theCONTEXT_ES2_PROFILE_BIT_EXT
has been set.boolean
isRobustAccess()
Returns true if theCONTEXT_ROBUST_ACCESS_BIT_ARB
has been set.String
toString()
ContextAttribs
withContextReleaseBehavior(int behavior)
Returns a ContextAttribs instance withCONTEXT_RELEASE_BEHABIOR_ARB
set to the given behavior.ContextAttribs
withContextResetIsolation(boolean contextResetIsolation)
Returns a newContextAttribs
instance with theCONTEXT_RESET_ISOLATION_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.ContextAttribs
withDebug(boolean debug)
Returns a newContextAttribs
instance with theCONTEXT_DEBUG_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.ContextAttribs
withForwardCompatible(boolean forwardCompatible)
Returns a newContextAttribs
instance with theCONTEXT_FORWARD_COMPATIBLE_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.ContextAttribs
withLayer(int layerPlane)
Returns a newContextAttribs
instance withCONTEXT_LAYER_PLANE_ARB
set to the given value.ContextAttribs
withLoseContextOnReset(boolean loseContextOnReset)
Deprecated.usewithResetNotificationStrategy(int)
insteadContextAttribs
withProfileCompatibility(boolean profileCompatibility)
Returns a newContextAttribs
instance with theCONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
bit inCONTEXT_PROFILE_MASK_ARB
set to the given value.ContextAttribs
withProfileCore(boolean profileCore)
Returns a newContextAttribs
instance with theCONTEXT_CORE_PROFILE_BIT_ARB
bit inCONTEXT_PROFILE_MASK_ARB
set to the given value.ContextAttribs
withProfileES(boolean profileES)
Returns a newContextAttribs
instance with theCONTEXT_ES2_PROFILE_BIT_EXT
bit inCONTEXT_PROFILE_MASK_ARB
set to the given value.ContextAttribs
withResetNotificationStrategy(int strategy)
Returns a ContextAttribs instance withCONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
set to the given strategy.ContextAttribs
withRobustAccess(boolean robustAccess)
Returns a newContextAttribs
instance with theCONTEXT_ROBUST_ACCESS_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.
-
-
-
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 versionminorVersion
- the minor OpenGL versionprofileMask
- 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 versionminorVersion
- the minor OpenGL versionprofileMask
- 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 theCONTEXT_MAJOR_VERSION_ARB
value.
-
getMinorVersion
public int getMinorVersion()
Returns theCONTEXT_MINOR_VERSION_ARB
value.
-
getProfileMask
public int getProfileMask()
Returns theCONTEXT_PROFILE_MASK_ARB
value.
-
isProfileCore
public boolean isProfileCore()
Returns true if theCONTEXT_CORE_PROFILE_BIT_ARB
has been set.
-
isProfileCompatibility
public boolean isProfileCompatibility()
Returns true if theCONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
has been set.
-
isProfileES
public boolean isProfileES()
Returns true if theCONTEXT_ES2_PROFILE_BIT_EXT
has been set.
-
getContextFlags
public int getContextFlags()
Returns theCONTEXT_FLAGS_ARB
value.
-
isDebug
public boolean isDebug()
Returns true if theCONTEXT_DEBUG_BIT_ARB
has been set.
-
isForwardCompatible
public boolean isForwardCompatible()
Returns true if theCONTEXT_FORWARD_COMPATIBLE_BIT_ARB
has been set.
-
isRobustAccess
public boolean isRobustAccess()
Returns true if theCONTEXT_ROBUST_ACCESS_BIT_ARB
has been set.
-
isContextResetIsolation
public boolean isContextResetIsolation()
Returns true if theCONTEXT_RESET_ISOLATION_BIT_ARB
has been set.
-
getContextResetNotificationStrategy
public int getContextResetNotificationStrategy()
Returns theCONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
value.
-
isLoseContextOnReset
public boolean isLoseContextOnReset()
Deprecated.usegetContextResetNotificationStrategy()
insteadReturns true if theCONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
has been set toLOSE_CONTEXT_ON_RESET_ARB
.
-
getContextReleaseBehavior
public int getContextReleaseBehavior()
Returns theCONTEXT_RELEASE_BEHABIOR_ARB
value.
-
getLayerPlane
public int getLayerPlane()
Returns theCONTEXT_LAYER_PLANE_ARB
value.
-
withProfileCore
public ContextAttribs withProfileCore(boolean profileCore)
Returns a newContextAttribs
instance with theCONTEXT_CORE_PROFILE_BIT_ARB
bit inCONTEXT_PROFILE_MASK_ARB
set to the given value. IfprofileCore
is true, all other bits in the mask are cleared.
-
withProfileCompatibility
public ContextAttribs withProfileCompatibility(boolean profileCompatibility)
Returns a newContextAttribs
instance with theCONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
bit inCONTEXT_PROFILE_MASK_ARB
set to the given value. IfprofileCompatibility
is true, all other bits in the mask are cleared.
-
withProfileES
public ContextAttribs withProfileES(boolean profileES)
Returns a newContextAttribs
instance with theCONTEXT_ES2_PROFILE_BIT_EXT
bit inCONTEXT_PROFILE_MASK_ARB
set to the given value. IfprofileES
is true, all other bits in the mask are cleared.
-
withDebug
public ContextAttribs withDebug(boolean debug)
Returns a newContextAttribs
instance with theCONTEXT_DEBUG_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.
-
withForwardCompatible
public ContextAttribs withForwardCompatible(boolean forwardCompatible)
Returns a newContextAttribs
instance with theCONTEXT_FORWARD_COMPATIBLE_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.
-
withRobustAccess
public ContextAttribs withRobustAccess(boolean robustAccess)
Returns a newContextAttribs
instance with theCONTEXT_ROBUST_ACCESS_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.
-
withContextResetIsolation
public ContextAttribs withContextResetIsolation(boolean contextResetIsolation)
Returns a newContextAttribs
instance with theCONTEXT_RESET_ISOLATION_BIT_ARB
bit inCONTEXT_FLAGS_ARB
set to the given value.
-
withResetNotificationStrategy
public ContextAttribs withResetNotificationStrategy(int strategy)
Returns a ContextAttribs instance withCONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
set to the given strategy. The default context reset notification strategy isNO_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.usewithResetNotificationStrategy(int)
insteadReturns a ContextAttribs instance withCONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
set toLOSE_CONTEXT_ON_RESET_ARB
if the parameter is true or toNO_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 withCONTEXT_RELEASE_BEHABIOR_ARB
set to the given behavior. The default context release behavior isCONTEXT_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 newContextAttribs
instance withCONTEXT_LAYER_PLANE_ARB
set to the given value.
-
-