Java-Gaming.org Java4K winners: [ by our judges | by the community ]         
Featured games (67)
games approved by the League of Dukes
Games in Showcase (∞)
games submitted by our members



News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  Print  
  FBOs not working in JOGL2  (Read 642 times)
0 Members and 1 Guest are viewing this topic.
Offline kitfox

Full Member
**

Posts: 135


Java games rock!


« on: 2011-06-29 16:09:56 »

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:
1  
2  
3  
4  
5  
6  
        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.

1  
2  
3  
4  
5  
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?
Offline lhkbob

JGO Neuromancer
****

Posts: 1174
Medals: 35



« Reply #1 on: 2011-06-29 16:24:43 »

From the OpenGL docs:
Quote
GL_INVALID_OPERATION is generated if framebuffer is not zero or the name of a framebuffer previously returned from a call to glGenFramebuffers.

I can't see where you're assigning a value to 'framebuffer', but it should have come from a call to glGenFramebuffers() with code very similar to how you're getting the VBO id, 'bufferId'.  And just in case, glGenBuffers() is for vertex buffer objects and does not create an FBO id (but I'm pretty sure you already know that).

Offline kitfox

Full Member
**

Posts: 135


Java games rock!


« Reply #2 on: 2011-06-29 17:06:09 »

Ah.  Silly mistake on my part. Smiley  Yes, I was generating Buffers instead of Framebuffers.
Pages: [1]
  Print  
 
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.084 seconds with 21 queries.