error in method call

Hi.

I’m trying to use framebuffers. I want to call this:

    int status;
    String str;
    status = gl.glCheckFramebufferStatusEXT(GL.GL_FRAMEBUFFER_EXT);
    switch(status) {
    	case GL.GL_FRAMEBUFFER_COMPLETE_EXT : str = "OK"; 
    	case GL.GL_FRAMEBUFFER_UNSUPPORTED_EXT : str = "not OK";
    	default : str = "maybe";
    }
    System.out.println(str);

What I get is the following Error:

net.java.games.jogl.GLException: Method “glCheckFramebufferStatusEXT” not available
at net.java.games.jogl.impl.windows.WindowsGLImpl.glCheckFramebufferStatusEXT(WindowsGLImpl.java:1603)
at JOGLExample.init(JOGLExample.java:177)
at net.java.games.jogl.impl.GLDrawableHelper.init(GLDrawableHelper.java:68)
at net.java.games.jogl.GLCanvas$InitAction.run(GLCanvas.java:242)
at net.java.games.jogl.impl.windows.WindowsGLContext.makeCurrent(WindowsGLContext.java:181)
at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.makeCurrent(WindowsOnscreenGLContext.java:125)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:248)
at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.invokeGL(WindowsOnscreenGLContext.java:76)
at net.java.games.jogl.GLCanvas$2.run(GLCanvas.java:130)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)init()

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

But Eclipse see this method. This one is in the API too.

You need to call either call GL.isFunctionAvailable(“glCheckFramebufferStatusEXT”) or GL.isExtensionAvailable(“GL_EXT_framebuffer_object”) to see whether it’s legal to call glCheckFramebufferStatusEXT.

hmm, funny. i had both times FALSE.
but why is this method in the API? i can see it in GL.java / GL.class, too.

The method is only bound in the JOGL implementation, but not available in your graphics card driver.

i have a radeon 9700 mobility.

do you really think, that this functionality may not be implemented in my graphcs card?

is there a page, where i can see, which graphic cards allow extended opengl-functions?

type “glxinfo” in a termial, if you are on linux or
use a tool (http://www.realtech-vr.com/glview/download.html) if you are on windows/mac.

[quote]is there a page, where i can see, which graphic cards allow extended opengl-functions?
[/quote]
Don’t know of any. Theres a PDF at the ATI developer page, but it’s quite outdated. Since the FBO extension is quite new, you maybe have to upgrade your drivers. Another possibility might be, that you are falling back to software rendering because of pixel format issues. Which Version of JOGL do you use?

hmm, where can i see the version? its not in the jar-files.
i have downloaded it half a year ago.

i tried the newer nightly builds, but there were some problems, i didnt want to fix them now.

the link above: thx. i didnt see any ARB-extensions which have the name framebuffer or similar.
that might be the problem.

You most likely have JOGL 1.1.1. I strongly suggest to switch to the JSR implementation (at least Beta3) or the nightly build you just downloaded. See this discussion for an overview of things to change to convert pre JSR JOGL code to the new codebase.

Regarding the non-existent ARB extension, I am confident that all you need is a driver update.

Try here: http://www.delphi3d.net/hardware/index.php

This seems to list your card as being ok, I’d check that your drivers are the same (or newer) then the version listed.

ok thx. i will try to rebuild my jogl code maybe later.