protected GL2 getGL2(GLAutoDrawable drawable) { LOGGER.info("GL context : " + drawable.getContext()); LOGGER.info("GL profile : " + drawable.getGLProfile()); LOGGER.info("GL impl : " + drawable.getGL().getClass().getSimpleName()); LOGGER.info("isGL : " + drawable.getGL().isGL()); LOGGER.info("isGL2 : " + drawable.getGL().isGL2()); LOGGER.info("isGLES1 : " + drawable.getGL().isGL2ES1()); LOGGER.info("isGLES2 : " + drawable.getGL().isGL2ES2()); LOGGER.info("isGLES3 : " + drawable.getGL().isGL2ES3()); LOGGER.info("isGL2GL3 : " + drawable.getGL().isGL2GL3()); LOGGER.info("isGL3 : " + drawable.getGL().isGL3()); LOGGER.info("isGL3core : " + drawable.getGL().isGL3core()); LOGGER.info("isGL3ES3 : " + drawable.getGL().isGL3ES3()); LOGGER.info("isGL4 : " + drawable.getGL().isGL4()); LOGGER.info("isGL4bc : " + drawable.getGL().isGL4bc()); if (drawable.getGL() instanceof GL4bcImpl) { return drawable.getGL().getGL3().getGL2();//(GL2)drawable;//drawable.getGL().getGL2();//getGL3().getGL2(); } else { return (GL2)drawable;//drawable.getGL().getGL2(); } }
/** * Convenient wrapper for {@link GLDrawableFactory#resetDisplayGamma(com.jogamp.nativewindow.NativeSurface)} * locking {@link GLAutoDrawable#getUpstreamLock()} to ensure proper atomic operation. */ public static void resetDisplayGamma(final GLAutoDrawable drawable) { final RecursiveLock lock = drawable.getUpstreamLock(); lock.lock(); try { GLDrawableFactory.getFactory(drawable.getGLProfile()).resetDisplayGamma(drawable.getNativeSurface()); } finally { lock.unlock(); } }
/** * Convenient wrapper for {@link GLDrawableFactory#resetDisplayGamma(com.jogamp.nativewindow.NativeSurface)} * locking {@link GLAutoDrawable#getUpstreamLock()} to ensure proper atomic operation. */ public static void resetDisplayGamma(final GLAutoDrawable drawable) { final RecursiveLock lock = drawable.getUpstreamLock(); lock.lock(); try { GLDrawableFactory.getFactory(drawable.getGLProfile()).resetDisplayGamma(drawable.getNativeSurface()); } finally { lock.unlock(); } }
/** * Convenient wrapper for {@link GLDrawableFactory#setDisplayGamma(com.jogamp.nativewindow.NativeSurface, float, float, float)} * locking {@link GLAutoDrawable#getUpstreamLock()} to ensure proper atomic operation. */ public static boolean setDisplayGamma(final GLAutoDrawable drawable, final float gamma, final float brightness, final float contrast) throws IllegalArgumentException { final RecursiveLock lock = drawable.getUpstreamLock(); lock.lock(); try { return GLDrawableFactory.getFactory(drawable.getGLProfile()).setDisplayGamma(drawable.getNativeSurface(), gamma, brightness, contrast); } finally { lock.unlock(); } }
/** * Convenient wrapper for {@link GLDrawableFactory#setDisplayGamma(com.jogamp.nativewindow.NativeSurface, float, float, float)} * locking {@link GLAutoDrawable#getUpstreamLock()} to ensure proper atomic operation. */ public static boolean setDisplayGamma(final GLAutoDrawable drawable, final float gamma, final float brightness, final float contrast) throws IllegalArgumentException { final RecursiveLock lock = drawable.getUpstreamLock(); lock.lock(); try { return GLDrawableFactory.getFactory(drawable.getGLProfile()).setDisplayGamma(drawable.getNativeSurface(), gamma, brightness, contrast); } finally { lock.unlock(); } }