| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
function names. Made more modular so it can be used from outside code.
Fixed problem parsing core functions in gl.h.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@334 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@333 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
| |
and GLJPanel non-final. Rechecked against original JSR-231 OpenGL
context handling proposal; the proposed APIs are now complete. The
necessary and desired changes need to be brought up with the expert
group.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@332 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
before the AWT toolkit had been loaded. Added check for
jogl.gljpanel.nosw system property to diagnose problems with pbuffer
support. Fixed bootstrapping problem with GLX where its function
pointer table needed to be initialized before the first OpenGL context
was created in the case where a pbuffer was the first thing created.
Moved helper functions for resetting proc address table and dynamic
function lookup to GLDrawableFactoryImpl from GLContextImpl.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@331 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@330 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
| |
concrete GLDrawableFactory implementations. Made GLDrawableFactory
abstract and added GLDrawableFactoryImpl to support creation of
offscreen GLDrawables for non-pbuffer fallback path of GLJPanel.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@329 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
| |
MacOSXGLContextFactory. This completes the transition from creating
pbuffers as a subordinate object of a GLCanvas to creating them as
standalone GLDrawables. Deleted code from GLAutoDrawable and all
implementations related to pbuffer instantiation.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@328 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
to X11GLContextFactory.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@327 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
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/branches/JSR-231@326 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
| |
Windows to be encapsulated in WindowsDummyGLDrawable class. This is a
prerequisite for implementing top-level pbuffer support in the
GLDrawableFactory (i.e., not associated with a GLCanvas). Refactored
context implementations further on all platforms.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@325 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/branches/JSR-231@324 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@321 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/branches/JSR-231@320 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@319 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
| |
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/branches/JSR-231@318 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@317 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
respected and used properly in all of the public and private functions. The
changes are in gluegen, so that the code is generated properly. And also
throughout the parts of the jogl code that are not gluegen-generated.
For the internally generated implementation methods, a "1" is added to
the method names. So as to not overload the public API. This is similar
to what is already done with Buffer APIs, which have a "0" added
internally. I used a "1" instead of a "0" to avoid any collisions of the
signatures, which could happen if a null object was sent down for the
Array (e.g., the wrong method would get called).
This should be a suitable foundation for the implementation to add the
ability to wrap arrays in Buffers, which we plan to add to the implementation
soon.
These changes will cause all existing JOGL programs to break, although
adapting them is pretty easy. We will later be putting back changed examples
and utilities that incorporate these new APIs.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@313 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
CMethodBindingEmitter. Functionality is equivalent. This now matches how
I had done this elsewhere in the gluegen code.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@282 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
jogl/make/gl-common.cfg jogl/make/gl-glx-common.cfg
jogl/src/net/java/games/gluegen/opengl/JavaGLPAWrapperEmitter.java
jogl/src/net/java/games/gluegen/runtime/BufferFactory.java
jogl/src/net/java/games/gluegen/JavaEmitter.java
jogl/src/net/java/games/gluegen/JavaConfiguration.java
jogl/src/net/java/games/gluegen/CMethodBindingEmitter.java
jogl/src/net/java/games/gluegen/JavaMethodBindingEmitter.java
jogl/src/net/java/games/gluegen/CMethodBindingImplEmitter.java
jogl/src/net/java/games/gluegen/JavaMethodBindingImplEmitter.java
jogl/src/net/java/games/jogl/util/BufferUtils.java
Changes:
* Add NIODirectOnly grammar for description of methods that should have
only NIO Direct Buffer option (no expansion into other types, and also will
not be expanded to include indirect Buffer when we add that functionality)
* Make changes to respect Direct Buffer position value. This allows a setting
of an internal Buffer object parameter and JOGL will start reading data at
the point in the buffer to which this position is set
* The code is now generated to always respect this offset option. This has the
affect of changing the internal signatures of all methods that use Buffers. But
it does not affect the external API at all.
* Old JOGL programs will continue working the same as long as they had the
Buffer position set to zero before (the default value)
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@281 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@262 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
| |
PrimitiveArrayExpansion mode in gluegen, Add VoidPointerExpansion mode option to grammar, Implement VoidPointerExpansion mode in gluegen, change grammar file appropriately, Add a couple of Apple NIOOnly options, omission was previously a bug
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@250 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@245 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JSR-231@244 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
and a small README about the procedures being used during the port
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@180 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@179 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
Upgraded version number to 1.1 b08.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@176 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
was not being drawn if filled and untextured.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@175 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@174 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@173 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
| |
Incorporated the LWJGL team's port of the GLU quadric and projection
routines to be able to eliminate calls to the native GLU library for
these cases, which was problematic on certain Linux distributions.
Still need to port at least some of the mipmap routines and the NURBS
tesselator.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@172 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
| |
The central try/finally cause in GLException.invokeGL() called
GLContext.free() after catching and rethrowing the end user's
exception from the GLEventListenerdisplay() routine, which caused the
end user's exception to be overwritten with the internal GLException.
Fixed this by initializing the cause of the internal exception, and
also continuing to propagate out the end user's exception.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@171 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
| |
Added needed synchronization around creation of dummy windows for
wglChoosePixelFormatARB calls. Fixed race condition in StaticGLInfo
initialization.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@170 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@166 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@163 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
optimization when ATI_WORKAROUND=false.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@161 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
that GlueGen understands typedefs more completely. Upgraded cgGL.h to
Cg 1.3 beta 2 header; missed in last checkin.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@158 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@156 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added support to GlueGen to handle pointer-to-pointer types for
primitive types, like void** and int**. These are exposed as arrays of
appropriately-typed direct java.nio Buffers for simplicity. Checks for
whether the buffers are direct are performed and null checks for the
individual Buffer objects are done as well. Fixed an existing bug in
the conversion of outgoing char** arguments in C to String[] in Java
where null checks were missing; this showed up as crashes in
glShaderSourceARB. Exposed glMultiDrawElements and several other
less-common entry points taking void** arguments.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@154 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
| |
AccessController.doPrivileged in order to work with applets and Web Start.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@153 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@152 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@150 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
users in JOGL 1.1 betas where the code path for
wglChoosePixelFormatARB (supporting full-scene antialiasing) was
failing on older cards. The old drivers expect an OpenGL context to be
current while the wglChoosePixelFormatARB and associated calls are
being made, even though the documentation explicitly states that this
is not necessary. GKW's fix creates a native window synchronously
(independent of the AWT) and associates an OpenGL context with it
which is used to choose pixel formats for other windows on the same
GraphicsDevice. Upon VM shutdown, a native message pump is started
which causes proper disposal of the native window and its OpenGL
contexts.
There is currently no bug ID associated with this fix, although it may
be a component of completely addressing several open bugs.
Also includes a bug fix from GKW and kbr for:
Issue 98: Just 1st frame rendering on ATI Radeon
This was a race condition between JOGL's automatic discovery that the
ATI_WORKAROUND was needed and the creation of the first GLCanvas and
associated Animator. The need for disabling the setRenderingThread
optimization was computed too late, incorrectly locking out other
threads (in particular, the AWT event queue thread) from performing
rendering of the component.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@144 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@139 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@138 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
and recreation
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@137 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
| |
recent checkin for following issues:
Issue 59: GLContext Leak
Issue 67: Java/Jogl app hangs some systems, not others, during reshape.
Issue 69: Error on window resize
Issue 89: Losing Backbuffer when Resizing/Moving a window
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@136 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@135 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
| |
regsiter then as avaialable to developers, not just for internal use
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@133 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue 59: GLContext Leak
Issue 67: Java/Jogl app hangs some systems, not others, during reshape.
Issue 69: Error on window resize
Issue 89: Losing Backbuffer when Resizing/Moving a window
The primary change is to support handing off of the display()
implementation to the AWT event queue thread via a new class called
SingleThreadedWorkaround in the impl package. This was done to cause
the AWT's reshape code to execute on the same thread as all other
OpenGL rendering without changing the threading model (e.g., Animator
and the ability to manually call display()) visible to the end user.
This set of changes appears to work around the problems seen on ATI
cards with random corruption when resizing animating windows due to
multithreading bugs in the drivers. More testing by a larger community
will confirm this fix. Currently the workaround is enabled by default
on ATI cards.
A secondary but related change is to properly destroy the OpenGL
context when a heavyweight component is removed from its container.
In order to implement the above workaround, it was necessary to
override addNotify and removeNotify to properly track whether
GLCanvases were realized; at that point it was a fairly small step to
properly delete and recreate OpenGL contexts. The previous heuristics
which attempted to determine when a heavyweight had been realized have
been removed. A new demo, TestContextDestruction, exercises the new
functionality. It does still appear to exhibit resource leaks,
however; removing and re-adding the GLCanvas from its parent multiple
times causes the system to eventually slow down significantly. More
work is needed in this area. However, the demo does now execute as
opposed to throwing an exception which was the previous behavior.
The current code has been tested on Windows on NVidia hardware with
all existing demos with the workaround both enabled and disabled, and
on ATI hardware with the existing compatible demos with the workaround
enabled. The new abstract method in GLContext, destroyImpl(), has been
implemented but not yet tested on X11 and Mac OS X.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@132 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
display() to fail
Fixed Issue 80: redraw after reshape, swapBuffer() gives Exception
Restructured and simplified context handling and optimization in
GLContext.invokeGL(). Fixes issue 80 (verified); believe it will also
fix issue 78 (unable to verify; no test case). Retested with all
demos, some of which rely on the proper functioning of this code.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@131 232f8b59-042b-4e1e-8c03-345bb8c30851
|