|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.media.opengl.GLProfile
public class GLProfile
Specifies the the OpenGL profile.
This class static singleton initialization queries the availability of all OpenGL Profiles
and instantiates singleton GLProfile objects for each available profile.
The platform default profile may be used, using GLProfile#GetProfileDefault()
,
or more specialized versions using the other static GetProfile methods.
Field Summary | |
---|---|
static boolean |
DEBUG
|
static String[] |
GL_PROFILE_LIST_ALL
All GL Profiles in the order of default detection. |
static String[] |
GL_PROFILE_LIST_GL2ES1
All GL2ES1 Profiles in the order of default detection. |
static String[] |
GL_PROFILE_LIST_GL2ES2
All GL2ES2 Profiles in the order of default detection. |
static String[] |
GL_PROFILE_LIST_GLES
All GLES Profiles in the order of default detection. |
static String[] |
GL_PROFILE_LIST_MAX
Order of maximum profiles. |
static String[] |
GL_PROFILE_LIST_MAX_FIXEDFUNC
Order of maximum fixed function profiles GL4bc GL3bc GL2 GLES1 |
static String[] |
GL_PROFILE_LIST_MAX_PROGSHADER
Order of maximum programmable shader profiles GL4bc GL4 GL3bc GL3 GL2 GLES2 |
static String[] |
GL_PROFILE_LIST_MIN
Order of minimum profiles. |
static String[] |
GL_PROFILE_LIST_MIN_DESKTOP
Order of minimum original desktop profiles. |
static String |
GL2
The desktop OpenGL profile 1.x up to 3.0 |
static String |
GL2ES1
The intersection of the desktop GL2 and embedded ES1 profile |
static String |
GL2ES2
The intersection of the desktop GL3, GL2 and embedded ES2 profile |
static String |
GL2GL3
The intersection of the desktop GL3 and GL2 profile |
static String |
GL3
The desktop OpenGL core profile 3.x, with x >= 1 |
static String |
GL3bc
The desktop OpenGL compatibility profile 3.x, with x >= 1, ie GL2 plus GL3. bc stands for backward compatibility. |
static String |
GL4
The desktop OpenGL core profile 4.x, with x >= 0 |
static String |
GL4bc
The desktop OpenGL compatibility profile 4.x, with x >= 0, ie GL2 plus GL4. bc stands for backward compatibility. |
static String |
GLES1
The embedded OpenGL profile ES 1.x, with x >= 0 |
static String |
GLES2
The embedded OpenGL profile ES 2.x, with x >= 0 |
Method Summary | |
---|---|
boolean |
equals(Object o)
|
static GLProfile |
get(AbstractGraphicsDevice device,
String profile)
Returns a GLProfile object. |
static GLProfile |
get(AbstractGraphicsDevice device,
String[] profiles)
Returns the first profile from the given list, where an implementation is available. |
static GLProfile |
get(String profile)
Uses the default device |
static GLProfile |
get(String[] profiles)
Uses the default device |
static GLProfile |
getDefault()
Uses the default device |
static GLProfile |
getDefault(AbstractGraphicsDevice device)
Returns a default GLProfile object, reflecting the best for the running platform. |
static AbstractGraphicsDevice |
getDefaultDesktopDevice()
|
static AbstractGraphicsDevice |
getDefaultDevice()
|
static AbstractGraphicsDevice |
getDefaultEGLDevice()
|
static GLProfile |
getGL2ES1()
Returns an available GL2ES1 compatible profile. |
static GLProfile |
getGL2ES1(AbstractGraphicsDevice device)
Returns an available GL2ES1 compatible profile. |
static GLProfile |
getGL2ES2()
Returns an available GL2ES2 compatible profile It returns the first available of the set: GL_PROFILE_LIST_GL2ES2 . |
static GLProfile |
getGL2ES2(AbstractGraphicsDevice device)
Returns an available GL2ES2 compatible profile. |
static String |
getGLArrayName(int array)
|
String |
getGLImplBaseClassName()
|
static String |
getGLTypeName(int type)
|
String |
getImplName()
|
static GLProfile |
getMaxFixedFunc()
Uses the default device |
static GLProfile |
getMaxFixedFunc(AbstractGraphicsDevice device)
Returns the highest profile, implementing the fixed function pipeline. |
static GLProfile |
getMaximum()
Uses the default device |
static GLProfile |
getMaximum(AbstractGraphicsDevice device)
Returns the highest profile. |
static GLProfile |
getMaxProgrammable()
Uses the default device |
static GLProfile |
getMaxProgrammable(AbstractGraphicsDevice device)
Returns the highest profile, implementing the programmable shader pipeline. |
static GLProfile |
getMinimum()
Uses the default device |
static GLProfile |
getMinimum(AbstractGraphicsDevice device)
Returns the lowest profile. |
String |
getName()
|
static String |
glAvailabilityToString()
Uses the default device |
static String |
glAvailabilityToString(AbstractGraphicsDevice device)
|
boolean |
hasGLSL()
Indicates whether this profile supports GLSL. |
int |
hashCode()
|
static void |
initProfiles(AbstractGraphicsDevice device)
Trigger eager initialization of GLProfiles for the given device, in case it isn't done yet. |
static void |
initSingleton(boolean firstUIActionOnProcess)
Static one time initialization of JOGL. |
static boolean |
isAnyAvailable()
Returns the availability of any profile on the default device. |
static boolean |
isAvailable(AbstractGraphicsDevice device,
String profile)
Returns the availability of a profile on a device. |
static boolean |
isAvailable(String profile)
Returns the availability of a profile on the default device. |
static boolean |
isAWTAvailable()
|
boolean |
isGL2()
Indicates whether this context is a GL2 context |
boolean |
isGL2ES1()
Indicates whether this profile is capable of GL2ES1. |
boolean |
isGL2ES2()
Indicates whether this profile is capable os GL2ES2. |
boolean |
isGL2GL3()
Indicates whether this profile is capable os GL2GL3. |
boolean |
isGL3()
Indicates whether this profile is capable of GL3. |
boolean |
isGL3bc()
Indicates whether this profile is capable of GL3bc. |
boolean |
isGL4()
Indicates whether this profile is capable of GL4. |
boolean |
isGL4bc()
Indicates whether this profile is capable of GL4bc. |
boolean |
isGLES1()
Indicates whether this profile is capable of GLES1. |
boolean |
isGLES2()
Indicates whether this profile is capable of GLES2. |
boolean |
isValidArrayDataType(int index,
int comps,
int type,
boolean isVertexAttribPointer,
boolean throwException)
|
boolean |
isValidDataType(int type,
boolean throwException)
General validation if type is a valid GL data type for the current profile |
static void |
shutdown()
Manual shutdown method, may be called after your last JOGL use within the running JVM. It releases all temporary created resources, ie issues GLDrawableFactory.shutdown() .The shutdown implementation is called via the JVM shutdown hook, if not manually invoked here. Invoke shutdown() manually is recommended, due to the unreliable JVM state within the shutdown hook. |
String |
toString()
|
boolean |
usesNativeGLES()
Indicates whether this profile uses either of the native OpenGL ES implementations. |
static boolean |
usesNativeGLES(String profileImpl)
Indicates whether either of the native OpenGL ES profiles are in use. |
boolean |
usesNativeGLES1()
Indicates whether this profile uses the native OpenGL ES1 implementations. |
static boolean |
usesNativeGLES1(String profileImpl)
Indicates whether the native OpenGL ES1 profile is in use. |
boolean |
usesNativeGLES2()
Indicates whether this profile uses the native OpenGL ES2 implementations. |
static boolean |
usesNativeGLES2(String profileImpl)
Indicates whether the native OpenGL ES2 profile is in use. |
void |
verifyEquality(GLProfile glp)
|
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final boolean DEBUG
public static final String GL4bc
bc
stands for backward compatibility.
public static final String GL4
public static final String GL3bc
bc
stands for backward compatibility.
public static final String GL3
public static final String GL2
public static final String GLES1
public static final String GLES2
public static final String GL2ES1
public static final String GL2ES2
public static final String GL2GL3
public static final String[] GL_PROFILE_LIST_ALL
This includes the generic subset profiles GL2GL3, GL2ES2 and GL2ES1.
public static final String[] GL_PROFILE_LIST_MAX
public static final String[] GL_PROFILE_LIST_MIN
public static final String[] GL_PROFILE_LIST_MIN_DESKTOP
public static final String[] GL_PROFILE_LIST_MAX_FIXEDFUNC
public static final String[] GL_PROFILE_LIST_MAX_PROGSHADER
public static final String[] GL_PROFILE_LIST_GL2ES2
GL_PROFILE_LIST_MAX_PROGSHADER
public static final String[] GL_PROFILE_LIST_GL2ES1
GL_PROFILE_LIST_MAX_FIXEDFUNC
public static final String[] GL_PROFILE_LIST_GLES
Method Detail |
---|
public static void initSingleton(boolean firstUIActionOnProcess)
The parameter firstUIActionOnProcess
has an impact on concurrent locking,
see NativeWindowFactory.initSingleton(firstUIActionOnProcess)
.
Applications shall call this methods ASAP, before any other UI invocation.
You may issue the call in your main class
static block, which is the earliest point in your application/applet lifecycle,
or within the main function
.
In case applications are able to initialize JOGL before any other UI action,
they shall invoke this method with firstUIActionOnProcess=true
and benefit from fast native multithreading support on all platforms if possible.
RCP Application (Applet's, Webstart, Netbeans, ..) using JOGL may not be able to initialize JOGL
before the first UI action.
In such case you shall invoke this method with firstUIActionOnProcess=false
.
On some platforms, notably X11 with AWT usage, JOGL will utilize special locking mechanisms which may slow down your
application.
Remark: NEWT is currently not affected by this behavior, ie always uses native multithreading.
However, in case this method is not invoked, hence GLProfile is not initialized explicitly by the user,
the first call to getDefault()
, get(java.lang.String)
, etc, will initialize with firstUIActionOnProcess=false
,
hence without the possibility to enable native multithreading.
This is not the recommended way, since it may has a performance impact, but it allows you to run code without explicit initialization.
firstUIActionOnProcess
- Should be true
if called before the first UI action of the running program,
otherwise false
.public static void initProfiles(AbstractGraphicsDevice device) throws GLException
GLException
- if no profile for the given device is available.public static void shutdown()
GLDrawableFactory.shutdown()
.shutdown()
manually is recommended, due to the unreliable JVM state within the shutdown hook.
public static boolean isAvailable(AbstractGraphicsDevice device, String profile)
device
- a valid AbstractGraphicsDevice, or null for the default device.profile
- a valid GLProfile name (GL4bc
, GL4
, GL2
, ..),
or [ null, GL ]
for the default profile.
- Returns:
- true if the profile is available for the device, otherwise false.
public static boolean isAvailable(String profile)
profile
- a valid GLProfile name (GL4bc
, GL4
, GL2
, ..),
or [ null, GL ]
for the default profile.
public static boolean isAnyAvailable()
public static String glAvailabilityToString(AbstractGraphicsDevice device)
public static String glAvailabilityToString()
public static GLProfile getDefault(AbstractGraphicsDevice device)
GL_PROFILE_LIST_ALL
GLException
- if no profile is available for the device.GL_PROFILE_LIST_ALL
public static GLProfile getDefault()
GLException
- if no profile is available for the default device.public static GLProfile getMaximum(AbstractGraphicsDevice device) throws GLException
GL_PROFILE_LIST_MAX
GLException
- if no profile is available for the device.GL_PROFILE_LIST_MAX
public static GLProfile getMaximum() throws GLException
GLException
- if no profile is available for the default device.GL_PROFILE_LIST_MAX
public static GLProfile getMinimum(AbstractGraphicsDevice device) throws GLException
GL_PROFILE_LIST_MIN
GLException
- if no desktop profile is available for the device.GL_PROFILE_LIST_MIN
public static GLProfile getMinimum() throws GLException
GLException
- if no desktop profile is available for the default device.GL_PROFILE_LIST_MIN
public static GLProfile getMaxFixedFunc(AbstractGraphicsDevice device) throws GLException
GL_PROFILE_LIST_MAX_FIXEDFUNC
GLException
- if no fixed function profile is available for the device.GL_PROFILE_LIST_MAX_FIXEDFUNC
public static GLProfile getMaxFixedFunc() throws GLException
GLException
- if no fixed function profile is available for the default device.GL_PROFILE_LIST_MAX_FIXEDFUNC
public static GLProfile getMaxProgrammable(AbstractGraphicsDevice device) throws GLException
GL_PROFILE_LIST_MAX_PROGSHADER
GLException
- if no programmable profile is available for the device.GL_PROFILE_LIST_MAX_PROGSHADER
public static GLProfile getMaxProgrammable() throws GLException
GLException
- if no programmable profile is available for the default device.GL_PROFILE_LIST_MAX_PROGSHADER
public static GLProfile getGL2ES1(AbstractGraphicsDevice device) throws GLException
GL_PROFILE_LIST_GL2ES1
.
GLException
- if no GL2ES1 compatible profile is available for the device.GL_PROFILE_LIST_GL2ES1
public static GLProfile getGL2ES1() throws GLException
GL_PROFILE_LIST_GL2ES1
.
GLException
- if no GL2ES1 compatible profile is available for the default device.GL_PROFILE_LIST_GL2ES1
public static GLProfile getGL2ES2(AbstractGraphicsDevice device) throws GLException
GL_PROFILE_LIST_GL2ES2
.
GLException
- if no GL2ES2 compatible profile is available for the device.GL_PROFILE_LIST_GL2ES2
public static GLProfile getGL2ES2() throws GLException
GL_PROFILE_LIST_GL2ES2
.
GLException
- if no GL2ES2 compatible profile is available for the default device.GL_PROFILE_LIST_GL2ES2
public static GLProfile get(AbstractGraphicsDevice device, String profile) throws GLException
null
or GL
will result in
the default profile.
device
- a valid AbstractGraphicsDevice, or null for the default device.profile
- a valid GLProfile name (GL4bc
, GL4
, GL2
, ..),
or [ null, GL ]
for the default profile.
- Throws:
GLException
- if the requested profile is not available for the device.
public static GLProfile get(String profile) throws GLException
profile
- a valid GLProfile name (GL4bc
, GL4
, GL2
, ..),
or [ null, GL ]
for the default profile.
GLException
- if the requested profile is not available for the default device.public static GLProfile get(AbstractGraphicsDevice device, String[] profiles) throws GLException
device
- a valid AbstractGraphicsDevice, or null for the default device.profiles
- array of valid GLProfile name (GL4bc
, GL4
, GL2
, ..)
- Throws:
GLException
- if the non of the requested profiles is available for the device.
public static GLProfile get(String[] profiles) throws GLException
profiles
- array of valid GLProfile name (GL4bc
, GL4
, GL2
, ..)
GLException
- if the non of the requested profiles is available for the default device.public static boolean usesNativeGLES1(String profileImpl)
public static boolean usesNativeGLES2(String profileImpl)
public static boolean usesNativeGLES(String profileImpl)
public static boolean isAWTAvailable()
NativeWindowFactory.isAWTAvailable()
and
JOGL's AWT partpublic static String getGLTypeName(int type)
public static String getGLArrayName(int array)
public final String getGLImplBaseClassName()
public final boolean equals(Object o)
equals
in class Object
o
- GLProfile object to compare with
public int hashCode()
hashCode
in class Object
public final void verifyEquality(GLProfile glp) throws GLException
glp
- GLProfile to compare with
GLException
- if given GLProfile and this aren't equalpublic final String getName()
public final String getImplName()
public final boolean isGL4bc()
public final boolean isGL4()
public final boolean isGL3bc()
public final boolean isGL3()
public final boolean isGL2()
public final boolean isGLES1()
public final boolean isGLES2()
public final boolean isGL2ES1()
public final boolean isGL2ES2()
public final boolean isGL2GL3()
public final boolean hasGLSL()
public final boolean usesNativeGLES1()
public final boolean usesNativeGLES2()
public final boolean usesNativeGLES()
public boolean isValidDataType(int type, boolean throwException)
public boolean isValidArrayDataType(int index, int comps, int type, boolean isVertexAttribPointer, boolean throwException)
public String toString()
toString
in class Object
public static AbstractGraphicsDevice getDefaultDevice()
public static AbstractGraphicsDevice getDefaultDesktopDevice()
public static AbstractGraphicsDevice getDefaultEGLDevice()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |