summaryrefslogtreecommitdiffstats
path: root/src/classes/com
Commit message (Collapse)AuthorAgeFilesLines
* On request from James Gosling and others, added a J2DTextureRenderer Kenneth Russel2006-12-302-0/+559
| | | | | | | | | | | | | | | | | | class to com.sun.opengl.util to make it easier to render into OpenGL textures using Java 2D. Added convenience methods to this class to make it easy to draw sub-rectangles of the resulting texture to the screen. Added a J2DOverlay class which acts like a Java 2D-based heads-up display for an arbitrary GLDrawable, tracking its size and making it easier to render the entire contents of the HUD. There appear to be performance issues with the J2DOverlay class as the window gets large, at least on older hardware, as it allocates very large OpenGL textures internally. Added tests for both the J2DTextureRenderer and J2DOverlay classes which have similar functionality but different implementation approaches and different performance characteristics. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1059 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 257: RFE: Texture.updateSubImage(x,y,w,h) Kenneth Russel2006-12-292-143/+233
| | | | | | | | | | | | | | | | | | | | Changed TextureIO's BufferedImage code paths to no longer copy the data in order to correct for the vertical flip needed between Java 2D's and OpenGL's coordinate systems, but instead to correct for this using a flip of the texture coordinates. This was needed to change the semantics for the BufferedImage from "by-copy" to "by-reference". Made the custom BufferedImage copying code path occur lazily upon a call to TextureData.getBuffer(). Added support for the GL_EXT_abgr extension but disabled the code path currently as it appears there may be bugs in its support on some drivers. Added computation of row width for all BufferedImage types with help and suggestions from Chris Campbell. Improved handling of some BufferedImage types like TYPE_INT_ARGB and TYPE_4BYTE_ABGR. Added Texture.updateSubImage() taking a source rectangle as well as a destination coordinate. Wrote TestSubImage test to show use of the new API which exercises all BufferedImage types. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1057 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated javadoc for JOGLAppletLauncher to document JOAL support, new Kenneth Russel2006-12-221-21/+46
| | | | | | | | library and native library jar structure, and to remove comment on bug with multiple JOGL applets on the same web page, which has been fixed git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1040 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added support for new architectures -- although with the lack of a Kenneth Russel2006-12-221-2/+9
| | | | | | | 64-bit Java Plug-In they will have no effect for now git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1039 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem in JOGLAppletLauncher where if two different applets Kenneth Russel2006-12-201-7/+37
| | | | | | | | | | (with different archive parameters, meaning two different class loaders in the Sun applet implementation) loaded from the same web site both used JOGL we would get an UnsatisfiedLinkError; now uniquify the local install directory based on a hash of the archive tag git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1033 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed NullPointerException in new cached GLCapabilities code on X11Kenneth Russel2006-12-191-2/+4
| | | | | | | platforms pointed out by bleb on javagaming.org forums git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1028 232f8b59-042b-4e1e-8c03-345bb8c30851
* Texture documentation improvements suggested by Chris Campbell and James GoslingKenneth Russel2006-12-051-7/+54
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1016 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added support for using JOAL alongside JOGL in JOGLAppletLauncher. If Kenneth Russel2006-12-041-5/+190
| | | | | | | | | | | | | | JOAL classes are detected, will download, install and load JOAL's native libraries as well as JOGL's. Added NativeLibLoader.disable() method to JOAL to support this. Added code to JOGLAppletLauncher to detect if -Dsun.java2d.noddraw=true was missing from deployment.properties and if so to prompt user about adding it automatically. Fixed bug in new per-native-library timestamp code. Refactored JOAL SingleStaticSource demo to make it easier to embed in an applet. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1014 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed javadoc code tag problem pointed out by Chris CampbellKenneth Russel2006-11-271-2/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1006 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed another performance problem related to buffer objects pointed Kenneth Russel2006-11-264-1/+412
| | | | | | | | | | | | | out by John Burkey. glGetBufferParameterivARB call in glMapBuffer was too expensive at least with Apple's multithreaded OpenGL implementation. Now track both bound buffer state (refactored into GLBufferStateTracker) as well as cache created buffers' sizes (expressed in GLBufferSizeTracker) and query the cache instead of OpenGL directly. Verified with VertexBufferObject demo that now no glGet queries are made at run-time. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1003 232f8b59-042b-4e1e-8c03-345bb8c30851
* Optimized buffer binding checks for glVertexPointer and similar calls Kenneth Russel2006-11-241-19/+32
| | | | | | | | | | | | | | on request from John Burkey. Now caches the buffer binding for GL_ARRAY_BUFFER, etc. upon glBindBuffer calls and invalidates this cache upon glPushClientAttrib / glPopClientAttrib calls, refreshing the state only when necessary using the glGetIntegerv call. Fixed knowledge of available OpenGL versions to support OpenGL 2.1 (and future minor version updates). Fixed breakage of GL_NV_vertex_array_range support after recent upgrade of wglext.h and glxext.h headers. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@994 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed native code for DRIHack and replaced it with code using theKenneth Russel2006-11-243-173/+181
| | | | | | | | | | | | | | | | | | | | | GlueGen runtime library (specifically the NativeLibrary class). Updated the build.xml, in particular the dist targets, to no longer build or copy this native library. Updated the NativeLibrary class to allow specification of the full path to the library. Removed the GlueGen runtime classes from jogl.jar; these are now expected to reside in gluegen-rt.jar and it is expected that developers will have this on their CLASSPATH. Updated the dist target to include the gluegen-rt native library and jar file. Updated the JOGLAppletLauncher to download and unpack the gluegen-rt-natives jar as well as the jogl-natives jar. Updated the HowToBuild, user guide, and JOGLAppletLauncher documentation for this restructuring. Fixed bug in gluegen-cpptasks.xml in detection of Solaris/SPARCv9 and refactored targets further. Tested on Solaris/x86 so far; further testing and debugging of the nightly builds and applet launcher, and update of the JOGL applet test, to follow. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@993 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 213: Expose GLCaps from GLDrawable Kenneth Russel2006-11-1912-37/+382
| | | | | | | | | | | | | | | | | | | Added getChosenGLCapabilities() to the GLDrawable interface. Implemented on Windows, Unix and Mac OS X platforms with various techniques. Attempts to provide correct answers in all cases, even when the GLCapabilitiesChooser mechanism is not supported. Required addition of new platform-specific Java code in most cases to either re-convert existing PIXELFORMATDESCRIPTORS / XVisualInfos, or to query the pixel format or visual chosen for drawables like pbuffers for which the chooser mechanism is not (yet) implemented. Tested on Windows, Solaris/x86, and Mac OS X with on-screen, off-screen and pbuffer drawables. (Full support for the Java2D/JOGL bridge is not yet in place; the answer returned from the GLJPanel in this case is currently the default GLCapabilities, and it is likely that "external" GLDrawables will return null.) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@989 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added documentation by Chris Campbell to Texture class on Kenneth Russel2006-11-181-2/+48
| | | | | | | non-power-of-two restrictions, and premultiplied alpha and blending git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@988 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 247: Texture class should use GL_CLAMP if OpenGL version is 1.1 Kenneth Russel2006-11-151-4/+4
| | | | | | | | Changed code to check for presence of OpenGL 1.2 and use GL_CLAMP instead of GL_CLAMP_TO_EDGE if not available. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@984 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 240: Exceptions thrown in GLCapabilitiesChooser don't function ↵Kenneth Russel2006-11-131-4/+11
| | | | | | | | | | | | properly Restructured earlier workaround for problems seen on Intel Integrated Graphics chipsets by watching for non-GLExceptions propagated (presumably from user code) and passing them through. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@981 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 245: glutSolidCylinder missing from com.sun.opengl.util.GLUT Kenneth Russel2006-11-131-0/+146
| | | | | | | | | Added profaronnax's contributions of glutWireCylinder, glutSolidCylinder, glutWireRhombicDodecahedron, and glutSolidRhombicDodecahedron. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@980 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed spurious printStackTrace call left over in Kenneth Russel2006-11-131-1/+0
| | | | | | | FunctionAvailabilityCache$Version constructor pointed out by Alan Hudson git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@979 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed spurious printStackTrace call left over in Kenneth Russel2006-11-131-1/+1
| | | | | | | FunctionAvailabilityCache$Version constructor pointed out by Alan Hudson git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@978 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug pointed out by user zero on JOGL forum where gluErrorStringKenneth Russel2006-10-051-2/+3
| | | | | | | didn't understand GL_INVALID_FRAMEBUFFER_OPERATION_EXT git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@938 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 242: Unable to select single-buffered visualKenneth Russel2006-08-141-3/+16
| | | | | | | | Fixed GLX_DOUBLEBUFFER and GLX_STEREO specifications for both on-screen and pbuffer visuals as per suggestion. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@885 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed crash triggered by Java 3D's JoglPipeline in off-screen Kenneth Russel2006-08-111-0/+4
| | | | | | | | | | | rendering on X11 platforms by watching for destruction of the pbuffer out from under an application-created context; could do better by explicitly destroying all application-created contexts in the shared code for both the GLCanvas and GLPbufferImpl (and probably the GLJPanel too) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@881 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage on X11 platforms after introduction ofKenneth Russel2006-08-021-1/+1
| | | | | | | com.sun.gluegen.runtime.NativeLibLoader class git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@872 232f8b59-042b-4e1e-8c03-345bb8c30851
* Revised Java2D/JOGL bridge to support new share context argument toKenneth Russel2006-08-016-14/+39
| | | | | | | | | | CGLSurfaceData.createOGLContextOnSurface(Graphics, long). Testing indicates that sharing of textures, etc. between pbuffers and the context created on the Java2D back buffer is no longer functioning, however. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@871 232f8b59-042b-4e1e-8c03-345bb8c30851
* Issue number:gfxadmin2006-07-2163-18/+648
| | | | | | | | | | | | | | | | | Obtained from: Submitted by: Travis Reviewed by: Sun is adding an alternative license term to the SGI Free B license which is permitted under that license. We are removing a couple of provisions from the SGI Free B license to make the license more liberal for our end users of JOGL. So these changes are just communication of that. There are no actual source code changes, just changes to the license file and the license text in each source code file. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@856 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added support for sharing of textures, etc. between GLPbuffers andKenneth Russel2006-07-218-16/+423
| | | | | | | | | | | | GLJPanels when the Java2D/JOGL bridge is active on Mac OS X. This required adding an alternate implementation for pbuffer drawables and contexts on OS X which uses CGL rather than the NextStep OpenGL APIs. Tested with advance Mustang bits on Mac OS X; Water and HWShadowmapsSimple demos (which use pbuffers) are now working within the JRefract harness when the Java2D/JOGL bridge is active. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@855 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 238: BufferedImage flips on call to ImageIO.newTexture Kenneth Russel2006-07-201-33/+81
| | | | | | | | Now copy texture data in the case where it needs to be flipped vertically and restore the image afterward. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@852 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed potential deadlock on OS X where JOGL could leave the surfaceKenneth Russel2006-07-191-0/+6
| | | | | | | locked on OS X when the window was zero-sized git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@850 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added hack workaround to Java2D class to assume that FBO support inKenneth Russel2006-07-111-0/+3
| | | | | | | | Java2D/OpenGL pipeline is not enabled on OS X; will need proper fix later git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@841 232f8b59-042b-4e1e-8c03-345bb8c30851
* Stubbed out setSwapInterval in MacOSXJava2DGLContext to fix crashesKenneth Russel2006-07-111-3/+4
| | | | | | | found by gziemski git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@840 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added code to support new entry points inKenneth Russel2006-07-107-0/+304
| | | | | | | | sun.java2d.opengl.CGLSurfaceData added by gziemski to enable the Java2D/JOGL bridge on Mac OS X. Currently untested. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@838 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem with glutSolidTeapot() pointed out by user bahuman on Kenneth Russel2006-07-011-4/+2
| | | | | | | | JOGL forum where if backward compatibility mode was turned off then it would affect the current matrix git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@829 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 230: gluBuild2DMipmaps modifies Buffer positions Kenneth Russel2006-06-221-121/+166
| | | | | | | | Wrapped all Mipmap function entry points with code which saves and restores any incoming Buffer's position. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@824 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added support to Java2D/JOGL bridge for GL_ARB_texture_rectangle Kenneth Russel2006-06-191-0/+35
| | | | | | | support in Java2D/OpenGL pipeline's FBO code path git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@816 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug pointed out by Tom Gaskins from NASA in handling of creationKenneth Russel2006-06-021-24/+51
| | | | | | | | of compressed textures; can not allocate texture with glTexImage2D and fill it with glCompressedTexSubImage2D git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@797 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed default sense of GLContext optimization flag to false. NowKenneth Russel2006-06-021-1/+10
| | | | | | | | | must explicitly specify -Djogl.GLContext.optimize on the command line to enable it. Added note to the user guide in the section on X11 platforms discussing this. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@795 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed debugging printlnKenneth Russel2006-05-291-2/+6
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@787 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 220: Gears demo throws exceptions with -Dsun.java2d.opengl=true Kenneth Russel2006-05-292-0/+5
| | | | | | | | | | | | On non-X11 platforms, removed workaround in Threading class which treats both the EDT and the QFT as viable threads upon which to execute OpenGL work. Deadlock issues remain on X11 threads when causing OpenGL contexts associated with heavyweight widgets to be made current on the QFT. On Windows the QFT is now used for all OpenGL work when the Java2D/JOGL bridge is active. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@786 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 224: External context dosen't work with GLCanvas Kenneth Russel2006-05-283-0/+54
| | | | | | | | Added short-circuiting of logic to prevent the current GLContext from being released due to makeCurrent() of an external GLContext. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@784 232f8b59-042b-4e1e-8c03-345bb8c30851
* Preliminary fix forKenneth Russel2006-05-281-3/+26
| | | | | | | | | | | | Issue 216: Cannot create GLCanvas on non-default GraphicsDevice Made JOGL Xinerama-aware; now uses screen 0 rather than the screen reported from the AWT GraphicsDevice when Xinerama is enabled. So far only compiled and tested on non-Xinerama configuration on Linux; more testing needed on Xinerama setups and on Solaris. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@782 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage with last checkinKenneth Russel2006-05-211-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@773 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed debugging printlnsKenneth Russel2006-05-201-4/+10
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@772 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bugs in handling of mipmapped compressed texturesKenneth Russel2006-05-203-15/+16
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@771 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed another deadlock caused by introduction of FBO support in Kenneth Russel2006-05-161-0/+10
| | | | | | | Java2D/JOGL bridge git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@767 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed apparent deadlock in object tracking code provoked by GE Medical Kenneth Russel2006-05-111-45/+53
| | | | | | | Systems' demo by removing synchronization around one part of the code git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@761 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 221: Fixing stereo capability in WindowsGLDrawable Kenneth Russel2006-05-091-0/+3
| | | | | | | | Applied patch from user eteq to fix stereo support on Windows platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@758 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added StreamUtil for reading all data from an InputStream. Added Kenneth Russel2006-05-053-79/+229
| | | | | | | | support to DDSImage and TextureIO classes for reading DDS files from InputStreams and URLs based on request from Tom Gaskins. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@754 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed apparent bug pointed out by user EdwinOlson on jogl forum where Kenneth Russel2006-04-251-0/+1
| | | | | | | it seems the pbuffer drawable wasn't being reset to 0 on X11 platforms git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@738 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added detection to JOGLAppletLauncher of whether DRIHack library isKenneth Russel2006-04-191-0/+8
| | | | | | | | | | | | present even if we didn't just download the native library jar. Worked around deadlocks during termination of JOGL applets caused by new code which causes context destruction to be performed on the AWT event queue thread (more correct, but problematic with buggy code such as sun.applet.AppletPanel which performs remove() calls on current thread). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@729 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated JOGLAppletLauncher with new native library names. Made pack200Kenneth Russel2006-04-191-5/+7
| | | | | | | application in build.xml verbose. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@726 232f8b59-042b-4e1e-8c03-345bb8c30851