| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Java2D/JOGL bridge in a completely different way than the GLJPanel.
The OffscreenDesktopPane and associated classes are an attempt at a
generalized mechanism for supporting off-screen rendering of Swing
components within a JDesktopPane and later composition (by subclasses)
of those components' contents on-screen. The XTDesktopPane is intended
to be a drop-in replacement for the JDesktopPane which supports
OpenGL-accelerated animated transitions for components added to and
removed from it.
The XTBasicTransitionManager and XTBasicTransition classes define the
default implementation of animated transition effects, supporting a
combination of fade, rotation and scroll effects. More, and arbitrary,
transitions are certainly possible. More experimentation by the
community is needed.
This demo is intended as a first step toward a more generalized
framework in which arbitrary Swing rendering can be performed via the
Java2D/JOGL bridge.
Bugs remain, such as needing to preserve portions of the
OffscreenDesktopManager's back buffer after components have been made
not visible (during the process of closing them) in order to properly
animate their close effects. The XTrans demo works properly in most
cases but the JRefract demo (which now accepts an -xt command line
argument to install an XTDesktopPane instead of a JDesktopPane) does
not. More work also remains to be done, in particular on the layout of
components on the back buffer. A 2D bin-packing algorithm is needed.
When the Java2D/JOGL bridge supports Java2D's use of the Frame Buffer
Object extension (and, implicitly, render-to-texture on all platforms)
the glCopyTexSubImage2D operation to copy the off-screen back buffer
to a VolatileImage can disappear; this is the principal expensive
operation when the contents change of components which have been added
to the OffscreenDesktopPane.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@140 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
inside a JInternalFrame using the new hardware-accelerated GLJPanel.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@46 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
|