aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Moved GlueGen out of the JOGL workspace and into its own project. Kenneth Russel2006-01-1569-20580/+0
| | | | | | | | | | | | | | | | Restructured JOGL and JOAL build processes to separately invoke GlueGen's main build.xml before using it to generate their code. Refactored OS/CPU detection code into gluegen-cpptasks.xml build file in GlueGen workspace, which is now imported by both the JOGL and JOAL build processes. Unfortunately it seems to be somewhat difficult to completely factor out the C compiler configuration into the GlueGen workspace so this has been left for a later date. Added missed ALProcAddressLookup file to JOAL workspace. Updated JOGL and JOAL build documentation. More documentation for the GlueGen workspace is forthcoming. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@542 232f8b59-042b-4e1e-8c03-345bb8c30851
* Renamed com.sun.opengl.utils to com.sun.opengl.util. Moved Kenneth Russel2006-01-1337-116/+224
| | | | | | | | | | | TextureIO-related classes to com.sun.opengl.util.texture and TextureProvider, TextureWriter and format-specific readers to com.sun.opengl.util.texture.spi. Renamed BufferUtils to BufferUtil. Added ImageUtil and FileUtil. Cleaned up javadoc. Updated demos. Cleaned up some imports. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@538 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 84: glReadPixels does not commit results Kenneth Russel2006-01-111-1/+1
| | | | | | | | | | Changed use of JNI_ABORT to 0 in ReleasePrimitiveArrayCritical calls. This should not change the behavior of the generated glue code in any way, at least on the HotSpot JVM, but is being done for completeness of the GlueGen tool. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@533 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problem with X11ExternalGLContext pointed out by m.engelhardt onKenneth Russel2006-01-101-0/+25
| | | | | | | javagaming.org forums which showed up when using JOGL with SWT git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@531 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed issue with vertical flip of image pointed out by Chris CampbellKenneth Russel2006-01-091-1/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@529 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made JOGLAppletLauncher.getTimestamp() private; was accidentally Kenneth Russel2006-01-091-1/+1
| | | | | | | public git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@527 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added Screenshot utility class. Fast Targa screenshot contributed by Kenneth Russel2006-01-091-0/+208
| | | | | | | Carsten Weisse of Bytonic Software. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@526 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added output support to TGAImage, SGIImage and newly-renamed DDSImage Kenneth Russel2006-01-097-114/+1106
| | | | | | | | | | | classes. Added support to TextureIO for writing textures back to disk via new TextureWriter plug-in interface. Added TextureConvert demo which shows how an application might convert between arbitrary file formats using these APIs, including automatic compression to DXT3 format when available. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@525 232f8b59-042b-4e1e-8c03-345bb8c30851
* Reorganized and added code in TextureIO and Texture classes to support Kenneth Russel2006-01-072-136/+297
| | | | | | | | | | | | cubemap generation as well as complete replacement of the texture's image, not just a sub-image. Added setTexParameteri to provide control over things like the GL_TEXTURE_WRAP_ modes. Ported JOGL demos to use new TextureIO class instead of TGAImage and ImageIO directly. Fixed longstanding bug in ExaminerViewer's setting up of inverse rotation causing errors in loading of uffizi cubemap. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@523 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed mipmap handling in TextureIO and associated classes. Top-level Kenneth Russel2006-01-074-170/+376
| | | | | | | | | | mipmap argument is now a boolean indicating whether mipmaps should be generated or used if available. Added mipmap argument to newTexture APIs. Added support for reading mipmaps from files which support them, in particular DDS files. Updated TestTexture demo to generate mipmaps. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@521 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed how Texture returns texture coordinates for both the entire Kenneth Russel2006-01-062-85/+117
| | | | | | | | image as well as a sub-image. Added TextureCoords class. Updated TestTexture demo. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@520 232f8b59-042b-4e1e-8c03-345bb8c30851
* Incorporated TextureIO texture loader (and, eventually, writer) and Kenneth Russel2006-01-068-0/+3273
| | | | | | | | | | | | | | | associated classes for being able to easily read in and display textures with OpenGL. Collaboration with Chris Campbell from the Java2D team. Supports multiple file formats both through ImageIO as well as custom texture loaders for DDS, SGI and TGA files. Writing of textures back to disk is not yet implemented. Reading of mipmaps from files which support it as well as autogeneration of mipmaps are not yet well supported and usage of mipmap arguments in the API still need to be rethought. Added TestTexture demo to jogl-demos workspace to show simple usage. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@519 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in JOGLAppletLauncher found by Travis Bryson whereKenneth Russel2006-01-051-1/+1
| | | | | | | | Solaris/x86 platform was downloading Solaris/SPARC native libraries (cut-and-paste bug) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@516 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed javadoc for JOGLAppletLauncher againKenneth Russel2006-01-041-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@515 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed javadoc for JOGLAppletLauncherKenneth Russel2006-01-041-8/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@514 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated version string to JSR-231 beta 2Kenneth Russel2006-01-031-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@512 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added checks on number of remaining elements and bytes for Buffers and Kenneth Russel2006-01-034-6/+198
| | | | | | | | | | arrays passed to certain APIs. Default is to not emit such range checks. The checks are currently most fully implemented for image- and texture-related APIs. Verified with debugging code and with demos that all textures used in demos are properly checked. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@509 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problem with recent 64-bit changes. Now force enum types Kenneth Russel2006-01-021-1/+6
| | | | | | | | to be int instead of long. Neither is really correct but int is probably more correct and its behavior is easier to explain than long. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@508 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problems on X11 platforms after last checkinKenneth Russel2006-01-011-4/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@507 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed more problems related to recent restructuring of glue code Kenneth Russel2006-01-0110-76/+46
| | | | | | | | | | | | generation to support simultaneous 32- and 64-bit ports. Now uses size() (on Java side) and sizeof (on C side) when creating direct Buffers for struct accessors rather than passing MachineDescription down to JavaMethodBindingEmitter and CMethodBindingEmitter. Now uses 64-bit MachineDescription when sizing outgoing arguments and return types for bound methods. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@506 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 186: Incorrect mipmap images with gluBuild2DMipmaps Kenneth Russel2006-01-011-38/+39
| | | | | | | | | | Fixed bug in port of gluBuild2DMipmapLevelsCore from SGI's C code in the case where the unpack alignment was greater than the row width of the mipmap level. Changed debugging code to write Targa files. Added rewinds of buffers where they might be needed. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@505 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bugs in struct layout introduced during recent rewrite to Kenneth Russel2005-12-311-81/+96
| | | | | | | | | | | | support simultaneous 32/64-bit struct accessor generation. Generated code has been validated on 64-bit platforms only by visual inspection so far but now appears correct. Tested and verified 32-bit build on Windows. Reorganized build process to generate JAWT interface later to allow cross-platform testing of generation of window system-specific code. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@504 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed references to JOGL from javax.media.opengl.Threading class Kenneth Russel2005-12-281-29/+31
| | | | | | | pointed out by Matzon on JOGL forum git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@503 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage pointed out by Travis after recent Kenneth Russel2005-12-261-1/+2
| | | | | | | resetProcAddressTable refactoring git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@502 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in render-to-texture support on WindowsKenneth Russel2005-12-235-5/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@501 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored glue code generation for APIs requiring run-time lookup of Kenneth Russel2005-12-2114-645/+1140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | individual function pointers into generic ProcAddressEmitter. Removed all OpenGL-specific routines and names from this emitter. The new ProcAddressConfiguration is more generic than the GLConfiguration and supports mostly-arbitrary mappings from function names to function pointer typedefs via the new ProcAddressNameExpr directive. Refactored GLEmitter into thin layer on top of this ProcAddressEmitter providing only ignoring of extensions and checking for buffer object variants of functions. Made GLConfiguration a stand-alone class. Deleted ContextVariableName directive in favor of more generic GetProcAddressTableExpr command. Moved resetting of generated ProcAddressTables into GlueGen runtime class ProcAddressHelper; user provides the dynamic lookup function (dlsym, etc.) through new DynamicLookupHelper interface. Fixed bug in generation of Java epilogues for routines returning primitive values. Fixed bugs in AccessControl directive, in particular when generating interfaces. Made small changes to autogenerated comments for routines called through function pointers. These changes do not impact the public API of JOGL -- this has been verified by examining diffs between the current and new autogenerated code. They do make the GlueGen tool more generic and allow it to be easily applied to the task of autogenerating the JOAL API and implementation as well. Also verified by running JOGL demos and JOAL demos in new JOAL workspace. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@500 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored code on Windows and X11 constructing attribute lists for Kenneth Russel2005-12-065-261/+234
| | | | | | | | | | | 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
* Removed code inadvertently checked in along with Kenneth Russel2005-12-061-4/+0
| | | | | | | MacOSXOnscreenGLContext git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@482 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added MacOSXExternalGLContext support as suggested by Billy BiggsKenneth Russel2005-12-053-2/+101
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@481 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added thrown exception information for GLDrawableFactory'sKenneth Russel2005-12-051-3/+15
| | | | | | | | | createGLPbuffer, createExternalGLContext and createExternalGLDrawable. Fixed build breakage with last checkin. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@480 232f8b59-042b-4e1e-8c03-345bb8c30851
* Submitted by: Travisgfxadmin2005-12-031-3/+3
| | | | | | | | | | | | | | | Remove all NURBS constants from the GLU bindings. We are not publishing bindings to the NURBS subset of GLU in this release of the JSR-231 API. Previously, we removed the NURBS methods from the implementation/spec, but not the NURBS-related constants, as they are specified in GLU 1.3. Modified Files: make/glu-CustomJavaCode.java src/classes/com/sun/opengl/impl/error/Error.java ---------------------------------------------------------------------- git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@475 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made throws clause for chooseGraphicsConfiguration follow documented Kenneth Russel2005-12-031-1/+2
| | | | | | | run-time exceptions git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@474 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made GLContext.setCurrent() protected based on feedback from user zero Kenneth Russel2005-12-031-5/+4
| | | | | | | on JOGL forum; ran by JSR-231 expert group git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@473 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLU projection-related entry points accepting Buffers as Kenneth Russel2005-12-031-48/+440
| | | | | | | arguments to round out the JSR-231 spec git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@472 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed dead codeKenneth Russel2005-12-011-0/+702
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@467 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLCapabilitiesChooser argument (currently ignored) to Kenneth Russel2005-11-275-5/+12
| | | | | | | | GLDrawableFactory.createGLPbuffer() based on JSR-231 expert group's feedback. Updated GLJPanel and demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@464 232f8b59-042b-4e1e-8c03-345bb8c30851
* Deleted unnecessary references to AWT Component in base GLDrawable Kenneth Russel2005-11-1411-23/+17
| | | | | | | classes on Windows and X11 platforms git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@449 232f8b59-042b-4e1e-8c03-345bb8c30851
* Minor cleanup to MacOSXGLDrawable to not import ComponentKenneth Russel2005-11-141-3/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@448 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleaned up access control on a few helper methodsKenneth Russel2005-11-141-8/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@447 232f8b59-042b-4e1e-8c03-345bb8c30851
* Deleted vestigial code from Windows choosePixelFormat path pointed out Kenneth Russel2005-11-141-2/+0
| | | | | | | by Justin Couch git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@446 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added workaround for problem on Mac OS X 10.4.3 where could not shareKenneth Russel2005-11-132-3/+32
| | | | | | | | | | | | | | | textures and display lists between a pbuffer and an on-screen OpenGL context; now specify pbuffer support for all created contexts. Tested on 10.3.9 and 10.4.3. See 4129317 on Apple's Bug Reporter for first report of this bug. Added workaround for older OpenGL version strings being reported with older graphics cards on OS X; now attempt to parse vendor-specific version string. Added workaround for ProceduralTexturePhysics demo on OS X where pbuffer's rendering results were not being flushed each frame; this demo is now working properly on 10.4.3 with recent hardware. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@443 232f8b59-042b-4e1e-8c03-345bb8c30851
* Minor javadoc changes to GLDrawableFactory. Kenneth Russel2005-11-122-5/+12
| | | | | | | chooseGraphicsConfiguration() suggested by Justin Couch git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@441 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleaned up wording in GLCanvas and GLJPanel javadoc about Kenneth Russel2005-11-122-6/+2
| | | | | | | instantiation pointed out by Justin Couch git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@440 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made public API changes discussed with expert group to make core JOGLKenneth Russel2005-11-0912-114/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Made X11GLDrawableFactory.lockToolkit() and unlockToolkit() non-staticKenneth Russel2005-11-093-10/+14
| | | | | | | | so they can be overridden in subclasses. Fixed build breakage from last checkin. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@430 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored JOGL's use of the JAWT to enable it to be more lazily Kenneth Russel2005-11-0914-157/+114
| | | | | | | | | | | | | | | | | | loaded. Separated out AWT-specific native code into a new jogl_awt native library on all platforms. Added a static helper method to the JAWT class to fetch the JAWT which is now called by all users. Added a new NativeLibLoader entry point to load the native code for the AWT implementation. Renamed the X11 platform's "lockAWT" and "unlockAWT" methods to "lockToolkit" and "unlockToolkit", respectively. In order to change this behavior only two methods in X11GLDrawableFactory need to be overridden. (During the writing of this checkin comment it was noted that these methods are currently static, but that will be fixed in a subsequent checkin.) Added the new jogl_awt native library to the the "dist" target's error checking code. 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@429 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored computations of sizes of data types and offsets of fields Kenneth Russel2005-11-0932-253/+653
| | | | | | | | | | | | | | | | 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
* Removed RI-specific method descriptions from addNotify(), update(), Kenneth Russel2005-10-282-23/+60
| | | | | | | | | etc. based on feedback from pepijnve on the javagaming.org forums. Added documentation on what subclasses must do if these methods are overridden as in Java3D specification. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@411 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made spec changes suggested by Chris Campbell on javagaming.org forumsKenneth Russel2005-10-282-7/+7
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@408 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated spec based on comments from rexguo on javagaming.org forumsKenneth Russel2005-10-283-5/+47
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@407 232f8b59-042b-4e1e-8c03-345bb8c30851