Top Inners Fields Constructors Methods
jogamp.opengl.windows.wgl

public Class WindowsWGLDrawableFactory

extends GLDrawableFactoryImpl
Class Inheritance
Imports
java.nio.Buffer, .ShortBuffer, java.security.AccessController, .PrivilegedAction, java.util.List, com.jogamp.nativewindow.AbstractGraphicsConfiguration, .AbstractGraphicsDevice, .AbstractGraphicsScreen, .DefaultGraphicsScreen, .NativeSurface, .ProxySurface, .UpstreamSurfaceHook, .GenericUpstreamSurfacelessHook, com.jogamp.opengl.GLCapabilities, .GLCapabilitiesChooser, .GLCapabilitiesImmutable, .GLContext, .GLDrawable, .GLException, .GLProfile, .GLExtensions, .GLRendererQuirks, jogamp.nativewindow.WrappedSurface, jogamp.nativewindow.windows.GDI, .GDIDummyUpstreamSurfaceHook, .GDISurface, .RegisteredClassFactory, jogamp.opengl.Debug, .DesktopGLDynamicLookupHelper, .GLContextImpl, .GLDrawableFactoryImpl, .GLDrawableImpl, .GLDynamicLookupHelper, .GLGraphicsConfigurationUtil, .SharedResourceRunner, com.jogamp.common.nio.PointerBuffer, com.jogamp.common.util.PropertyAccess, .ReflectionUtil, com.jogamp.nativewindow.windows.WindowsGraphicsDevice

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static interface
pack-priv static class
pack-priv static class
pack-priv class
pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
private static final int
CPU_AFFINITY_MODE

Bug 1036: NVidia Windows Driver 'Threaded optimization' workaround.

private final WindowsWGLDrawableFactory.CPUAffinity
private static final boolean
private WindowsGraphicsDevice
private static final int
private WindowsWGLDrawableFactory.SharedResourceImplementation
private SharedResourceRunner
pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
pack-priv static final String
private static DesktopGLDynamicLookupHelper
Inherited from jogamp.opengl.GLDrawableFactoryImpl:
DEBUG

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public final boolean
canCreateExternalGLDrawable(final AbstractGraphicsDevice
which connection denotes the shared the target device, may be null for the platform's default device.
device
)

Implements abstract com.jogamp.opengl.GLDrawableFactory.canCreateExternalGLDrawable.

