aboutsummaryrefslogtreecommitdiffstats
path: root/src/native
Commit message (Collapse)AuthorAgeFilesLines
* Added parameter validation for stereo bit in particular to fix problemKenneth Russel2006-12-201-31/+25
| | | | | | | | | | | with Java 3D QueryProperties demo; unclear, however, if that demo is returning correct results, as it always seems to report that stereo is available when it seems it isn't. Probably need to use new getChosenGLCapabilities() method to implement this more correctly in the Java 3D/JOGL pipeline. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1035 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed native code for DRIHack and replaced it with code using theKenneth Russel2006-11-241-59/+0
| | | | | | | | | | | | | | | | | | | | | 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-191-61/+101
| | | | | | | | | | | | | | | | | | | 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
* Fixed build problems on Solaris with Xinerama support for Issue 216;Kenneth Russel2006-05-281-7/+5
| | | | | | | now builds and runs on Linux and Solaris at least on non-Xinerama setups git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@783 232f8b59-042b-4e1e-8c03-345bb8c30851
* Preliminary fix forKenneth Russel2006-05-286-0/+992
| | | | | | | | | | | | 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
* Added patch from user mabraham on javagaming.org forums for building Kenneth Russel2006-04-141-1/+1
| | | | | | | on Windows 64-bit git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@715 232f8b59-042b-4e1e-8c03-345bb8c30851
* Support for building on HP/UX from user metasim on JOGL forumKenneth Russel2006-04-132-3/+9
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@713 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed locking protocol for on-screen surfaces to only use the JAWT's Kenneth Russel2006-02-201-5/+5
| | | | | | | | | | | | | | | | | | | | | DrawingSurface locking primitives during the makeCurrent operation. While in theory the JAWT should be used for locking for the entire duration of the makeCurrent/release pair, in practice because OpenGL is orthogonal to the window system this is not really necessary, at least if higher-level locking primitives are used to make sure the window is not torn down out from under the library while OpenGL rendering is being performed. The OpenGL-related work done in GLCanvas.addNotify() and removeNotify() handles this. These changes enable simultaneous multi-head rendering on X11 systems with one OpenGL context per thread. Changed GLContext.destroy() to acquire the context's lock during the destroyImpl operation for correctness in the new protocol. Changed several Mac OS X native code entry points to not take an unnecessary NSView* argument. Tested with several demos on all platforms to stress creation and destruction of multiple kinds of OpenGL contexts. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@624 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage on 10.4 after last checkinKenneth Russel2006-02-161-3/+19
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@615 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problems with lack of hardware acceleration on LinuxKenneth Russel2006-02-161-0/+59
| | | | | | | | | | | distributions using DRI drivers. Hacked around limitations of the current DRI implementation by manually dlopen'ing libGL.so.1; avoids changing glue code generation for core OpenGL 1.1 routines which do not otherwise need to be called through function pointers on any platform. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@614 232f8b59-042b-4e1e-8c03-345bb8c30851
* progress on gl pixel format enumeration mechanismGerard Ziemski2006-02-151-143/+393
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@609 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 173: Adjust gamma, brightness and contrast Kenneth Russel2006-01-221-0/+9
| | | | | | | | | | | | | Added com.sun.opengl.util.Gamma supporting adjusting of gamma, brightness, and contrast. API and implementation derived from code in the LWJGL project. Added demos.gamma.TestGamma demo illustrating how to use the APIs. Tested on Linux, Mac OS X and Windows. No Solaris support at this time, although future Solaris releases, being based on the Xorg server, will probably have support for the required XF86VidMode extension. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@557 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage on 10.4 after last checkinKenneth Russel2006-01-201-6/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@554 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage on 10.3 after last checkinKenneth Russel2006-01-191-0/+9
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@551 232f8b59-042b-4e1e-8c03-345bb8c30851
* add support for availability macros and use them to substitue values in case ↵Gerard Ziemski2006-01-181-11/+19
| | | | | | of nondefined ones git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@550 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage after last checkin; silenced compiler warning,Kenneth Russel2006-01-181-11/+6
| | | | | | | minor cleanup git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@548 232f8b59-042b-4e1e-8c03-345bb8c30851
* clamp the passed in values to their max if necessary - fixes ↵Gerard Ziemski2006-01-181-4/+118
| | | | | | InfiniteShadowVolumes demo git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@547 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored code on Windows and X11 constructing attribute lists for Kenneth Russel2005-12-061-2/+4
| | | | | | | | | | | wglChoosePixelFormatARB / glXChooseVisual / glXChooseFBConfig to unify code paths between on-screen drawables and pbuffers. This primarily enables multisampling for pbuffers. Made small change to Mac native code to stop specifying sample buffers if multisampling is not enabled. Tested with demos on Windows and X11. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@484 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made public API changes discussed with expert group to make core JOGLKenneth Russel2005-11-092-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | API more toolkit-agnostic: 1. Decoupled instantiation of GLCanvas and GLJPanel objects from the GLDrawableFactory. GLCanvas and GLJPanel's constructors are now public and the associated factory methods have been removed from the GLDrawableFactory. 2. Changed the signature of GLDrawableFactory. chooseGraphicsConfiguration() to accept and return marker AbstractGraphicsDevice and AbstractGraphicsConfiguration interfaces, respectively. Defined new AWTGraphicsDevice and AWTGraphicsConfiguration wrapper classes simply wrapping the associated objects. An SWT port could define similar wrapper classes for its data types. 3. Allowed overriding of the specific GLDrawableFactory subclass instantiated through GLDrawableFactory.getFactory() by setting the system property "opengl.factory.class.name". For example, an SWT port might swap itself in by specifying the following system property on the command line: -Dopengl.factory.class.name=com.ibm.swt.opengl.SWTGLDrawableFactory Tested on Solaris/SPARC. Also fixed breakage on Solaris/SPARC due to recent split of jogl native library into jogl and jogl_awt pieces. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@431 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored computations of sizes of data types and offsets of fields Kenneth Russel2005-11-091-4/+6
| | | | | | | | | | | | | | | | in data structures in GlueGen to be performed lazily via SizeThunks. The concrete size of primitive data types is computed only by passing a MachineDescription into one of these thunks. Changed generated glue code for struct accessors to delegate their instantiation and field access to specialized 32- or 64-bit versions. This should allow one jar file to support both 32-bit and 64-bit CPUs; the native code is of course still specialized for the processor and data model. Changed default build to generate both 32-bit and 64-bit accessors for all generated data structures. Tested on Windows; more testing, including build testing, is needed on other platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@426 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-244-60/+22
| | | | | | | | 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
* Made pbuffer code and in particular floating-point pbuffer code moreKenneth Russel2005-06-021-3/+11
| | | | | | | | correct on Mac OS X; problems still exist, however (very likely driver bugs) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@293 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleaned up Mac OS X context handling. Removed incorrect retain call onKenneth Russel2005-06-011-151/+144
| | | | | | | | | NSOpenGLContext. Removed NSOpenGLPFANoRecovery and NSOpenGLPFAAccelerated flags from pixel format. Added NSAutoreleasePools around Cocoa calls. Added stereo support. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@292 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
* Added first-cut support for floating-point pbuffers on Mac OS XKenneth Russel2005-05-201-3/+3
| | | | | | | (untested) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@276 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed race conditions in Mac OS X onscreen context creation thatKenneth Russel2005-05-101-2/+6
| | | | | | | 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 Issue 92: Platform Independent VSync functionality Kenneth Russel2005-04-241-0/+6
| | | | | | | | | 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
* Added double-buffer argument to Mac OS X OpenGL context creationKenneth Russel2005-02-041-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@212 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 99: intptr_t undefined compiling with VS .NET 2003 VC++ Kenneth Russel2005-01-312-4/+4
| | | | | | | | | | | Applied patch from submitter. I am not convinced it is correct because we definitely needed that #if clause in order to make JOGL compile with VC7. However, since I don't have a VC7 installation to test with and since the patch reportedly makes it work with Visual Studio 2003, I'll assume it's correct. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@198 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 126: Patch to allow building native driver on BSD Kenneth Russel2005-01-281-1/+1
| | | | | | | | Incorporated patch, slightly modified to not perturb the Linux build in any way. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@194 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed compiler warning in updateContextRegisterKenneth Russel2004-08-051-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@150 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 79: PBuffers on macintosh fail to glCopyTexSubImage2DKenneth Russel2004-04-291-92/+15
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@128 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated context creation code to unpack GLCapabilities object in JavaKenneth Russel2004-04-211-47/+21
| | | | | | | rather than in C using JNI. Added full-scene antialiasing (FSAA) support. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@113 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed debugging printfsKenneth Russel2004-03-151-4/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@89 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated for OSX custom pixel format.gregorypierce2004-02-281-8/+48
| | | | | | | | | | Issue number: Obtained from: Submitted by: Gregory Pierce Reviewed by: git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@82 232f8b59-042b-4e1e-8c03-345bb8c30851
* implemented GLJPanel for Mac OS XGerard Ziemski2003-11-191-6/+11
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@74 232f8b59-042b-4e1e-8c03-345bb8c30851
* use USE_GL_TEXTURE_RECTANGLE_EXT for PBuffers - needed for GLJPanelGerard Ziemski2003-11-081-17/+36
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@72 232f8b59-042b-4e1e-8c03-345bb8c30851
* Print error messages when nsview is not a valid drawable and return NULL ↵Gerard Ziemski2003-11-041-5/+23
| | | | | | from createContext git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@70 232f8b59-042b-4e1e-8c03-345bb8c30851
* Disabling the context updater for now - not thread safe yet.Gerard Ziemski2003-10-121-0/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@68 232f8b59-042b-4e1e-8c03-345bb8c30851
* Implemented PBuffers (available in >= Panther). Reimplemented window ↵Gerard Ziemski2003-10-123-87/+342
| | | | | | resizing using update listener git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@67 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added Gerard Ziemski's new sources for faster dynamic symbol lookup onKenneth Russel2003-09-051-18/+39
| | | | | | | Mac OS X. Removed workarounds for earlier JAWT bugs on OS X. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@60 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug abies pointed out in ARBVBOKey where it was necessary toKenneth Russel2003-08-071-1/+1
| | | | | | | | override hashCode() and therefore equals(). Added caching of BufferUtils.bufferOffset() buffers. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@48 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed glMapBufferARB's implementation to return the same ByteBufferKenneth Russel2003-08-071-0/+54
| | | | | | | | | | | | | | | | | if the address and capacity of the underlying buffer object haven't changed. This saves applications the cost of re-slicing the returned buffer each frame and avoids allocation of one or more finalizable objects per frame. Moved GlueGen's checking of whether a passed buffer is direct up into Java from C to be able to handle buffers that wrap the NULL pointer (needed for the "buffer offsets" used by ARB_vertex_buffer_object). Ported the VertexArrayRange demo to VertexBufferObject. Currently slower than VertexArrayRange but needs to be updated to triangulate the geometry more efficiently (currently the triangle strips are only 48 vertices long) and to move the indices into fast RAM. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@47 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed behavior of ManuallyImplement to not emit GLEmitter's dispatchKenneth Russel2003-08-061-0/+54
| | | | | | | | | | routine, but to still emit entry in proc address table. Added first implementation of glMapBufferARB; may need to reimplement due to creation of finalizable direct ByteBuffer objects each time this routine is called (which will be every frame). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@45 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added sharing of display lists and textures among OpenGL contextsKenneth Russel2003-07-081-2/+3
| | | | | | | | | 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 Mac OS X port of Jogl by Gerard Ziemski and Kenneth Russell,Kenneth Russel2003-06-261-0/+94
| | | | | | | | | | subsuming the previous prototype implementation (no GLCanvas support) done by Marc Downie. Added user's guide (HTML format) under doc/userguide/index.html. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@13 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial revisiondjp2003-06-081-0/+101
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@3 232f8b59-042b-4e1e-8c03-345bb8c30851