Bug 366

Summary: Replace pbuffer usage with FBO
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: VERIFIED INVALID    
Severity: normal    
Priority: P5    
Version: 1   
Hardware: All   
OS: linux   
URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501799
Type: DEFECT SCM Refs:
Workaround: ---

Description Sven Gothel 2010-03-24 07:51:38 CET


---- Reported by sylvestre12 2009-01-06 08:52:23 ----

Reported against the Debian package:

Playing with the JOGL demos, I found a bug in some demos provided by
the JOGL team available here:
https://jogl-demos.dev.java.net/

When I try the demos:
* Hardware Shadow Mapping
* JRefract

The command used is:
$ java -Djava.library.path=/usr/lib/jni/ -cp
/usr/share/java/jogl.jar:/usr/share/java/gluegen-rt.jar:.
demos.jrefract.JRefract

It seems that it is related to the pbuffer use.
I noticed that it worked perfectly with Nvidia proprietary drivers but
not at all with Intel drivers (some ATI drivers are working... recent
versions).



---- Additional Comments From kbr 2009-01-06 11:26:36 ----

There is nothing we can do about this in JOGL. This issue needs to be filed with the group or vendor 
producing the graphics driver.





---- Additional Comments From sylvestre12 2009-01-07 09:07:41 ----

Sorry for the confusion. I reported a bug since a developer of graphic drivers says:
"pbuffers are not supported in any existing release of our driver (or any
open-source driver, that I know of).

We're including EXT_framebuffer_object support in this quarterly release, and
if JOGL chose to replace pbuffer usage with the newer (better) extension, it
would work on our driver."

It is why I believed that it is a JOGL issue.

Reference: https://bugs.freedesktop.org/show_bug.cgi?id=17603#c1



---- Additional Comments From kbr 2009-01-07 14:19:06 ----

OK, I see. I'll reopen this bug.

There are a couple of things that would need to change. One would be to change the demos to use FBOs 
instead of GLPbuffers explicitly. The other would be to write an FBO backend for the GLJPanel. This will be 
easier in the forthcoming JOGL 2 where the GLJPanel has been refactored. You can see the source code for 
this version under the JOGL_2_SANDBOX branch in the gluegen, jogl and jogl-demos workspaces.

The community will probably need to contribute these fixes.





---- Additional Comments From sylvestre12 2009-01-09 08:59:04 ----

Answer received  by a contributor - Jean-Baptiste Silvy  (he has not the
permissions to reply to this message):

Concerning the backend for the GLJPanel, I think that we should keep the pbuffer
one.
Although FBOs are faster and more convenient than pBuffers, they are a pretty
recent OpenGL extension and may not be available on some old graphic cards.



---- Additional Comments From kbr 2009-01-09 09:57:47 ----

An FBO backend can be added to the GLJPanel without removing the GLPbuffer backend. The refactored 
GLJPanel in the JOGL_2_SANDBOX branch makes this easier. Backends can be replaced on the fly.





--- Bug imported by sgothel@jausoft.com 2010-03-24 07:51 EDT  ---

This bug was previously known as _bug_ 366 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=366
Comment 1 Sven Gothel 2010-03-27 21:41:45 CET
You could use either pbuffer and/or fbo's ..