|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.opengl.GLDrawableFactory
com.jogamp.opengl.impl.GLDrawableFactoryImpl
com.jogamp.opengl.impl.x11.glx.X11GLXDrawableFactory
public class X11GLXDrawableFactory
Field Summary |
---|
Fields inherited from class com.jogamp.opengl.impl.GLDrawableFactoryImpl |
---|
DEBUG |
Constructor Summary | |
---|---|
X11GLXDrawableFactory()
|
Method Summary | |
---|---|
boolean |
canCreateContextOnJava2DSurface(AbstractGraphicsDevice device)
|
boolean |
canCreateExternalGLDrawable(AbstractGraphicsDevice device)
Returns true if it is possible to create an external GLDrawable object via GLDrawableFactory.createExternalGLDrawable() . |
boolean |
canCreateGLPbuffer(AbstractGraphicsDevice device)
Returns true if it is possible to create a GLPbuffer. |
GLContext |
createContextOnJava2DSurface(Object graphics,
GLContext shareWith)
|
GLContext |
createExternalGLContext()
Creates a GLContext object representing an existing OpenGL context in an external (third-party) OpenGL-based library. |
GLDrawable |
createExternalGLDrawable()
Creates a GLDrawable object representing an existing
OpenGL drawable in an external (third-party) OpenGL-based
library. |
protected GLDrawableImpl |
createGLPbufferDrawableImpl(NativeWindow target)
Target must implement SurfaceChangeable |
protected GLDrawableImpl |
createOffscreenDrawable(NativeWindow target)
|
protected NativeWindow |
createOffscreenWindow(GLCapabilities capabilities,
GLCapabilitiesChooser chooser,
int width,
int height)
creates an offscreen NativeWindow, which must implement SurfaceChangeable as well, so the windowing system related implementation is able to set the surface handle. |
GLDrawableImpl |
createOnscreenDrawable(NativeWindow target)
|
protected Buffer |
getGammaRamp()
Gets the current gamma ramp. |
protected int |
getGammaRampLength()
Returns the length of the computed gamma ramp for this OS and hardware. |
GLDynamicLookupHelper |
getGLDynamicLookupHelper(int profile)
Returns the GLDynamicLookupHelper |
protected GLContextImpl |
getSharedContext()
|
protected GLDrawableImpl |
getSharedDrawable()
|
String |
getVendorName()
|
boolean |
glxVersionGreaterEqualThan(AbstractGraphicsDevice device,
int majorReq,
int minorReq)
|
boolean |
isVendorATI()
|
boolean |
isVendorNVIDIA()
|
protected void |
resetGammaRamp(Buffer originalGammaRamp)
Resets the gamma ramp, potentially using the specified Buffer as data to restore the original values. |
protected boolean |
setGammaRamp(float[] ramp)
Sets the gamma ramp for the main screen. |
protected void |
shutdown()
|
Methods inherited from class com.jogamp.opengl.impl.GLDrawableFactoryImpl |
---|
createGLDrawable, createGLPbuffer, createGLPbufferDrawable, createGLPbufferDrawable, createOffscreenDrawable, getFactoryImpl, maybeDoSingleThreadedWorkaround, resetDisplayGamma, setDisplayGamma |
Methods inherited from class javax.media.opengl.GLDrawableFactory |
---|
getFactory, getFactoryImpl |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public X11GLXDrawableFactory()
Method Detail |
---|
public GLDynamicLookupHelper getGLDynamicLookupHelper(int profile)
GLDrawableFactoryImpl
getGLDynamicLookupHelper
in class GLDrawableFactoryImpl
profile
- if EGL/ES, profile 1
refers to ES1 and 2
to ES2,
otherwise the profile is ignored.public String getVendorName()
public boolean isVendorATI()
public boolean isVendorNVIDIA()
protected final GLDrawableImpl getSharedDrawable()
getSharedDrawable
in class GLDrawableFactoryImpl
protected final GLContextImpl getSharedContext()
getSharedContext
in class GLDrawableFactoryImpl
protected void shutdown()
shutdown
in class GLDrawableFactoryImpl
public GLDrawableImpl createOnscreenDrawable(NativeWindow target)
createOnscreenDrawable
in class GLDrawableFactoryImpl
protected GLDrawableImpl createOffscreenDrawable(NativeWindow target)
createOffscreenDrawable
in class GLDrawableFactoryImpl
public boolean canCreateGLPbuffer(AbstractGraphicsDevice device)
GLDrawableFactory
canCreateGLPbuffer
in class GLDrawableFactory
public boolean glxVersionGreaterEqualThan(AbstractGraphicsDevice device, int majorReq, int minorReq)
protected GLDrawableImpl createGLPbufferDrawableImpl(NativeWindow target)
GLDrawableFactoryImpl
createGLPbufferDrawableImpl
in class GLDrawableFactoryImpl
protected NativeWindow createOffscreenWindow(GLCapabilities capabilities, GLCapabilitiesChooser chooser, int width, int height)
GLDrawableFactoryImpl
createOffscreenWindow
in class GLDrawableFactoryImpl
public GLContext createExternalGLContext()
GLDrawableFactory
Creates a GLContext object representing an existing OpenGL
context in an external (third-party) OpenGL-based library. This
GLContext object may be used to draw into this preexisting
context using its GL
and GLU
objects. New contexts created through
GLDrawable
s may share textures and display lists with
this external context.
The underlying OpenGL context must be current on the current
thread at the time this method is called. The user is responsible
for the maintenance of the underlying OpenGL context; calls to
makeCurrent
and release
on the returned
GLContext object have no effect. If the underlying OpenGL context
is destroyed, the destroy
method should be called on
the GLContext
. A new GLContext
object
should be created for each newly-created underlying OpenGL
context.
createExternalGLContext
in class GLDrawableFactory
public boolean canCreateExternalGLDrawable(AbstractGraphicsDevice device)
GLDrawableFactory
GLDrawableFactory.createExternalGLDrawable()
.
canCreateExternalGLDrawable
in class GLDrawableFactory
public GLDrawable createExternalGLDrawable()
GLDrawableFactory
Creates a GLDrawable
object representing an existing
OpenGL drawable in an external (third-party) OpenGL-based
library. This GLDrawable object may be used to create new,
fully-functional GLContext
s on the OpenGL drawable. This
is useful when interoperating with a third-party OpenGL-based
library and it is essential to not perturb the state of the
library's existing context, even to the point of not sharing
textures or display lists with that context.
An underlying OpenGL context must be current on the desired
drawable and the current thread at the time this method is
called. The user is responsible for the maintenance of the
underlying drawable. If one or more contexts are created on the
drawable using GLDrawable.createContext(javax.media.opengl.GLContext)
, and the drawable
is deleted by the third-party library, the user is responsible
for calling GLContext.destroy()
on these contexts.
Calls to setSize
, getWidth
and
getHeight
are illegal on the returned GLDrawable. If
these operations are required by the user, they must be performed
by the third-party library.
It is legal to create both an external GLContext and GLDrawable representing the same third-party OpenGL entities. This can be used, for example, to query current state information using the external GLContext and then create and set up new GLContexts using the external GLDrawable.
This functionality may not be available on all platforms and
GLDrawableFactory.canCreateExternalGLDrawable(javax.media.nativewindow.AbstractGraphicsDevice)
should be called first to
see if it is present. For example, on X11 platforms, this API
requires the presence of GLX 1.3 or later.
createExternalGLDrawable
in class GLDrawableFactory
public boolean canCreateContextOnJava2DSurface(AbstractGraphicsDevice device)
canCreateContextOnJava2DSurface
in class GLDrawableFactoryImpl
public GLContext createContextOnJava2DSurface(Object graphics, GLContext shareWith) throws GLException
createContextOnJava2DSurface
in class GLDrawableFactoryImpl
GLException
protected int getGammaRampLength()
GLDrawableFactoryImpl
getGammaRampLength
in class GLDrawableFactoryImpl
protected boolean setGammaRamp(float[] ramp)
GLDrawableFactoryImpl
setGammaRamp
in class GLDrawableFactoryImpl
protected Buffer getGammaRamp()
GLDrawableFactoryImpl
getGammaRamp
in class GLDrawableFactoryImpl
protected void resetGammaRamp(Buffer originalGammaRamp)
GLDrawableFactoryImpl
resetGammaRamp
in class GLDrawableFactoryImpl
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |