I’m porting an application from JOGL 1.1.1 to JSR 231. I’m getting a strange error when I attempt to create an FBO:
GL2 gl = drawable.getGL().getGL2();
IntBuffer ibuf = BufferUtil.allocateInt(1);
gl.glGenBuffers(1, ibuf);
bufferId = ibuf.get(0);
gl.glBindFramebuffer(GL2.GL_FRAMEBUFFER, framebuffer);
This causes a GL_INVALID_OPERATON. According to the GL spec, glBindFramebuffer shouldn’t even throw this exception. I am using a DebugGL2 to look for errors the same way I used a DebugGL in JOGL 1.1.1.
Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: Thread[AWT-EventQueue-0,6,main] glGetError() returned the following error codes after a call to glBindFramebuffer(<int> 0x8D40, <int> 0x1): GL_INVALID_OPERATION ( 1282 0x502),
at javax.media.opengl.DebugGL2.checkGLGetError(DebugGL2.java:32455)
at javax.media.opengl.DebugGL2.glBindFramebuffer(DebugGL2.java:15587)
at com.kitfox.coyote.renderer.jogl.GLWrapperJOGL.glBindFramebuffer(GLWrapperJOGL.java:100)
at com.kitfox.coyote.renderer.CyFramebuffer.init(CyFramebuffer.java:118)
Any idea what I’m doing wrong?