public boolean run(GLAutoDrawable glad) { canvas.getGL().setSwapInterval(settings.isVSync() ? 1 : 0); return true; } });
protected class GLExecutableWrapper<RETURN_TYPE> implements Callable<RETURN_TYPE> { private final GLExecutable<RETURN_TYPE, GL_TYPE> executable; private GLCanvas canvas; public GLExecutableWrapper(GLExecutable<RETURN_TYPE, GL_TYPE> executable, GLCanvas canvas){ this.executable = executable; this.canvas = canvas; } @Override public RETURN_TYPE call() throws Exception { return executable.execute((GL_TYPE)canvas.getGL().getGL()); } }//end GLExecutableWrapper
@Override protected void prepareRender() { //gl = new TraceGL3(glComponent.getGL().getGL3(), System.out); // The check whether this cast is valid was // done during the initialization: gl = (GL3)glComponent.getGL(); glContext.setGL(gl); }
public boolean run(GLAutoDrawable glad) { canvas.getGL().setSwapInterval(settings.isVSync() ? 1 : 0); return true; } });
protected void setCanvasProvider(CanvasProvider canvasProvider) { final GLCanvas oldCanvas = getCanvas(); final GLEventListener glEventListener = getGlEventListener(); if(oldCanvas != null) oldCanvas.removeGLEventListener(glEventListener); this.canvasProvider = canvasProvider; if(canvasProvider != null){ final GLCanvas canvas = canvasProvider.getCanvas(); final GL gl = canvas.getGL(); final Class<? extends GL> desiredClass = getGLClass(); if(! desiredClass.isAssignableFrom(gl.getClass())){ throw new IllegalArgumentException( "CanvasProvider gives a "+gl.getClass().getName()+ " but expected a GL instance of type "+desiredClass.getName());} canvas.addGLEventListener(glEventListener); } }//end setCanvasProvider()
public GL3 getGl(){ if(gl==null) {GL gl1; //In case GL is not ready, wait and try again. try{for(int i=0; i<10; i++){ final GLCanvas canvas = getCanvas(); gl1=canvas.getGL(); if(gl1!=null){ gl=gl1.getGL3(); final String debug = System.getProperty("org.jtrfp.trcl.debugGL"); if(debug!=null&&debug.toUpperCase().contentEquals("FALSE")) {}//Do nothing else canvas.setGL(gl=new StateBeanBridgeGL3(new DebugGL3(gl))); break; } Thread.sleep(2000);}} catch(InterruptedException e){e.printStackTrace();} }//end if(!null) return gl; }