summaryrefslogtreecommitdiffstats
path: root/src/net/java/games/jogl/GLJPanel.java
Commit message (Collapse)AuthorAgeFilesLines
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-241-730/+0
| | | | | | | | contains the evolving JSR-231 Reference Implementation and the JSR-231 branch is permanently closed. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@401 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 168: Add support for transparency in GLJPanel Kenneth Russel2005-06-301-6/+18
| | | | | | | | | | | Obey setOpaque() when selecting buffered image type. User must still request alpha bits in the GLCapabilities. Not supported on all back-end renderers; for example, Microsoft GDI renderer does not implement alpha bits when rendering to DIB sections. Added examples of use in JGears and JRefract demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@314 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem with temporary (or otherwise) resizes of GLJPanel to Kenneth Russel2005-06-171-0/+7
| | | | | | | width == 0 or height == 0 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@301 232f8b59-042b-4e1e-8c03-345bb8c30851
* Javadoc fixesKenneth Russel2005-05-271-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@287 232f8b59-042b-4e1e-8c03-345bb8c30851
* Attempted to speed up GLJPanel redrawing by manually copying scanlines Kenneth Russel2005-05-271-35/+63
| | | | | | | rather than performing many Graphics.drawImage() calls git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@285 232f8b59-042b-4e1e-8c03-345bb8c30851
* Enabled resizing of pbuffer during shrinking of GLJPanel as wellKenneth Russel2005-05-261-6/+12
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@284 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added more documentation about behavior of GLEventListener.init() and Kenneth Russel2005-05-241-1/+12
| | | | | | | GLJPanel resize operations git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@280 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed remaining bug in GLJPanel where resize operations did not cause Kenneth Russel2005-05-241-1/+7
| | | | | | | | the underlying GLCanvas to be destroyed in the hardware-accelerated path, so textures and display lists lingered on git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@279 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed race conditions in Mac OS X onscreen context creation thatKenneth Russel2005-05-101-1/+7
| | | | | | | showed up after recent GLJPanel fix to clean up resource leaks. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@267 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed race condition in GLJPanel implementation and improved behaviorKenneth Russel2005-05-101-1/+4
| | | | | | | of JRefract demo on Linux git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@266 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 151: starting up the Animator before the GLJPanel has been shown ↵Kenneth Russel2005-05-071-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | result in an error The root cause of this error was the fact that WindowsPbufferGLContext.destroyImpl() uses WGL extensions to clean up resources associated with the pbuffer. Because these extensions are in the public WGL interface, they are wrapped by the DebugGL. However, an OpenGL context is not current at the time these routines are called, and it is illegal to call glGetError() at those points. The DebugGL pipeline was implicitly calling glGetError() after each of those calls, leading to the failure. This bug unmasked a couple of others. The code in the DebugGL needed a recursion count to make sure that glGetError() didn't get called in an infinite loop. Also, as a side effect of the fix for Issue 160, calling getGL() on the GLJPanel outside of GLEventListener.init() was causing a NullPointerException to be thrown. The GLJPanel has been fixed to return null in this case, and the specification of GLDrawable.getGL() has been improved. In order to make the behavior between the GLCanvas and GLJPanel similar, the GL object is now reset in the GLDrawable each time the underlying OpenGL context is recreated. This allows end users to set up e.g. the DebugGL unconditionally in their GLEventListener.init() method. The JOGL demos have been changed to reflect this. The test case in the bug report will be updated with code similar to the originally submitted test case (i.e., the Animator is started early) but which now works. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@264 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 160: Resource leaks in GLJPanel Kenneth Russel2005-05-021-2/+49
| | | | | | | | | | | | | | Added addNotify and removeNotify to GLJPanel which clean up the associated OpenGL contexts and other resources. Extended JRefract demo to stress GLJPanel creation and destruction. New code appears to be correct. Can see resource leaks when the bunny is loaded over and over, but believe these are probably due to allocation of large NIO buffers that are not getting finalized promptly. Stressing the Gears demo with both the pbuffer and software rendering paths shows that the OpenGL resources are being reclaimed properly. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@263 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 148: Swing Component Shadow on GLJPanel Kenneth Russel2005-04-101-5/+1
| | | | | | | | | | | | | | | | | | The test case specifies alpha bits in the GLCapabilities, which caused the GLJPanel to create a TYPE_INT_ARGB BufferedImage to store the results of the readback of the frame buffer for rendering into the GLJPanel. This appears to not be the correct thing to do, because it causes this BufferedImage to be alpha-blended with whatever other rendering is performed into Java2D's backing store. Therefore when the button was redrawn, its image would show up in this backing store alpha-blended with the OpenGL rendering results since both were redrawn simultaneously. I believe the correct solution is to never create a BufferedImage with an alpha component for the framebuffer readback even if alpha bits are specified in the GLCapabilities. This is what has been implemented in the JOGL source base. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@258 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 150: Rendering artifacts with GLJPanel. Kenneth Russel2005-04-101-2/+2
| | | | | | | | Fixed off-by-one error in rendering of GLJPanel's hardware-accelerated rendering results to the screen. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@257 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made GLJPanel.display() use paintImmediately all the time; removed Kenneth Russel2005-02-271-24/+10
| | | | | | | now-unnecessary semaphore and heuristics git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@247 232f8b59-042b-4e1e-8c03-345bb8c30851
* Moved GLJPanel.reshape() work onto EventQueue thread under assumption Kenneth Russel2005-02-241-47/+62
| | | | | | | that it will be more stable on some cards git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@240 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem pointed out by user chrisDUPUIS on javagaming forums Kenneth Russel2005-02-221-2/+2
| | | | | | | where GLJPanel.display() wasn't synchronous but should have been git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@231 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed performance issues with accelerated GLJPanel on ATI cards. Kenneth Russel2005-02-141-25/+2
| | | | | | | | | Setting of the GL_PACK_LSB_FIRST property confused the drivers even though it didn't apply to the frame buffer readback (it applies only for bitmap data, and we were reading bytes.) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@226 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changes to GLJPanel to make it work on Mac OS XKenneth Russel2005-02-041-7/+22
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@213 232f8b59-042b-4e1e-8c03-345bb8c30851
* Issue 44: Add pbuffer-based GLJPanel implementation Kenneth Russel2005-02-041-1/+2
| | | | | | | | Enabled hardware acceleration for GLJPanel by default after testing on Windows and Linux platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@211 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 44: Add pbuffer-based GLJPanel implementation Kenneth Russel2005-02-031-134/+405
| | | | | | | | | | | | | | | | | | | | | | | | Fixed Issue 61: Make debug variables load from system properties Added a hardware acceleration path for GLJPanel implemented using the GLPbuffer interfaces. If instantiation of the pbuffer fails, the GLJPanel implementation attempts to catch the resulting exception and fall back on the existing software rendering path. The new code has been successfully tested on Windows. This checkin attempts to make the needed changes to the pbuffer implementation on other platforms, but the GLJPanel continues to use software rendering until all platforms can be tested. Additionally, references to static final DEBUG flags have been made settable via system properties. "jogl.verbose" enables certain printing statements. "jogl.debug" enables all debugging printing. "jogl.debug.GLContext" enables the debug printing inside the GLContext class. The system property names are chosen by convention and are not enforced. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@209 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 41: WindowsOffscreenGLContext failed to create with "Unable to ↵Kenneth Russel2005-01-311-1/+5
| | | | | | | | | | | | | | set pixel format" This is probably due to JOGL trying to request a double-buffered pixel format for the offscreen surface. To prevent applications from having to explicitly set the DoubleBuffered property of the GLCapabilities to false, the GLCanvas now clones the incoming GLCapabilities and disables double-buffering before requesting the underlying GLContext. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@200 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problem with fix for Issue 25: Expose swapBuffers(), pleaseKenneth Russel2004-04-091-0/+19
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@95 232f8b59-042b-4e1e-8c03-345bb8c30851
* implemented GLJPanel for Mac OS XGerard Ziemski2003-11-191-10/+10
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@74 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added sharing of display lists and textures among OpenGL contextsKenneth Russel2003-07-081-25/+16
| | | | | | | | | through new methods in GLDrawableFactory; GLContext has not been exposed in the public API. Tested with new simple TestContextSharing demonstration on Windows, Linux and Mac OS X. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@18 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial revisiondjp2003-06-081-0/+316
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@3 232f8b59-042b-4e1e-8c03-345bb8c30851