@Override public int glGetError() { return GLContext.getCurrentGL().glGetError(); }
@Override public int getError() { return gl.glGetError(); }
public static void logGLError(GL gl) { int error = gl.glGetError(); if (error != GL.GL_NO_ERROR) { LOGGER.log(Level.SEVERE, "GL Error: code " + error); } }
public static void logGLError(GL gl) { int error = gl.glGetError(); if (error != GL.GL_NO_ERROR) { LOGGER.log(Level.SEVERE, "GL Error: code " + error); } }
@Override public int glGetError() { return GLContext.getCurrentGL().glGetError(); }
@Override public int glGetError() { return GLContext.getCurrentGL().glGetError(); }
public static final String printGLErrors(final GL lGL, final String lDescription) { if (System.getProperty("ClearGL.CheckForOpenGLErrors") != null) { final int lGLErrorCode = lGL.glGetError(); final String lGLErrorStr = sGLU.gluErrorString(lGLErrorCode); if (lGLErrorCode != 0) System.err.format("OPENGL ERROR %s #%d : %s \n", lDescription, lGLErrorCode, lGLErrorStr); return lGLErrorStr; } else { return ""; } } }
int err = gl.glGetError();
private static int checkPreGLError(final GL gl) { final int glerr = gl.glGetError(); if(DEBUG && GL.GL_NO_ERROR != glerr) { System.err.println("Pre-existing GL error: "+toHexString(glerr)); ExceptionUtils.dumpStack(System.err); } return glerr; }
private void checkGLError() { final GL gl = GLContext.getCurrentGL(); int error = gl.glGetError(); if (error != GL.GL_NO_ERROR) { String glerrmsg = glu.gluErrorString(error); log.warning("OpenGL Error: (" + error + ") " + glerrmsg); } } }
private static int checkPreGLError(final GL gl) { final int glerr = gl.glGetError(); if(DEBUG && GL.GL_NO_ERROR != glerr) { System.err.println("Pre-existing GL error: "+toHexString(glerr)); ExceptionUtils.dumpStack(System.err); } return glerr; }
protected TextureFrame[] createTexFrames(final GL gl, final int count) { final int[] texNames = new int[count]; gl.glGenTextures(count, texNames, 0); final int err = gl.glGetError(); if( GL.GL_NO_ERROR != err ) { throw new RuntimeException("TextureNames creation failed (num: "+count+"): err "+toHexString(err)); } final TextureFrame[] texFrames = new TextureFrame[count]; for(int i=0; i<count; i++) { texFrames[i] = createTexImage(gl, texNames[i]); } return texFrames; } protected abstract TextureFrame createTexImage(GL gl, int texName);
/** * @param fkt */ public static void checkGLError(String fkt) { // return; final GL gl = GLContext.getCurrentGL(); int error = gl.glGetError(); if (error != GL.GL_NO_ERROR) { if (glu == null) { glu = GLU.createGLU(gl); } String glerrmsg = glu.gluErrorString(error); log.warning("OpenGL Error: (" + error + ") " + glerrmsg + ", " + fkt); } }
private boolean validateTexID(final GL gl, final boolean throwException) { if( 0 == texID ) { if( null != gl ) { final int[] tmp = new int[1]; gl.glGenTextures(1, tmp, 0); texID = tmp[0]; if ( 0 == texID && throwException ) { throw new GLException("Create texture ID invalid: texID "+texID+", glerr 0x"+Integer.toHexString(gl.glGetError())); } } else if ( throwException ) { throw new GLException("No GL context given, can't create texture ID"); } } return 0 != texID; }
/** * Returns the maximum number of FBO RENDERBUFFER samples * if {@link #hasFullFBOSupport() full FBO is supported}, otherwise false. */ public final int getMaxRenderbufferSamples() { if( hasFullFBOSupport() ) { final GL gl = getGL(); final int[] val = new int[] { 0 } ; try { gl.glGetIntegerv(GL.GL_MAX_SAMPLES, val, 0); final int glerr = gl.glGetError(); if(GL.GL_NO_ERROR == glerr) { return val[0]; } else if(DEBUG) { System.err.println("GLContext.getMaxRenderbufferSamples: GL_MAX_SAMPLES query GL Error 0x"+Integer.toHexString(glerr)); } } catch (final GLException gle) { gle.printStackTrace(); } } return 0; }
/** * Bug 1206: Security: Clear exposed framebuffer after creation and before visibility * - Clear framebuffer after setting viewport * - Since we only attempt to help against leaking un-initialized framebuffer content * not against user-app faults, we do not clear a 2nd-buffer (double-buffering). */ private final void setViewportAndClear(final GLAutoDrawable drawable, final int x, final int y, final int width, final int height) { final GL gl = drawable.getGL(); if( DEBUG_SETCLEAR ) { final int glerr0 = gl.glGetError(); if( GL.GL_NO_ERROR != glerr0 ) { System.err.println("Info: GLDrawableHelper.reshape: pre-exisiting GL error 0x"+Integer.toHexString(glerr0)); ExceptionUtils.dumpStack(System.err); } } gl.glViewport(x, y, width, height); gl.glClear(GL.GL_COLOR_BUFFER_BIT); }
/** * Bug 1206: Security: Clear exposed framebuffer after creation and before visibility * - Clear framebuffer after setting viewport * - Since we only attempt to help against leaking un-initialized framebuffer content * not against user-app faults, we do not clear a 2nd-buffer (double-buffering). */ private final void setViewportAndClear(final GLAutoDrawable drawable, final int x, final int y, final int width, final int height) { final GL gl = drawable.getGL(); if( DEBUG_SETCLEAR ) { final int glerr0 = gl.glGetError(); if( GL.GL_NO_ERROR != glerr0 ) { System.err.println("Info: GLDrawableHelper.reshape: pre-exisiting GL error 0x"+Integer.toHexString(glerr0)); ExceptionUtils.dumpStack(System.err); } } gl.glViewport(x, y, width, height); gl.glClear(GL.GL_COLOR_BUFFER_BIT); }
/** * Returns the maximum number of FBO RENDERBUFFER samples * if {@link #hasFullFBOSupport() full FBO is supported}, otherwise false. */ public final int getMaxRenderbufferSamples() { if( hasFullFBOSupport() ) { final GL gl = getGL(); final int[] val = new int[] { 0 } ; try { gl.glGetIntegerv(GL.GL_MAX_SAMPLES, val, 0); final int glerr = gl.glGetError(); if(GL.GL_NO_ERROR == glerr) { return val[0]; } else if(DEBUG) { System.err.println("GLContext.getMaxRenderbufferSamples: GL_MAX_SAMPLES query GL Error 0x"+Integer.toHexString(glerr)); } } catch (final GLException gle) { gle.printStackTrace(); } } return 0; }
private boolean validateTexID(final GL gl, final boolean throwException) { if (name != null) { gl.glActiveTexture(GL.GL_TEXTURE1); gl.glEnable(GL2.GL_TEXTURE_1D); int id = gl.getGL2().glGetUniformLocation(this.id, name); if ( id >= 0) { texID = id; } } else if( 0 == texID ) { if( null != gl ) { final int[] tmp = new int[1]; gl.glGenTextures(1, tmp, 0); texID = tmp[0]; if ( 0 == texID && throwException ) { throw new GLException("Create texture ID invalid: texID "+texID+", glerr 0x"+Integer.toHexString(gl.glGetError())); } } else if ( throwException ) { throw new GLException("No GL context given, can't create texture ID"); } } return 0 != texID; }
final int glerr = gl.glGetError(); if(GL.GL_NO_ERROR != glerr) { gl.glDeleteRenderbuffers(1, name, 0);