private synchronized GLPbuffer createBuffer( int width, int height ) { GLDrawableFactory glFactory = GLDrawableFactory.getFactory(); // Create the offscreen drawable (pBuffer). Note that the width // and height must be a power of two if it is to be used as a // texture. // GLCanvas d = new GLCanvas(); if ( glFactory.canCreateGLPbuffer() ) { GLCapabilities caps = new GLCapabilities(); GLPbuffer buf = glFactory.createGLPbuffer( caps, null, width, height, null ); return buf; // buffer.addGLEventListener(new PBufferGLEventListener(pBufferTexID,128,128,glu)); } throw new UnsupportedOperationException( "Your graphic hardware does not support GLPbuffers, you can not run the WPVS." ); }
@Override public void run() { j2dFBOShareContext = GLDrawableFactory.getFactory(GLProfile.getDefault(GLProfile.getDefaultDevice())).createExternalGLContext(); } });
/** * Convenient wrapper for {@link GLDrawableFactory#resetAllDisplayGamma()}. */ public static void resetAllDisplayGamma(final GLDrawable drawable) { GLDrawableFactory.getFactory(drawable.getGLProfile()).resetAllDisplayGamma(); } }
GLDrawableFactory factory = GLDrawableFactory.getFactory( glProfile ); GLCapabilities glCapabilities = new GLCapabilities( glProfile ); final GLOffscreenAutoDrawable glDrawable = factory.createOffscreenAutoDrawable( null, glCapabilities, null, 1, 1 );
/** * Convenient wrapper for {@link GLDrawableFactory#setDisplayGamma(javax.media.nativewindow.NativeSurface, float, float, float)}. * <p> * Use {@link #setDisplayGamma(GLAutoDrawable, float, float, float)} in case of using an {#link GLAutoDrawable}. * </p> */ public static boolean setDisplayGamma(final GLDrawable drawable, final float gamma, final float brightness, final float contrast) throws IllegalArgumentException { return GLDrawableFactory.getFactory(drawable.getGLProfile()).setDisplayGamma(drawable.getNativeSurface(), gamma, brightness, contrast); }
/** * Convenient wrapper for {@link GLDrawableFactory#resetDisplayGamma(javax.media.nativewindow.NativeSurface)}. * <p> * Use {@link #resetDisplayGamma(GLAutoDrawable)} in case of using an {#link GLAutoDrawable}. * </p> */ public static void resetDisplayGamma(final GLDrawable drawable) { GLDrawableFactory.getFactory(drawable.getGLProfile()).resetDisplayGamma(drawable.getNativeSurface()); }
private void createJAWTDrawableAndContext() { if ( !Beans.isDesignTime() ) { jawtWindow = (JAWTWindow) NativeWindowFactory.getNativeWindow(this, awtConfig); jawtWindow.setShallUseOffscreenLayer(shallUseOffscreenLayer); jawtWindow.setSurfaceScale(reqPixelScale); jawtWindow.lockSurface(); try { drawable = (GLDrawableImpl) GLDrawableFactory.getFactory(capsReqUser.getGLProfile()).createGLDrawable(jawtWindow); createContextImpl(drawable); jawtWindow.getCurrentSurfaceScale(hasPixelScale); jawtWindow.getNativeSurfaceScale(nativePixelScale); } finally { jawtWindow.unlockSurface(); } } } private boolean createContextImpl(final GLDrawable drawable) {
@Override public void start() { System.err.println("VersionApplet: start() - begin"); String s; s = VersionUtil.getPlatformInfo().toString(); System.err.println(s); s = GlueGenVersion.getInstance().toString(); System.err.println(s); /* s = NativeWindowVersion.getInstance().toString(); System.err.println(s); */ s = JoglVersion.getInstance().toString(); System.err.println(s); final GLDrawableFactory factory = GLDrawableFactory.getFactory(canvas.getGLProfile()); final List<GLCapabilitiesImmutable> availCaps = factory.getAvailableCapabilities(null); for(int i=0; i<availCaps.size(); i++) { s = availCaps.get(i).toString(); System.err.println(s); } canvas.display(); System.err.println("VersionApplet: start() - end"); }
nativeWindowHandle = SWTAccessor.getWindowHandle(this); final GLDrawableFactory glFactory = GLDrawableFactory.getFactory(capsRequested.getGLProfile()); final ProxySurface proxySurface = glFactory.createProxySurface(device, screen.getIndex(), nativeWindowHandle, capsRequested, capsChooser, swtCanvasUpStreamHook); final GLDrawableImpl _drawable = (GLDrawableImpl) glFactory.createGLDrawable(proxySurface); _drawable.setRealized(true); if(!_drawable.isRealized()) {
public final synchronized void initGL(final GL gl) { final GLContext glCtx = gl.getContext(); final boolean glCtxCurrent = glCtx.isCurrent(); final GLProfile glp = gl.getGLProfile(); final GLDrawableFactory factory = GLDrawableFactory.getFactory(glp); final AbstractGraphicsDevice device = glCtx.getGLDrawable().getNativeSurface().getGraphicsConfiguration().getScreen().getDevice(); dummyDrawable = factory.createDummyDrawable(device, true, glCtx.getGLDrawable().getChosenGLCapabilities(), null); // own device! dummyDrawable.setRealized(true); sharedGLCtx = dummyDrawable.createContext(glCtx); makeCurrent(sharedGLCtx); if( glCtxCurrent ) { makeCurrent(glCtx); } else { sharedGLCtx.release(); } } public final synchronized void doPause() {
final GLDrawableFactory drawableFactory = GLDrawableFactory.getFactory(((GLCapabilitiesImmutable)capsChosen).getGLProfile()); GraphicsConfiguration chosenGC = null;
final GLDrawableFactory factory, AbstractGraphicsDevice device) { if(null == device) { device = factory.getDefaultDevice(); final boolean pbufferAvailable = factory.canCreateGLPbuffer(device, glp); final GLRendererQuirks glrq = factory.getRendererQuirks(device); final boolean bitmapAvailable; final boolean doubleBufferAvailable;
drawable = (GLDrawableImpl) factory.createGLDrawable(surface); // [2] drawable.setRealized(true); } finally {
final GLDrawableFactory fac = GLDrawableFactory.getFactory(profile); final GLCapabilities caps = new GLCapabilities(profile); caps.setHardwareAccelerated(true); caps.setOnscreen(false); caps.setPBuffer(true); _offscreenDrawable = fac.createOffscreenAutoDrawable(null, caps, null, _width, _height, _parentContext); _context = _offscreenDrawable.getContext();
/** * Convenient wrapper for {@link GLDrawableFactory#setDisplayGamma(javax.media.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#resetDisplayGamma(javax.media.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(); } }
factory = GLDrawableFactory.getFactory(glCaps.getGLProfile()); drawable = (GLDrawableImpl) factory.createGLDrawable(ns); drawable.setRealized(true);
final GLDrawableFactory factory = GLDrawableFactory.getFactory(glp); final List<GLCapabilitiesImmutable> availCaps = factory.getAvailableCapabilities(null); for(int i=0; i<availCaps.size(); i++) { s = availCaps.get(i).toString();
final GLDrawableFactory factory = GLDrawableFactory.getFactory(newGLADCaps.getGLProfile()); GLOffscreenAutoDrawable offGLAD = null; try { offGLAD = factory.createOffscreenAutoDrawable(null, newGLADCaps, null, printAWTTiles.customTileWidth != -1 ? printAWTTiles.customTileWidth : DEFAULT_PRINT_TILE_SIZE, printAWTTiles.customTileHeight != -1 ? printAWTTiles.customTileHeight : DEFAULT_PRINT_TILE_SIZE);
/** * creates and returns a canvas for offscreen rendering * * @return a offscreen Canvas3D on which the the scene will be rendered. */ protected static synchronized GLPbuffer createOffscreenBuffer() { // Create the offscreen drawable (pBuffer). Note that the width // and height must be a power of two if it is to be used as a // texture. // GLCanvas d = new GLCanvas(); if ( GLDrawableFactory.getFactory().canCreateGLPbuffer() ) { // System.out.println( "YES" ); GLCapabilities caps = new GLCapabilities(); GLPbuffer buf = GLDrawableFactory.getFactory().createGLPbuffer( caps, null, 800, 600, null// d.getContext() ); return buf; // buffer.addGLEventListener(new PBufferGLEventListener(pBufferTexID,128,128,glu)); } System.err.println( "Can't create a pBuffer." ); // System.exit(1); return null; }