summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Javadoc fixesKenneth Russel2005-05-27116-134/+154
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@287 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in floating-point pbuffer support on Linux and made HDR demoKenneth Russel2005-05-272-2/+2
| | | | | | | better-behaved on Linux git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@286 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
* Fixed Issue 94: isFunctionAvailable throws exception on valid version stringsKenneth Russel2005-05-261-26/+32
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@283 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added more documentation about behavior of GLEventListener.init() and Kenneth Russel2005-05-242-3/+18
| | | | | | | 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-242-1/+10
| | | | | | | | 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
* Removed bogus test against frame size = (0,0) which was breakingKenneth Russel2005-05-241-8/+1
| | | | | | | pbuffer support on Mac OS X 10.4 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@278 232f8b59-042b-4e1e-8c03-345bb8c30851
* Attempt to make floating-point pbuffers portableKenneth Russel2005-05-206-13/+113
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@277 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added first-cut support for floating-point pbuffers on Mac OS XKenneth Russel2005-05-204-6/+18
| | | | | | | (untested) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@276 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added more extension definitions from Apple's glext.h (including, and Kenneth Russel2005-05-192-1/+87
| | | | | | | in particular, GL_APPLE_float_pixels) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@275 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added floating-point pbuffer support on X11Kenneth Russel2005-05-191-8/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@274 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated to current glext.h, glxext.h and wglext.h Kenneth Russel2005-05-194-141/+501
| | | | | | | (including OpenGL 2.0 entry points) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@273 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added CgGL.cgCreateProgramFromStream and updated JOGL Cg demos to use Kenneth Russel2005-05-133-19/+47
| | | | | | | it so they can be run with Java Web Start. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@272 232f8b59-042b-4e1e-8c03-345bb8c30851
* Patched 1.1 b11 jogl.jar with fix for X11 to fix problems on Solaris/x86Kenneth Russel2005-05-111-0/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@271 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added more locking of AWT around GLX commands during X11 visualKenneth Russel2005-05-112-28/+53
| | | | | | | selection to fix problems seen on Solaris/x86 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@270 232f8b59-042b-4e1e-8c03-345bb8c30851
* Upgraded Java Web Start files to 1.1 b11 and version string to 1.1 b12Kenneth Russel2005-05-118-1/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@269 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added Solaris/x86 support to build.xmlKenneth Russel2005-05-101-4/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@268 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed race conditions in Mac OS X onscreen context creation thatKenneth Russel2005-05-108-14/+47
| | | | | | | 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
* Worked around apparent ATI driver bug pointed out by abegel on Kenneth Russel2005-05-091-43/+52
| | | | | | | | javagaming.org forums where use of proxy textures was illegally setting a GL error condition. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@265 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 151: starting up the Animator before the GLJPanel has been shown ↵Kenneth Russel2005-05-075-6/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-022-2/+57
| | | | | | | | | | | | | | 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 156: Patch to add linux.ia64 target Kenneth Russel2005-04-243-2/+28
| | | | | | | Applied patch from submitter. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@261 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 92: Platform Independent VSync functionality Kenneth Russel2005-04-2410-0/+57
| | | | | | | | | Added GL.setSwapInterval() which delegates to appropriate platform-dependent routines. Must be called only from within GLEventListener callbacks. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@260 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 153: API method in SingleThreadedWorkaround class to change to ↵Kenneth Russel2005-04-101-0/+11
| | | | | | | | | | | | | old rendering model. Added SingleThreadedWorkaround.disableWorkaround(); for now, don't want to add this to the core JOGL API because at some point the SingleThreadedWorkaround should hopefully really become an implementation detail that no application should have to worry about. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@259 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
* Fixed Issue 146: GLUT teapot Kenneth Russel2005-04-091-0/+344
| | | | | | | | | | Applied patch from user tedmunds to provide both an old-style GLUT teapot as well as one which fixes some problems with the teapot's geometry and orientation. Updated HWShadowmapsSimple demo to use glutSolidTeapot as originally intended. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@256 232f8b59-042b-4e1e-8c03-345bb8c30851
* Attempted to work around bugs seen during resizing of GLCanvas on MacKenneth Russel2005-04-071-19/+8
| | | | | | | | | | OS X by updating the context during every makeCurrent, not just upon reshape. This appears to solve some issues without impacting performance significantly, although not all of the issues reported by users were reproducible on the machine where the fixes were tested. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@255 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 154: Patches for build problems Kenneth Russel2005-04-042-6/+7
| | | | | | | | | | | | | | Submitted patches had a couple of problems. First, the removal of the (incorrect) cast to const char* in the CMethodBindingEmitter caused build warnings on other platforms. Fixed these by making the const declarations correct for the conversion case of String[] -> char**. Second, addition of comparison of hashCodes in CompoundType.equals() seemed like too much of a hack. Fixed this by correcting potential problems in equals() and hashCode() methods; not sure whether this will solve the submitter's original problem, though. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@254 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in GLU tesselator pointed out by user basszero on Kenneth Russel2005-03-111-1/+1
| | | | | | | | javagaming.org forums where combine callback was being called with incorrectly-typed outData git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@253 232f8b59-042b-4e1e-8c03-345bb8c30851
* Minor correction about state of Cg bindingKenneth Russel2005-03-111-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@252 232f8b59-042b-4e1e-8c03-345bb8c30851
* Corrected instructions in HowToBuild.html regarding PATH environmentKenneth Russel2005-03-111-1/+1
| | | | | | | variable git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@251 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated version string to 1.1 b11Kenneth Russel2005-02-281-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@249 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated JOGL and jogl-demos webstart jars to 1.1 b10Kenneth Russel2005-02-285-0/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@248 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
* Updated documentation to reflect single-threaded workaroundKenneth Russel2005-02-271-50/+63
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@246 232f8b59-042b-4e1e-8c03-345bb8c30851
* Moved debug printout of all available capabilities before selection of Kenneth Russel2005-02-261-6/+6
| | | | | | | window system's recommended choice git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@242 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 109: Two animator threads on two Frames crash Kenneth Russel2005-02-243-15/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed Issue 124: SIGSEGV on Fedora Core 3 / NVIDIA Stability problems have been reported on all three of JOGL's major supported platforms (Windows, Linux and Mac OS X) whose root cause is multithreading-related bugs in vendors' OpenGL drivers. On Windows, the most recent version of NVidia's drivers (66.93) when run on a GeForce 6800 causes a blue screen of death upon exit from the simplest JOGL demo (Gears). On Linux, JVM crashes have been reported upon exit of certain test cases on NVidia hardware. The same test case causes a report of an unexpected async reply from Xlib on ATI hardware (at the last time of testing -- I no longer have access to a Linux machine with ATI hardware because all of their currently available drivers crash the X server on my machine). On Mac OS X, low-level warnings from Cocoa are printed in multithreaded JOGL situations which can lead to JVM crashes. All of these problems' root cause is that the current OpenGL drivers on the market, or supporting software built on them, were not designed to be used in a multithreaded fashion. Most C programs which use OpenGL are either single-threaded or perform all of their OpenGL work from a single thread. JOGL was originally designed to support OpenGL rendering from arbitrary threads and appropriate synchronization was introduced into the library to handle this. However, we have had to scale back this support as stability issues have been encountered. The most recent round of reported bugs, including the PC crash upon exit of the JOGL demos, is serious enough that we must take drastic measures. Support was introduced in earlier JOGL releases to move all of the OpenGL work performed by JOGL and users' code via the GLEventListener on to the AWT event dispatch thread. It turns out that doing this works around all of the above reported bugs. In JOGL 1.1 b08 and 1.1 b09, code changes were made to make this single-threaded support more correct; this checkin includes another small set of such changes, including some to the GLPbuffer implementation, and changes the default of the flag controlling this support to true. -Djogl.1thread=true is now the default. -Djogl.1thread=auto restores the behavior of previous releases, which was to enable the single-threaded mode only with ATI cards. This auto-detection mechanism was not robust enough and adding cases for the crashes above was not feasible. -Djogl.1thread=false disables the single-threaded workaround. Older synonyms for this system property, JOGL_SINGLE_THREADED_WORKAROUND and ATI_WORKAROUND, remain in the source base for the time being. Changing the value of any of these system properties is not recommended. The expected performance impact of these changes is minimal. In earlier JOGL releases it appeared that the overhead of making a context current and releasing it each frame was very significant and a key differentiator in being able to match C performance. More recent tests seem to indicate that this is no longer the case, at least with current hardware. Regardless, we must achieve stability in order for the library to be useful and this seems to be the best means of achieving that goal. We believe that the compatibility impact of these changes for existing JOGL applications will also be minimal. For correctly-written JOGL applications, the only visible change in behavior should be that the values of thread-local variables accessed through the java.lang.ThreadLocal class may change since the actual thread on which the GLEventListener's callbacks will be executed may have changed. Multithreaded JOGL applications performing complex inter-thread synchronization may see subtle differences in behavior. We hope that such applications and the developers writing them will be able to handle this change in behavior without much trouble. We will continue to work with graphics card vendors to improve the stability of their OpenGL drivers. Until that happens, we believe this change will yield the best possible improvement in stability and portability for applications using JOGL. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@241 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
* Added version string to verbose outputKenneth Russel2005-02-231-0/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@239 232f8b59-042b-4e1e-8c03-345bb8c30851
* Partial fix for Issue 114: GLCanvas canCreateOffscreenDrawable() function ↵Kenneth Russel2005-02-233-2/+11
| | | | | | | | | | | always returns true Fixed the Windows implementation of this routine to check for the presence of the WGL_ARB_pbuffer and WGL_ARB_pixel_format extensions. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@238 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 141: No NIO support in CgGL Kenneth Russel2005-02-231-0/+5
| | | | | | | A NioMode directive was missing from the cg-common.cfg file. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@237 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 140: glu.gluBuild2DMipmaps crash Kenneth Russel2005-02-231-11/+28
| | | | | | | | | Last portion of fix. Fixed typo in one loop in scale_internal_byte and scale_internal_ubyte routines, correcting visual artifacts. Fixed truncated comments. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@236 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed comments to C++ style to be able to comment out blocksKenneth Russel2005-02-231-8/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@235 232f8b59-042b-4e1e-8c03-345bb8c30851
* Partial fix for Issue 140: glu.gluBuild2DMipmaps crash Kenneth Russel2005-02-231-0/+24
| | | | | | | | | | | | | | | | | This was a bug in the SGI GLU sample implementation and was reproduced by converting the attached test program to C and compiling in the code from the sample implementation. This bug was already fixed in the Mesa sources as bug 2510 and the patch was found at http://cvs.freedesktop.org/mesa/Mesa/src/glu/sgi/libutil/mipmap.c?rev=1.6&view=log by Googling for the terms "mipmap.c last row". The fix is to add a test-and-clamp for the highest row read from the texture. There is still a problem with visual artifacts when scaling non-power-of-two textures that this test case reproduces and that is continuing to be investigated. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@234 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 143: Pbuffer creation in display() causes exception Kenneth Russel2005-02-231-0/+9
| | | | | | | | | | | Fixed / worked around problem found by user mustang on the javagaming forums where if a recursive makeCurrent failed, it would incorrectly end up freeing the parent context. Not completely confident of this bug fix, but definitely fixes the mentioned problem and doesn't appear to break any of the demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@233 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in gluScaleImage pointed out by user benjunmun on javagaming Kenneth Russel2005-02-221-0/+4
| | | | | | | forums. No test case yet, but fix seems correct. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@232 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