FBO Problem

Started by muril, December 21, 2010, 14:02:31

Previous topic - Next topic

muril

Hi, i tried to implement offscreen rendering to a fbo, but there is nothing in the texture, where the fbo renders to, afterwards..

Here is my fbo init:

GL11.glEnable(GL11.GL_TEXTURE_2D);
    	
    	IntBuffer bufferInt = BufferUtils.createIntBuffer( 1 );
    	bufferInt.rewind();
        EXTFramebufferObject.glGenFramebuffersEXT(bufferInt);
        fboID_frame = bufferInt.get(0);
        
        bufferInt.rewind();
        EXTFramebufferObject.glGenRenderbuffersEXT(bufferInt);
        fboID_render = bufferInt.get(0);
        
        bufferInt.rewind();
        GL11.glGenTextures(bufferInt); 
        textureID = bufferInt.get(0);
        
        ByteBuffer buf = ByteBuffer.allocateDirect(4*width*height);
    	GL11.glBindTexture(GL11.GL_TEXTURE_2D,textureID);
    	GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 
                0, 
                GL11.GL_RGBA, 
                width, 
                height, 
                0, 
                GL11.GL_RGBA, 
                GL11.GL_UNSIGNED_BYTE, 
                buf ); 
        
        try {
            BindFrameBuffer( fboID_frame );
            EXTFramebufferObject.glFramebufferTexture2DEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
                                                           EXTFramebufferObject.GL_COLOR_ATTACHMENT0_EXT,
                                                           GL11.GL_TEXTURE_2D,
                                                           textureID,
                                                           0 );
           
        } catch ( Exception ex )
        {
            System.out.println(ex);
        }
            
            BindRenderBuffer( fboID_render );
            EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT,
                                                          GL14.GL_DEPTH_COMPONENT24,
                                                          width,
                                                          height);
            EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
                                                              EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT,
                                                              EXTFramebufferObject.GL_RENDERBUFFER_EXT,
                                                              fboID_render);

            CheckErrorFrameBuffer( fboID_frame );
        BindFrameBuffer( 0 );

Matthias

Try setting the GL_TEXTURE_MIN_FILTER to GL_LINEAR

muril

kewl thanks :) i was too focused on the fbo to search for that ^^