summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Updated version string to 1.1 b10Kenneth Russel2005-02-151-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@230 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated Java Web Start jars to 1.1 b09Kenneth Russel2005-02-155-0/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@229 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated version string to 1.1 b09.Kenneth Russel2005-02-151-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@228 232f8b59-042b-4e1e-8c03-345bb8c30851
* Worked around bugs in NVidia's recent drivers. Added more debugging code.Kenneth Russel2005-02-141-22/+48
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@227 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
* Fixed Issue 110: NativeLibLoader should have a flag for loading the library Kenneth Russel2005-02-121-25/+36
| | | | | | | Applied suggested patch from submitter. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@225 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed unneeded rewind() calls.gkw2005-02-111-22/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@224 232f8b59-042b-4e1e-8c03-345bb8c30851
* OutOfMemoryError exceptions are now handled correctly.gkw2005-02-111-230/+161
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@223 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added extended error code information for wglShareLists failuresKenneth Russel2005-02-101-1/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@222 232f8b59-042b-4e1e-8c03-345bb8c30851
* gluBuild2DMipmapLevelsCore packed-pixel routines were pointinggkw2005-02-081-12/+12
| | | | | | | to the wrong source buffer and were halving to the wrong size. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@221 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed certain http:// links to https://Kenneth Russel2005-02-081-7/+7
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@220 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated webstart jars to 1.1 b08Kenneth Russel2005-02-075-0/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@218 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem with glu-impl-macosx.cfg after enabling of GKW's pureKenneth Russel2005-02-071-3/+3
| | | | | | | Java port of mipmap and scaling routines git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@217 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem in glu-impl-x11.cfg after switch over to use GKW's pureKenneth Russel2005-02-072-8/+10
| | | | | | | | | Java port of GLU mipmap and image scaling routines. Fixed problem in attempted workaround to allow Cg libraries to be found on java.library.path. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@216 232f8b59-042b-4e1e-8c03-345bb8c30851
* Hooked in GKW's Java port of the GLU library's mipmap and image Kenneth Russel2005-02-079-55/+1916
| | | | | | | | | | | | | | | | | scaling operations. Added new ForceProcAddressGen directive to GlueGen to force the addresses of the C routines to be fetched even though the functions were being ignored by the core JavaEmitter. Cut down on the number of variants of gluScaleImage and associated routines. Changed the Java signatures of the affected methods to take Buffer again instead of ByteBuffer (as was done during prototyping) to attempt to maintain binary compatibility with current JOGL programs. Fixed bug / problem in gluScaleImage implementation where incorrect scaling of pixel values was being applied in Image.empty_image(); there may be additional problems here for other pixel types. Put debugging code in BuildMipmap under jogl.debug.BuildMipmap System property. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@215 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 136: Return correct pbuffer support for ATI cardsKenneth Russel2005-02-071-0/+11
| | | | | | | | Added a workaround in X11GLContext for bug in ATI's drivers where they report only GLX 1.2 support, but actually do support pbuffers. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@214 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
* Added double-buffer argument to Mac OS X OpenGL context creationKenneth Russel2005-02-044-0/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@212 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 bug in X11GLContext where additional locking was needed inKenneth Russel2005-02-042-1/+19
| | | | | | | | pbuffer case. Doesn't seem to (and shouldn't) affect the normal onscreen case. Added additional debugging output. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@210 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 44: Add pbuffer-based GLJPanel implementation Kenneth Russel2005-02-0313-156/+563
| | | | | | | | | | | | | | | | | | | | | | | | 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 build problems after integration of GKW's Java port of GLU Kenneth Russel2005-02-037-19/+219
| | | | | | | mipmap code git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@208 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added copy of JOGL/GlueGen overview talk slidesKenneth Russel2005-02-031-0/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@207 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added mipmap codegkw2005-02-031-0/+157
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@206 232f8b59-042b-4e1e-8c03-345bb8c30851