Returns true if it is possible to create an external GLDrawable object via createExternalGLDrawable.
public final boolean
canCreateGLPbuffer(final AbstractGraphicsDevice
which connection denotes the shared the target device, may be null for the platform's default device.
device
,
final GLProfile
GLProfile to check for FBO capabilities
glp
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.canCreateGLPbuffer.

Returns true if it is possible to create an pbuffer surface.
public final ProxySurface
createDummySurfaceImpl(final AbstractGraphicsDevice
a valid platform dependent target device.
deviceReq
,
final boolean
if true a new device instance is created using device details, otherwise device instance is used as-is.
createNewDevice
,
GLCapabilitiesImmutable chosenCaps, final GLCapabilitiesImmutable requestedCaps, final GLCapabilitiesChooser
the custom chooser, may be null for default
chooser
,
final int
the initial width as returned by NativeSurface#getSurfaceWidth(), not the actual dummy surface width. The latter is platform specific and small
width
,
final int
the initial height as returned by NativeSurface#getSurfaceHeight(), not the actual dummy surface height, The latter is platform specific and small
height
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createDummySurfaceImpl.

A dummy surface is not visible on screen and may be on- or offscreen.
protected final GLContext
protected final GLDrawable
protected final ProxySurface
createMutableSurfaceImpl(final AbstractGraphicsDevice
a valid platform dependent target device.
deviceReq
,
final boolean
if true a new independent device instance is created using device details, otherwise device instance is used as-is.
createNewDevice
,
final GLCapabilitiesImmutable capsChosen, final GLCapabilitiesImmutable capsRequested, final GLCapabilitiesChooser
the custom chooser, may be null for default
chooser
,
final UpstreamSurfaceHook
surface size information and optional control of the surface's lifecycle
upstreamHook
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createMutableSurfaceImpl.

Creates a mutable ProxySurface w/o defined surface handle.
protected final GLDrawableImpl
createOffscreenDrawableImpl(final NativeSurface target)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createOffscreenDrawableImpl.

Creates a platform dependent unrealized offscreen pbuffer/pixmap GLDrawable instance
protected final GLDrawableImpl
protected final ProxySurface
createProxySurfaceImpl(final AbstractGraphicsDevice deviceReq, final int screenIdx, final long windowHandle, final GLCapabilitiesImmutable capsRequested, final GLCapabilitiesChooser chooser, final UpstreamSurfaceHook
TODO
upstream
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createProxySurfaceImpl.

Creates a ProxySurface with a set surface handle.
public final ProxySurface
createSurfacelessImpl(final AbstractGraphicsDevice
a valid platform dependent target device.
deviceReq
,
final boolean
if true a new device instance is created using device details, otherwise device instance is used as-is.
createNewDevice
,
GLCapabilitiesImmutable chosenCaps, final GLCapabilitiesImmutable requestedCaps, final GLCapabilitiesChooser
the custom chooser, may be null for default
chooser
,
final int
the initial width as returned by NativeSurface#getSurfaceWidth(), not the actual dummy surface width. The latter is platform specific and small
width
,
final int
the initial height as returned by NativeSurface#getSurfaceHeight(), not the actual dummy surface height, The latter is platform specific and small
height
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.createSurfacelessImpl.

A surfaceless ProxySurface is a non-existing surface and will not be used as a render target.
protected void
protected List<GLCapabilitiesImmutable>
public final AbstractGraphicsDevice
protected final Buffer
getGammaRamp(final NativeSurface
TODO
surface
)

Overrides jogamp.opengl.GLDrawableFactoryImpl.getGammaRamp.

Gets the current gamma ramp.
protected final int
getGammaRampLength(final NativeSurface
TODO
surface
)

Overrides jogamp.opengl.GLDrawableFactoryImpl.getGammaRampLength.

Returns the length of the computed gamma ramp for this OS and hardware.
public final GLDynamicLookupHelper
getGLDynamicLookupHelper(final int
the major OpenGL profile version
majorVersion
,
final int
the context profile options
contextOptions
)

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.getGLDynamicLookupHelper.

Returns the GLDynamicLookupHelper if installed, otherwise null.
public final boolean
getIsDeviceCompatible(final AbstractGraphicsDevice
which connection denotes the shared the target device, may be null for the platform's default device.
device
)

Implements abstract com.jogamp.opengl.GLDrawableFactory.getIsDeviceCompatible.

protected final WindowsWGLDrawable
protected final WindowsWGLDrawableFactory.SharedResource
protected final Thread
getSharedResourceThread()

Implements abstract com.jogamp.opengl.GLDrawableFactory.getSharedResourceThread.

Validate and start the shared resource runner thread if necessary and if the implementation uses it.
public final boolean
hasMajorMinorCreateContextARB()

Implements abstract jogamp.opengl.GLDrawableFactoryImpl.hasMajorMinorCreateContextARB.

Method returns true if underlying ARB context creation supports major and minor version number.
public final boolean
hasOpenGLDesktopSupport()

Implements abstract com.jogamp.opengl.GLDrawableFactory.hasOpenGLDesktopSupport.

Method returns true if underlying implementation may support native desktop OpenGL, otherwise false.
public final boolean
hasOpenGLESSupport()

Implements abstract com.jogamp.opengl.GLDrawableFactory.hasOpenGLESSupport.

Method returns true if underlying implementation may support native embedded OpenGL ES, otherwise false.
protected final boolean
isComplete()

Implements abstract com.jogamp.opengl.GLDrawableFactory.isComplete.

Returns true if this factory is complete, i.e. ready to be used.
public final int

Returns:

1 if read drawable extension is available, 0 if not and -1 if undefined yet, ie no shared device exist at this point.
isReadDrawableAvailable
(final AbstractGraphicsDevice device)

protected void
protected final void
resetGammaRamp(final NativeSurface
TODO
surface
,
final Buffer originalGammaRamp)

Overrides jogamp.opengl.GLDrawableFactoryImpl.resetGammaRamp.

Resets the gamma ramp, potentially using the specified Buffer as data to restore the original values.
protected final void
protected final boolean
setGammaRamp(final NativeSurface
TODO
surface
,
final float[] ramp)

Overrides jogamp.opengl.GLDrawableFactoryImpl.setGammaRamp.

Sets the gamma ramp for the main screen.
protected final void
pack-priv static String
toHexString(final long l)

pack-priv static String
Inherited from jogamp.opengl.GLDrawableFactoryImpl:
canCreateFBOcreateDummyAutoDrawablecreateDummyDrawablecreateDummySurfacecreateExternalGLContextcreateExternalGLDrawablecreateFBODrawableImplcreateGLDrawablecreateOffscreenAutoDrawablecreateOffscreenDrawablecreateProxySurfacecreateSharedResourceImplgetFactoryImplgetOrCreateSharedContextgetOrCreateSharedDevicegetOrCreateSharedResourcegetRendererQuirksprobeSurfacelessCtxresetAllDisplayGammaresetAllDisplayGammaNoSyncresetDisplayGammasetDisplayGammasetNoSurfacelessCtxQuirk