| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1788 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Adding 'eglGetProcAddress(long eglGetProcAddressHandle, String funcName)',
to be able to bootstrap 'eglGetProcAddress'.
- EGLDrawableFactory
- Adding ES2 libname GLES20
- Adding dynamicLookupFunctionOnLibs: Lookup in the libraries (dlsym)
- Change dynamicLookupFunction:
- Bootstrap 'eglGetProcAddress' first
- 1st try eglGetProcAddress
- 2nd try dynamicLookupFunctionOnLibs
- GLContextImpl.isFunctionAvailable()
- 1st try GL proc table (cached)
- 2nd try platform extension proc table (cached)
- 3rd try EGLDrawableFactory.dynamicLookupFunction (not cached)
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1787 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Function availability is checked by the dynamic ProcAddressTable,
so it works as described/desired and removed around 30 kB of text.
- Adding EGLExt to support EGLImage to share video buffers
between another API (e.g. OpenMax)
- EGL: Added platform extension query support
- EGLClientBuffer is opaque long
- GLXExt: Removed duplicated enumerates from GLX
- GLContext: Promoted getPlatformExtensionsString()
- GLProfile.setProfile<GL*>(void) changed order of
setting the GL profile to: highest -> lowest:
GL2 .. GL2ES12 .. GLES2 .. GLES1
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1784 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Intersection of GL2 + GLES1 + GLES2
- Common set of GLES1 + GLES2
- Utilized new 'ExtendedInterfaceSymbolsOnly' gluegen config
- DroppingUniqVendorExtension + 3DFX + APPLE
- Some APPLE enumerates are manually provided!
- Removing of 'jogl.oswin.jar' - since it is redundant now!
- Proper partitioning of 'jogl.gl2' and 'jogl.gl2es12' for
- x11, win and osx
- Profile selection/trial for e.g. GL2ES1 is now in the following order:
1) GLES1
2) GL2ES12
3) GL2
- Footprint for all profiles below 1/2 MB,
NEWT:
ES1: 284 kB
ES2: 280 kB
GL2ES12: 332 kB
GL2: 456 kB
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1729 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
source file>'
and get rid of manual 'Ignore' configs for common stuff in the base interfaces.
- Add: GLUnsupportedException:
- Using new config feature 'UnsupportedExceptionType GLUnsupportedException'
- GLUnsupportedException is used for anything 'UnsupportedOperationException'
- GLU:
- GLU itself is no more abstract
- GLU contains the tesselator implementation
- name, return type, modifiers and arguments
- createGLU(..)
- operated by profile name now.
- GLU itself will be used for GLES2
- Cleanup:
- gluegen/GL configs ..
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1725 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- NEWT:
- X11: Fullscreen toggle: (un)decorated window and resize event
- CloseNative: Use copied display/window handle to close after invalidate
- Cleanup/validations
- GLDrawableHelper: Removed 'optimization' path - no sense and too complicated
- GL, GLContextImpl, GLContextShareSet:
- Activated: registerForBufferObjectSharing
- Working BufferSizeTracker
- GLBufferStateTracker: Activated: PBO state for GL2
- GL2/GLES1/GLES2: Activated VBO/PBO validation code
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1720 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
| |
- GLContextImpl GLBufferSizeTracker instantiation
- GL2ES1: added PopMatrix and PushMatrix
- GL: removed GL_FIXED
- GLU: added gluLookAt, .. float type variant
- Added: javax/media/opengl/util/FixedPoint.java for FixedPoint math (shall be increased)
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1716 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Terminology:
ARB Extensions: "GL2", "ARB", "OES", "OML"
Vendor Extensions: "EXT", "NV", "ATI", "SGI", "SGIS", "SGIX", "HP", "IBM", "WIN"
Pass-1 Unify ARB extensions with the same value
Pass-2 Unify vendor extensions,
if exist as an ARB extension with the same value.
Pass-3 Emit
Done:
- Unification of GL enumerates
- Unification of GL functions
- dynamic extension lookup
- ..
TODO:
- Break down GL.java: GL + GL2ES1ES2 (for future GL3, etc)
- Add a GL2 small implementation, to only support the GL2ES2 subset,
'GL2SubES2' ..
+++
- Fixed X11 build breakage of 'jawt' linkage.
- Fixed NEWT native code mouse- and keyevent id's,
missed sync while moving them from the bitfield notation.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1708 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
| |
relfections); Fixes
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1684 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1683 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Goals are orthogonal components for:
- OS Windowing system
- NEWT, X11, Windows, MacOsX
- GL Windowing GLUE
- EGL, GLX, WGL, CGL
- GL profiles
- core and util packages
- generate all Java components from any platform
All above goals are achieved.
TODO:
- Native compilation fix and test
- Check/Fix Win32, MacOSX and the mobile devices
- ..
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1665 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
Compile Clean: X11, noAWT, ES1, no *.impl.x11/win/macosx
See jogl/make/build.xml for new build properties.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1654 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
termination, overriding it in EGLDrawableFactory to call eglTerminate.
Made EGLDrawable.setRealized(false) clean up the EGLSurface.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1650 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"ant -Djogl.es1=1" builds JOGL for OpenGL ES 1.
"ant -Djogl.es2=1" builds JOGL for OpenGL ES 2.
"ant" builds JOGL for desktop OpenGL (2.1).
Building desktop OpenGL is currently broken (FIXME) -- more
refactorings are necessary.
When compiling, it is currently necessary to specify
-Djogl.noglnatives=1 on the ant command line as well, because the
generated native code does not link properly since we do not have
OpenGL ES libraries on the desktop. Building the generated native code
using a cross-compiler is not yet hooked up into the ant build
mechanism. It is necessary to build the generated native code with
external tools.
Also incorporated spatialized audio framework using Windows waveOut
device; this is a temporary measure until a different workspace can be
found for this code.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1630 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
out by John Burkey. glGetBufferParameterivARB call in glMapBuffer was
too expensive at least with Apple's multithreaded OpenGL
implementation. Now track both bound buffer state (refactored into
GLBufferStateTracker) as well as cache created buffers' sizes
(expressed in GLBufferSizeTracker) and query the cache instead of
OpenGL directly. Verified with VertexBufferObject demo that now no
glGet queries are made at run-time.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1003 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
| |
must explicitly specify -Djogl.GLContext.optimize on the command line
to enable it. Added note to the user guide in the section on X11
platforms discussing this.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@795 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
| |
disable behavior of leaving last context current on OpenGL worker
thread. Currently can be manually disabled with -Djogl.GLContext.noopt.
Added explicit test on X11 platforms of whether the onscreen context
created is direct or not, and to disable context optimization if not,
to automatically solve problems when running with indirect contexts
typically from Mesa.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@668 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
context permanently current on the GLWorkerThread
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@658 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
context destruction. Now, in addition to tracking sharing between
contexts requested by the user, also tracks the behind-the-scenes
sharing going on with e.g. Java2D. Makes determination of whether
objects can be immediately destroyed by checking current context and
seeing whether it shares the same deleted object pool as the one being
destroyed. If objects can not be destroyed immediately, their
destruction is deferred until the next makeCurrent of a context
sharing objects with the one currently being destroyed (if one exists
-- the case of this being the last context actually referencing the
objects is handled by the OpenGL drivers). This fixes the resizing
problems seen when -Dsun.java2d.opengl.fobject=true is specified along
with -Dsun.java2d.opengl=true in Mustang.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@654 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
| |
GLWorkerThread. Tested with modified version of
demos.texture.TestTexture doing the loading in another thread with
manual makeCurrent()/release() calls (not recommended style).
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@634 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
different contexts without explicitly calling release()
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@627 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Discovered it was necessary to re-attach the color and depth
renderbuffers to the FBO in JOGL's context, even though it shared
textures and display lists with Java2D's context; this may be a driver
problem and merits further investigation. Found it was also necessary
to create a new depth renderbuffer; apparently could not use Java2D's.
This is almost certainly a driver bug. At this point, with the
forthcoming planned changes to Mustang, JOGL works when
-Dsun.java2d.opengl.fbobject=true is specified. Problems remain with
the HWShadowmapsSimple (extremely slow performance) and
InfiniteShadowVolumes (throws exception because of inability to share
textures and display lists between pbuffer's context with stencil
buffer and Java2D's context) demos. Worked around earlier exceptions
with InfiniteShadowvolumes demo by avoiding sharing textures and
display lists with dummy GLContexts. Changed build to produce DebugGL
and TraceGL earlier so they can be used in e.g. GLJPanel.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@599 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Java2D class to latest proposed set of APIs in OGLUtilities and
changed usage of these APIs to be approximately correct. Left in
fallback path for working with non-FBO case in current Mustang builds.
Not working yet, and don't yet understand why; checking in at this
intermediate point to be able to more easily test on more machines.
Added error checking to creation of external GLContexts and
GLDrawables on Windows and X11 platforms.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@597 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLObjectTrackers are specified between contexts and separated this
from the maintenance of the GLContextShareSet, although the API
(registerForObjectTracking) is in the GLContextShareSet class. If the
Java2D/OpenGL pipeline and FBOs are active, causes all JOGL contexts
created to share textures and display lists with a context from Java2D
(currently acquired from a VolatileImage, but will probably need to
change how this is done). GLObjectTrackers however are only shared
between JOGL contexts where the user has explicitly requested sharing.
This yields the expected semantics of server-side object deletion when
the context is destroyed. Upgraded GLJPanel to handle FBO
manipulation. Not working yet; more debugging necessary on Java2D side
as well.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@585 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
keep track of server-side OpenGL objects, like textures and display
lists, created by the end user to preserve the illusion of independent
contexts even though they will all share textures and display lists
with the Java2D OpenGL context in order to access its FBO. Added
GLObjectTracker class to track creation and destruction of these
objects and to support cleanup when the last referring context has
been destroyed. Modified GLContextShareSet to create and install
GLObjectTrackers when necessary and GLContext to ref and unref tracker
appropriately. Changed GlueGen's JavaPrologue and JavaEpilogue
directives (and their documentation) to perform argument name
substitution. Wrote documentation section on argument name
substitution and specified behavior for primitive arrays (converts to
string "array_name, array_name_offset" in substitution). Rephrased
GlueGen's RangeCheck directives in terms of JavaPrologue directives
and deleted old specialized code. Fixed bug in handling of VBO support
in GLConfiguration when JavaPrologue was present for affected
functions. Added JavaPrologue and JavaEpilogue directives to all
existing OpenGL routines creating server-side objects (though it's
possible some were missed) to call GLObjectTracker when necessary.
Added RangeCheck directives for these routines as well. Worked around
bug in JOGL demos where shutdownDemo() was being called more than once.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@584 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@501 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
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
|