summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Removed debugging code accidentally included in last checkinKenneth Russel2005-10-121-4/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@139 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Cleaned up ^MsKenneth Russel2005-10-051-0/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@138 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Removed GLU entry points for mipmapping and scaling routines taking Kenneth Russel2005-09-261-2/+2
| | | | | | | | | | primitive arrays in place of C void* arguments; now only variants are those taking Buffer, as in the rest of the API. Added new convenience routines to BufferUtils and made original copying convenience routines respect Buffer position and limits. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@137 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Changed GLDrawableFactory.canCreateGLPbuffer(GLCapabilities, int, int) Kenneth Russel2005-09-253-6/+4
| | | | | | | | | | to take no arguments because in general it is not possible to answer that question without actually attempting to create the pbuffer. Instead this method is now a simple capability check of whether the current graphics card supports pbuffers. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@136 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Changed GLU to be a single class rather than a separate interface and Kenneth Russel2005-09-2519-98/+80
| | | | | | | | | | | | | | | | | | | implementing class. Broke dependence from GLContext and GLAutoDrawable down to GLU package; removed getGLU()/setGLU() routines. A GLU object may now be instantiated via "new GLU()" at any point in the program. When routines on it are called which require an OpenGL context, the GLU implementation fetches the current GLContext and the GL object from within it to do its work via the new public API GLU.getCurrentGL(). This avoids needing to pass down a GL object everywhere or to tie the GLU object to a particular GL object. Restructured GLUT implementation similarly so GL and GLU objects do not need to be passed to it as arguments any more. Restructured all demos to conform to new APIs. Fixed bugs in GlueGen around new functionality of being able to emit only an implementing class with no associated interface. Deleted obsolete GLU-related .cfg files. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@135 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Deleted some GLJPanel-convenience methods from GLDrawableFactory based Kenneth Russel2005-09-222-7/+3
| | | | | | | | | on expert group feedback. Changed how default null GLCapabilities and GLCapabilitiesChooser arguments are handled in GLCanvas, GLJPanel and GLDrawableFactory. Cleaned up JRefract and DualContext demos slightly. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@134 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Renamed GLJPanel.isOGLPipelineEnabled() to Kenneth Russel2005-09-121-2/+2
| | | | | | | GLJPanel.shouldPreserveColorBufferIfTranslucent() and respecified it. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@130 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Moved GLU-related classes into javax.media.opengl.glu package. Still Kenneth Russel2005-09-1119-5/+20
| | | | | | | | | | | | | | | need to break dependence from GLContext / GLAutoDrawable classes' getGLU() method down into this new package; should make GLU a class rather than an interface and probably make it instantiatable with a target GL object in the constructor. Should also make GLU and GLUT interfaces look similar (i.e., probably accept GL and GLU objects in constructor of GLUT rather than taking them as arguments on each method call). Ignored GLUnurbs data type from glue code generation. Updated demos for new location of GLU. Fixed broken package of Version class. Minor javadoc cleanups. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@129 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed longstanding typo (even in C headers) in naming of GLUtesselator; Kenneth Russel2005-09-111-2/+2
| | | | | | | now named GLUtessellator git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@128 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Initial integration of JOGL with the Java2D OpenGL pipeline in the Sun JDK. Kenneth Russel2005-09-097-19/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GLJPanel has a new rendering path which captures the Java2D back buffer via GLDrawableFactory.createExternalGLDrawable()/createExternalGLContext() and creates a new context on it for performing JOGL rendering. The new path is enabled by default in Mustang build 51 and later when the Java2D/OpenGL pipeline is turned on via -Dsun.java2d.opengl=true, and yields huge speedups relative to the previous pbuffer-based GLJPanel implementation. GLJPanel in the new configuration is nearly as fast as the GLCanvas, and still provides 100% correct Swing integration. No public API changes were required to JOGL in order to implement this integration with one exception in GLJPanel.isOGLPipelineEnabled(): see below. Issues still remain, such as the desire to run all (not just some) OpenGL work on the Java2D-internal Queue Flusher Thread to maintain single-threaded behavior of the library. Currently GLCanvas's OpenGL work is run on the EDT while GLJPanel's and GLPbuffer's OpenGL work is run on the QFT. Significant restructuring to the GLCanvas will be required to achieve this goal. There is some lag of mouse events with demos which are more expensive to render which needs to be investigated. It will not be possible to implement calling of display() on other non-pbuffer GLAutoDrawables from within the GLEventListener's display() callback in this model. There are other issues as well. GLJPanel falls back to using a pbuffer internally when the Java2D back buffer's pixel format is not suitable for rendering the JOGL demos (for example, the InfiniteShadowVolumes demo, which requires stencil bits). Added GLJPanel.isOGLPipelineEnabled() which applications can use to decide whether to clear the color buffer or leave prior Java2D rendering results in place for non-opaque GLJPanels. The JGears demo has been modified to query that flag to maintain the gradient behind it while rendering the gears directly into the Java2D back buffer. GLCanvas uses the pixel format specified by Java2D if one is already set. It turns out that when the Java2D OpenGL pipeline is enabled, one is always set by default even though no Java2D rendering is performed into it, because the AWT clears the background of Canvases by default in certain situations. This can be disabled (only globally, unfortunately) by specifying -Dsun.awt.noerasebackground=true. Fixed issues with HDR and HWShadowmapsSimple demos where they needed to pay attention to the x and y coordinates passed down in the reshape callback in order to set up the correct OpenGL viewport. Fixed minor shutdown-related issues with demos using gleem's ManipManager. Tested (on NVidia hardware only so far) on Windows and X11 platforms with Mustang build 51. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@125 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Restructured GLJPanel to handle reshapes explicitly without needing to Kenneth Russel2005-09-091-2/+3
| | | | | | | | | put them on the AWT Event Queue thread via EventQueue.invokeLater(). Cleaned up single-threaded workaround code in GLCanvas. Fixed bug in ManipManager.unregisterWindow(). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@124 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Instantiated HDR demo's CgPipeline class reflectively to break Kenneth Russel2005-09-091-2/+8
| | | | | | | | compile-time dependence on Cg. Fixed bug in JNI name mangling in GlueGen with object array arguments. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@123 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Refactored demos to mostly subclass common Demo superclass providing Kenneth Russel2005-09-0912-107/+186
| | | | | | | | | | | | | shutdown capabilities. Moved DemoListener to demos.common package. Added ManipManager removal code to demos using manipulators or ExaminerViewer to fix memory leak when run in JRefract harness. Added workaround for another seeming memory leak when run under current JDK 1.6 due to java.awt.Component now being finalizable and keeping data alive longer than previously. Made ManipManager.unregisterWindow more lenient with respect to null or invalid arguments. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@122 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added Vertex Buffer Object and Pixel Buffer Object variants of Kenneth Russel2005-09-0310-187/+172
| | | | | | | | | | | | | | | | | | | | | | | | | routines affected by these extensions. New variants take long as argument instead of Buffer for void*. For these routines as well as the original versions, must check whether VBO/PBO is active or inactive. Added check to affected methods to guarantee they are not called within glBegin/glEnd pairs (which in most, if not all, cases is already a requirement) to avoid tracking OpenGL state manually. Added new JavaPrologue and JavaEpilogue commands to JavaConfiguration with optional signatures to differentiate overloaded methods. Added BufferObjectKind command to GLConfiguration which builds on JavaPrologue support. Deleted BufferUtils.bufferOffset() and associated native code. In order to reduce the number of extension routines, added IgnoreExtension directives for all extensions folded into OpenGL 1.1, 1.2 and 1.3 specifications; this means that if the core OpenGL version is less than 1.3 then these extensions are effectively unavailable. Updated demos for both new VBO/PBO API variants as well as extensions folded into core. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@120 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Renamed all files to intended destination packages for JSR-231. The Kenneth Russel2005-08-3049-64/+112
| | | | | | | | | | | only package specified by the JSR is "javax.media.opengl". The utility package com.sun.opengl.utils is Sun-specific and optional. The Cg binding has been moved into com.sun.opengl.cg. Moved Animator and FPSAnimator to com.sun.opengl.utils. Updated and tested demos with new source code locations. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@118 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Restructured generation of MethodBindings and emitters to more closely Kenneth Russel2005-08-299-70/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | match desired new code generation style of mapping void* to Buffer and to support non-direct Buffers. Removed expansion of void* to multiple primitive array types. Primitive-type C pointers (such as int*) are now exposed as IntBuffer and (optionally) int[], if NioDirectOnly has not been specified. The int[] variant is a simple wrapper around the indirect buffer implementation. If desired, expansion of void* to other array types could be layered on this new support. Rewrote and simplified expandMethodBinding and split up creation of emitters into generatePublicEmitters and generatePrivateEmitters. Deleted JavaMethodBindingImplEmitter and CMethodBindingImplEmitter and folded their functionality into their superclasses, controlled under flags, which makes it more straightforward to tweak a given emitter to produce correct glue code. Restructured OpenGL-specific JavaGLPAWrapperEmitter and CGLPAWrapperEmitter and how they are created by the GLEmitter; these classes are now much simpler than before. Changed how data types are passed from MethodBindings to Emitters. Generally only two MethodBindings will be created, one which maps types like int* to IntBuffer and one which maps it to int[]. The version taking Buffers will be the only one for which glue code will be generated; the one taking int[] will call the native code for the indirect buffer case for the one taking Buffers. Compound types (representing C structs) and compound type arrays (represending arrays of C structs) are no longer mapped to NIO ByteBuffers and arrays of NIO ByteBuffers by the MethodBinding; erasure and lowering of types is now handled by the Emitters, to preserve more type information during the code generation process. It is unclear whether this is in the end a simplification or just pushing code around, but it does help reduce confusion over the number of MethodBindings floating around in the system and what purpose they served. Restructured cure JOGL code and demos to work with new APIs, in particular new glTexImage*D, glDrawElements, and glReadPixels Buffer arguments. Fixed performance problem in new Animator which occurred with VertexArrayRange demo. Added new gluPickMatrix entry point to be able to implement NIO variant in generated signatures. Some further simplifications of the new code may be possible (i.e., some new flags in JavaMethodBindingEmitter and MethodBinding removed) and it is possible more unused code remains to be deleted. As it stands the new GL.java is significantly smaller than before, as all of the expansions of void* to primitive arrays are gone, several areas of GlueGen are easier to understand, and while some functionality has been lost, the autogenerated APIs are basically in the final form specified by JSR-231. Tested with the JOGL demos on Windows and Linux. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@116 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Cleaned up imports in JRefract demoKenneth Russel2005-08-171-5/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@115 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Revised JGears demo to add FPS counter and logos drawn with Java2D and Kenneth Russel2005-08-178-26/+195
| | | | | | | | | | changed JRefract and JGearsFullscreen demos to use JGears instead. Fixed bugs in fullscreen demos where workarounds were lost during last refactoring; created new FullscreenWorkaround GLEventListener which implements the workaround. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@114 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added dual-context test. Changed Kenneth Russel2005-08-151-0/+149
| | | | | | | | | WindowsOnscreenGLDrawable.swapBuffers() to lock the surface if necessary. Need to test this on other platforms and make similar change if necessary. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@113 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Restructured Animator to handle multiple GLAutoDrawables and to yield Kenneth Russel2005-08-141-42/+6
| | | | | | | | CPU within animation loop (configurable by overriding sync()). Added FPSAnimator subclass. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@112 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Broke another deadlock with VertexProgWarp demo in JRefract frameworkKenneth Russel2005-08-061-2/+6
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@111 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added repaint() to GLAutoDrawable interface and used it in gleem Kenneth Russel2005-08-062-3/+3
| | | | | | | | package to break deadlocks when another thread than AWT event queue thread is involved in OpenGL rendering. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@110 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Missed new DemoListener.repaint() in a few placesKenneth Russel2005-08-064-0/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@109 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Corrected HDR demo titleKenneth Russel2005-08-061-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@108 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Refactored nearly all demos as GLEventListeners and imported most into Kenneth Russel2005-08-0613-3684/+2950
| | | | | | | JRefract framework. Deleted duplicate Gears code in fullscreen demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@107 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Refactored Gears, VertexProgRefract and Water demos to be more Kenneth Russel2005-08-057-2100/+1008
| | | | | | | | modular. Started rewriting other demos like JGears and JRefract in terms of others to share more code. Added Water demo to JRefract demo. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@106 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Refactored platform extensions out of the GL interface and Kenneth Russel2005-07-271-7/+1
| | | | | | | | | | | | | | implementation and into their own objects according to the JSR-231 expert group's resolutions. Moved the interfaces declaring these extensions into the platform-specific implementation directories and added a loosely-specified GL.getPlatformGLExtensions(). This will shrink the size of the platform-independent jar file considerably as the implementing class for the public GL interface is now no longer replicated for each platform. The build process is also simplified a fair bit; more simplifications are possible. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@105 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Implemented pbuffer instantiation support in GLDrawableFactory rather Kenneth Russel2005-07-183-16/+31
| | | | | | | | than GLCanvas on Windows. Restructured GLJPanel and jogl-demos to use new APIs. Still needs to be ported to other platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@104 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Further context-related changes for the JSR-231 API. The GLContext Kenneth Russel2005-07-1711-47/+72
| | | | | | | | | | | | | | | | | | | | | | | implementations on all platforms have been split into orthogonal GLDrawable and GLContext concepts. It is now possible to create more than one GLContet per GLDrawable (though this has not been tested yet). GLCanvas has been reimplemented in terms of GLDrawableFactory.getGLDrawable(). More functionality has been moved from GLDrawable to GLAutoDrawable. Reimplemented lazy sending of reshape GLEventListener events in GLCanvas and GLJPanel and deleted notion of deferred reshapes from GLDrawableHelper and elsewhere. Sharing of textures and display lists is now expressed in terms of GLContexts instead of GLDrawables. Still need to move pbuffer creation into GLDrawableFactory from the onscreen GLContext implementations. Added option to gleem ExaminerViewer to disable automatic redraws upon mouse events and respecified more of gleem to work on GLAutoDrawables rather than GLDrawables. Updated all JOGL demos to work with new APIs and slightly different initialization sequences (in particular, for pbuffers -- this will change with the addition of GLDrawableFactory.createGLPbuffer()). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@103 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Initial set of context-related changes for the JSR-231 API. GLContext Kenneth Russel2005-07-1029-170/+168
| | | | | | | | | | | | | | | has been exposed in the public API. The GLEventListener callback mechanism has been removed from the core GLContext implementation and moved up to a higher level. GLAutoDrawable now contains the GLEventListener-related methods, and the GLEventListener's methods now receive a GLAutoDrawable as argument. All JOGL demos have been updated for the new APIs. Many FIXMEs and much unimplemented functionality remain. There is slightly different initialization behavior for the demos containing pbuffers, and the deferring of reshape callbacks needs to be rethought. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@100 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed Windows port after changes to GlueGen to include array offsets. Kenneth Russel2005-07-0829-241/+241
| | | | | | | | | | | Ported all demos to new API. Temporarily added back in GLU entry points taking primitive arrays as the underlying APIs (in particular, glTexImage2D) do not yet support non-direct Buffers. Changed C code generation to only add in array offset if array is non-null. Fixed bug in GLU tesselator demo's vertex callback. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@99 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Merged with main trunk (tag JOGL_PRE_1_1_1)Kenneth Russel2005-07-0727-136/+605
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@98 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* This commit was manufactured by cvs2svn to create branch 'JSR-231'.First Last2005-06-1619-503/+1660
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@93 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added Java/JOGL port of NVidia HDR demo.Kenneth Russel2005-05-2725-0/+12101
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@80 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Enabled sync-to-vertical-refresh for ProceduralTexturePhysics demoKenneth Russel2005-05-241-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@79 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added constructor taking InputStreamKenneth Russel2005-05-231-1/+9
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@78 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added PrintExt demo to print all GL extensionsKenneth Russel2005-05-191-0/+69
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@77 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added demos.util.FileUtils to help with loading vertex and fragment Kenneth Russel2005-05-191-0/+68
| | | | | | | programs git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@76 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added CgGL.cgCreateProgramFromStream and updated JOGL Cg demos to use Kenneth Russel2005-05-132-7/+27
| | | | | | | 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-demos/trunk@74 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed race condition in GLJPanel implementation and improved behaviorKenneth Russel2005-05-101-9/+13
| | | | | | | of JRefract demo on Linux git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@72 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed Issue 151: starting up the Animator before the GLJPanel has been shown ↵Kenneth Russel2005-05-0710-47/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-demos/trunk@71 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added gl.setSwapInterval(0) callKenneth Russel2005-05-051-7/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@70 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed Issue 160: Resource leaks in GLJPanel Kenneth Russel2005-05-021-16/+428
| | | | | | | | | | | | | | 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-demos/trunk@66 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added call to GL.setSwapInterval(1) to make demo animate smoothly on Kenneth Russel2005-04-241-0/+2
| | | | | | | all platforms git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@65 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed Issue 146: GLUT teapot Kenneth Russel2005-04-091-4/+1
| | | | | | | | | | 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-demos/trunk@64 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed bug in demos pointed out by chrisDUPUIS on javagaming.org forums Kenneth Russel2005-02-284-5/+30
| | | | | | | | | where we were creating multiple DebugGLs in particular in the TestContextDestruction demo, which was the cause of the slowdown in that demo git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@63 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed problem in event-driven InfiniteShadowVolumes demo where Kenneth Russel2005-02-271-0/+6
| | | | | | | animation wasn't occurring git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@61 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Changed Gears and JGears demo to recommended style (to not cache the Kenneth Russel2005-02-242-17/+18
| | | | | | | GL object) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@60 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added needed repaint() call after key events in demos where Animator Kenneth Russel2005-02-242-0/+2
| | | | | | | isn't being used any more git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@59 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Removed unnecessary Animator from interactive HWShadowmapsSimple and Kenneth Russel2005-02-232-31/+2
| | | | | | | InfiniteShadowVolumes demos git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@58 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4