aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/HowToBuild.html273
-rw-r--r--doc/Implementation/MultiThreading.txt94
-rw-r--r--doc/Implementation/runtime-properties.txt101
-rw-r--r--doc/TODO.txt41
-rw-r--r--doc/bouml/html-svg/classdiagrams.html22
-rw-r--r--doc/bouml/html-svg/classes.html44
-rw-r--r--doc/bouml/html-svg/classes_list.html47
-rw-r--r--doc/bouml/html-svg/fig128069.svg437
-rw-r--r--doc/bouml/html-svg/index-withframe.html19
-rw-r--r--doc/bouml/html-svg/index.html238
-rw-r--r--doc/bouml/html-svg/index_65.html23
-rw-r--r--doc/bouml/html-svg/index_67.html24
-rw-r--r--doc/bouml/html-svg/index_71.html42
-rw-r--r--doc/bouml/html-svg/index_74.html24
-rw-r--r--doc/bouml/html-svg/index_78.html23
-rw-r--r--doc/bouml/html-svg/index_79.html23
-rw-r--r--doc/bouml/html-svg/index_82.html23
-rw-r--r--doc/bouml/html-svg/navig.html17
-rw-r--r--doc/bouml/html-svg/packages.html22
-rw-r--r--doc/bouml/html-svg/style.css30
-rw-r--r--doc/bouml/html/classdiagrams.html22
-rw-r--r--doc/bouml/html/classes.html44
-rw-r--r--doc/bouml/html/classes_list.html47
-rw-r--r--doc/bouml/html/fig128069.pngbin0 -> 80497 bytes
-rw-r--r--doc/bouml/html/index-withframe.html19
-rw-r--r--doc/bouml/html/index.html238
-rw-r--r--doc/bouml/html/index_65.html23
-rw-r--r--doc/bouml/html/index_67.html24
-rw-r--r--doc/bouml/html/index_71.html42
-rw-r--r--doc/bouml/html/index_74.html24
-rw-r--r--doc/bouml/html/index_78.html23
-rw-r--r--doc/bouml/html/index_79.html23
-rw-r--r--doc/bouml/html/index_82.html23
-rw-r--r--doc/bouml/html/navig.html17
-rw-r--r--doc/bouml/html/packages.html22
-rw-r--r--doc/bouml/html/style.css30
-rw-r--r--doc/bouml/jogl/128069.diagram286
-rw-r--r--doc/bouml/jogl/2.session11
-rw-r--r--doc/bouml/jogl/69.session11
-rw-r--r--doc/bouml/jogl/cpp_includes13
-rw-r--r--doc/bouml/jogl/generation_settings309
-rw-r--r--doc/bouml/jogl/idl_includes1
-rw-r--r--doc/bouml/jogl/java_imports1
-rw-r--r--doc/bouml/jogl/jogl.prj710
-rw-r--r--doc/bouml/jogl/python_imports1
-rw-r--r--doc/bouml/jogl/stereotypes58
-rw-r--r--doc/bouml/jogl/tools32
-rw-r--r--doc/deployment/JOGL-DEPLOYMENT.html271
-rw-r--r--doc/deployment/lstjars/lstjars.linux_amd64-20100406.log540
-rw-r--r--doc/deployment/lstjars/lstjars.linux_amd64-20100420.log524
-rw-r--r--doc/differences-from-gl4java.txt13
-rw-r--r--doc/jsr-231-changelog-1.1.0.html543
-rw-r--r--doc/userguide/index.html1016
-rw-r--r--doc/wiki/FAQ.xml417
54 files changed, 6945 insertions, 0 deletions
diff --git a/doc/HowToBuild.html b/doc/HowToBuild.html
new file mode 100644
index 000000000..6097c5785
--- /dev/null
+++ b/doc/HowToBuild.html
@@ -0,0 +1,273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <link href="../../style.css" rel="stylesheet" type="text/css"/>
+ <title>How to build JOGL</title>
+ </head>
+ <body>
+ <div id="container">
+ <div id="header">
+ <div id="slogan">How to build JOGL</div>
+ <div id="logo"><a href="http://jogamp.org/">How to build JOGL</a></div>
+ </div>
+ <div id="menu">
+ <ul>
+ <li><a href="http://jogamp.org/">Home</a></li>
+ <li><a href="../../gluegen/www/">Gluegen</a></li>
+ <li><a href="../../joal/www/">JOAL</a></li>
+ <li><a href="../../jocl/www/">JOCL</a></li>
+ <li><a href="../../jogl/www/">JOGL</a></li>
+ <li><a href="../../demos/www/">Demos</a></li>
+ <li><a href="../../wiki/">Wiki</a></li>
+ <li><a href="../../deployment/jogl-next/javadoc_public/">JavaDoc</a></li>
+ <li><a href="../../blog/">Blogs</a></li>
+ <li><a href="../../forum.html">Forums</a></li>
+ </ul>
+ </div>
+ <div id="main">
+ <div id="text" class="fill">
+
+ <h2>Platform and Component Requirements</h2>
+ <hr/>
+ Here is a list of platforms and components, we were able to build JOGL on,<br/>
+ if not stated otherwise.<br/>
+
+ <ul>
+ <li> <b>Java</b><br/>
+ One of the following desktop Java SDK's:
+ <ul>
+ <li> <a href="http://openjdk.java.net/">OpenJDK</a> </li>
+ <li> <a href="http://icedtea.classpath.org/">IcedTea</a> </li>
+ <li> <a href="http://java.sun.com/j2se/">Sun JDK 1.6.0 or later</a> </li>
+ </ul>
+ or you may try one of the following embedded Java SDK's (not yet tested):
+ <ul>
+ <li> <a href="http://mail.openjdk.java.net/pipermail/jdk6-dev/2009-April/000455.html">OpenJDK6 for embedded ARM</a> may use <a href="http://icedtea.classpath.org/wiki/ZeroSharkFaq">Zero/Shark</a></li>
+ <li> <a href="http://java.sun.com/javase/embedded/">Sun JDK for Embedded Use</a></li>
+ </ul>
+ or even the JavaME SDK's (see notes):
+ <ul>
+ <li> <a href="https://phoneme.dev.java.net/">phoneME (tested with a proprietary VM build)</a><br/>
+ (tested with a proprietary VM build)</li>
+ <li> <a href="http://jamvm.sourceforge.net/">JamVM (not yet tested)</a><br/>
+ (not yet tested)</li>
+ <li> <a href="http://www.cacaovm.org/">CacaoVM (not yet tested)</a><br/>
+ (not yet tested)</li>
+ </ul>
+ </li>
+ <li> <b><a href="http://ant.apache.org/">Ant</a></b> 1.8.0 or later</li>
+ <li> <b><a href="http://www.kernel.org/pub/software/scm/git/docs/">Git</a></b> 1.6.0 or later<br/>
+ <ul>
+ <li> Use your Unix distribution's version, if available, or</li>
+ <li> <a href="http://www.kernel.org/pub/software/scm/git/">Source Code for GNU/Linux, MacOSX, ..</a>, or</li>
+ <li> <a href="http://code.google.com/p/msysgit/">Git on Windows</a>,
+ <a href="http://code.google.com/p/msysgit/downloads/list">download</a> version
+ <a href="http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.0.2-preview20100309.exe&amp;can=2&amp;q=">1.7.0</a> or later.</li>
+ <li> <a href="http://code.google.com/p/git-osx-installer/">git-osx-installer</a> </li>
+ </ul>
+ </li>
+ <li> Optional <b>NVidia Cg 2.2</b> <br/>
+ <ul>
+ <li> <a href="http://developer.nvidia.com/object/cg_download.html">Cg 2.2 Toolkit Download Page</a></li>
+ </ul>
+ </li>
+
+ <li> <b>GNU Linux</b> x86, 32- and 64-bit<br/>
+ You may have to install a few developer packages ...
+ <ul>
+ <li> <b>[K]Ubuntu</b> 10.04 or later
+ <ul>
+ <li>git</li>
+ <li>gcc</li>
+ <li>libgl1-mesa-dev</li>
+ <li>libglu1-mesa-dev</li>
+ <li>xorg-dev</li>
+ <li>libice-dev</li>
+ <li>libsm-dev</li>
+ <li>libx11-dev</li>
+ <li>libxext-dev</li>
+ <li>libxxf86vm-dev</li>
+ <li>libxinerama-dev</li>
+ <li>libxrandr-dev</li>
+ <li>Optional: Your card vendor's proprietary driver</li>
+ </ul>
+ </li>
+ <li> <b>OpenSuSE</b> 10.2 or later
+ <ul>
+ <li>git</li>
+ <li>gcc</li>
+ <li>x11-devel</li>
+ <li>mesa-devel</li>
+ </ul>
+ </li>
+ <li> <b>CentOS / Red Hat Enterprise Linux</b> 5.4 or later<br/>
+ <ul>
+ <li>git</li>
+ <li>gcc</li>
+ <li>mesa-libGL-devel</li>
+ <li>xorg-x11-proto-devel</li>
+ <li>libICE-devel</li>
+ <li>libSM-devel</li>
+ <li>libX11-devel</li>
+ <li>libXext-devel</li>
+ <li>libXau-devel</li>
+ <li>libXdmcp-devel</li>
+ <li>libXt-devel</li>
+ <li>libXxf86vm-devel</li>
+ <li>libXinerama-devel</li>
+ <li>libXrandr-devel</li>
+ <li>Optional: Your card vendor's proprietary driver</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li> <b>OpenSolaris</b> SPARC and x86, 32- and 64-bit
+ <ul>
+ <li> <a href="http://opensolaris.org/">OpenSolaris 2009.06 or later</a></li>
+ </ul>
+ </li>
+ <li> <b>MacOSX</b> Intel
+ <ul>
+ <li> git, see above </li>
+ <li> <a href="http://www.apple.com/macosx/">Mac OS X</a> 10.3 (note: will not work with earlier releases) </li>
+ <li> <a href="http://developer.apple.com/technologies/xcode.html">Xcode</a> for gcc, etc (included in OSX)</li>
+ </ul>
+ </li>
+ <li> <b>Windows</b>/x86 (32-bit)
+ <ul>
+ <li>Windows XP or later </li>
+ <li>git, see above</li>
+ <li> <a href="http://www.mingw.org/">MinGW</a><br/>
+ Read <a href="http://www.mingw.org/wiki/Getting_Started">MinGW Getting Started</a>.<br/>
+ We used the download script <code>mingwdl.sh</code> shown at
+ <a href="http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite">HOWTO Install the MinGW GCC Compiler Suite</a>.<br/></li>
+ <li> Not supported: Microsoft Visual C++ 6.0 or later, but may work. Last successful try in 2008.</li>
+ </ul>
+ </li>
+ <li> <b>Windows</b>/x86_64 (64-bit)<br/>
+ <ul>
+ <li>Windows XP or later </li>
+ <li>git, see above</li>
+ <li> <a href="http://mingw-w64.sourceforge.net/">MinGW64</a><br/>
+ We used the build <code>mingw-w64-bin_x86_64-mingw_20100515_sezero.zip</code> available at
+ <a href="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/sezero_20100515/">MingW64 Personal Builds - sezero</a>.<br/></li>
+ <li> Not supported: Microsoft Visual C++, never tried.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <p>
+ Additional platforms such as FreeBSD and HP/UX are handled by the
+ build system, but are not officially supported.
+ </p>
+
+ <h2>Build Steps</h2>
+ <hr/>
+ <p>
+ Here are the steps that are required in order to build JOGL.
+ </p>
+
+ <ol>
+ <li><b>Optain the source code</b> using git:
+ <ul>
+ <li><a href="http://github.com/sgothel/gluegen">Gluegen Dev GIT Repo</a></li>
+ <li><a href="http://github.com/sgothel/jogl">JOGL Dev GIT Repo</a></li>
+ </ul><br/>
+ It is crucial that you checkout the source code under a common root directory:
+ <pre>
+ /home/dude/projects/jogamp> git clone git://github.com/sgothel/gluegen.git gluegen
+ /home/dude/projects/jogamp> git clone git://github.com/sgothel/jogl.git jogl
+ </pre>
+ Now you should have following directory structure:
+ <pre>
+ /home/dude/projects/jogamp
+ /home/dude/projects/jogamp/gluegen
+ /home/dude/projects/jogamp/jogl
+ </pre>
+ </li>
+
+ <li> <b>Unset your CLASSPATH environment variable:</b> <br/>
+ The Ant build requires that the JOGL jars not be visible on the classpath. On Unix, type
+ <code> unsetenv CLASSPATH </code> into a csh or tcsh shell, or <code> unset CLASSPATH </code>
+ into a Bourne shell. On Windows, type <code> set CLASSPATH= </code> into a command prompt.
+ </li>
+
+ <li> <b>Optional</b> <i>Copy and edit <b>gluegen.properties</b>:</i> <br/>
+ To specify different basic options for components and compilers,<br/>
+ copy <b>gluegen/make/gluegen.properties</b> into your home directory (pointed to by the Java system property <b>user.home</b>). <br/></li>
+
+ <li> <b>Optional</b> <i>Copy and edit <b>jogl.properties</b>:</i> <br/>
+ To specify different basic options for the build,<br/>
+ copy <b>jogl/make/jogl.properties</b> into your home directory (pointed to by the Java system property
+ <b>user.home</b>). <br/>
+ Edit the copy to change desired settings.
+ </li>
+
+ <li> <b>Build the source tree:</b> <br/>
+ Open a command shell in the "jogl/make" directory of the source tree and type <code>"ant"</code>.
+ <ul>
+ <li>
+ An experimental binding to the high-level <a href="http://developer.nvidia.com/view.asp?PAGE=cg_main">Cg</a>
+ language by NVidia corporation can be generated by specifying <code>-Djogl.cg=1</code> to ant; e.g.
+ <code>ant -Djogl.cg=1</code>. The Cg binding has been tested on Windows, Linux, and Mac OS X.
+ </li>
+ </ul>
+ </li>
+
+ <li> <b>Test your build:</b> <br/> Stay in your command shell in the "jogl/make" directory of the source tree and type <code>"ant junit.run"</code>.</li>
+
+ <li> <b>Build Javadoc:</b> <br/> Stay in your command shell in the "jogl/make" directory of the source tree and type "<code>ant javadoc"</code>.
+ This will produce the end-user documentation for JOGL along with some auxiliary utility packages.
+ </li>
+ </ol>
+
+ Note that there are a lot of warnings produced by ANTLR about the
+ C grammar and our modifications to some of the signatures of the
+ productions; the C grammar warnings have been documented by the
+ author of the grammar as having been investigated completely and
+ harmless, and the warnings about our modifications are also
+ harmless.
+
+ <h2> Common build problems </h2>
+
+ <ol>
+
+ <li>
+ <b>Your CLASSPATH environment variable appears to be set (some JOGL classes are currently visible to the build.)</b>, and $CLASSPATH isn't set.
+ An older version of JOGL was installed into the extension directory of the JDK you're using to build the
+ current JOGL. On Windows and Linux, delete any ANTLR jars from jre/lib/ext, and on Mac OS X, delete them from
+ /Library/Java/Extensions. It is generally not a good idea to drop JOGL directly into the extensions directory,
+ as this can interfere with upgrades via Java Web Start.
+ </li>
+
+ <li>
+ <b>CharScanner; panic: ClassNotFoundException: com.sun.gluegen.cgram.CToken</b>
+
+ This occurs because ANTLR was dropped into the Extensions
+ directory of the JRE/JDK. On Windows and Linux, delete any ANTLR jars from jre/lib/ext,
+ and on Mac OS X, delete them from /Library/Java/Extensions. Use the antlr.jar property in the build.xml
+ to point to a JRE-external location of this jar file.
+ </li>
+
+ </ol>
+
+ <br/>
+ <p>
+ <i>- Christopher Kline and Kenneth Russell, June 2003 (revised November 2006)</i><br/>
+ <i>- Sven Gothel and Michael Bien, May 2010</i><br/>
+ </p>
+
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer_left">
+ <span>JogAmp.org</span>
+ by <a href="http://jogamp.org">http://jogamp.org</a>
+ is licensed under a <br/>
+ <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons Attribution 3.0 License</a>.
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/doc/Implementation/MultiThreading.txt b/doc/Implementation/MultiThreading.txt
new file mode 100644
index 000000000..fb586e1ec
--- /dev/null
+++ b/doc/Implementation/MultiThreading.txt
@@ -0,0 +1,94 @@
+
+Locking
+=========
+
+Interface AbstractGraphicsDevice: lock() / unlock()
+
+ - Used to exclusively lock the device
+ - Current implementations:
+ - X11GraphicsDevice: XLockDisplay/XUnlockDisplay
+
+ - Shall only be used, where race conditions may happen with
+ device toolkit calls in regards to windowing resources,
+ ie create/destroy .. etc
+
+ - We call XInitThreads ASAP and a global X11 lock
+ is not necessary.
+
+ - To ensure XInitThreads can be issued at first,
+ GLProfile.initSingleton() shall be called
+ in the static initializer block of the main class.
+
+ TODO:
+ However, we have to investigate how to incooperate this
+ with Applet loading.
+ If such call ain't possible, a workaround could be to not
+ call XInitThreads() and utilize AWT locks.
+
+Interface NativeWindow: lockSurface() / unlockSurface()
+
+ - Used to exclusively lock the surface
+
+ - Implementations:
+
+ - JAWTWindow:
+ - Recursive Lock
+ - JAWT SurfaceLock
+
+ - NEWT Window:
+ - Recursive Lock
+ - May have platform specific surface lock, currently: None
+
+
+GLContext/GLDrawable Locking:
+
+ - MakeCurrent: NativeWindow:lockSurface()
+ - Release: NativeWindow:unlockSurface()
+
+ - Create/Destroy/Realize/Swap:
+ - NativeWindow:lockSurface()
+ - CreateImpl/DestroyImpl/Realize/Swap
+ - NativeWindow:unlockSurface()
+
+ - The Window impl. class shall lock the window recursive lock
+ for all modifying operations.
+ This should be the same lock as surfaceHandle!
+
+
+Summary:
+
+ Locking is implemented in the platform agnostic code layer.
+
+ Locks and Order:
+ 1: - NativeWindow Surface/Window Lock
+ - Locked:
+ - [makeCurrent .. release]
+ - create/destroy
+
+ GLContextImpl:
+ - makeCurrent
+ - Surface i - out only in error
+
+ - release
+ - Surface o - makeCurrentImpl
+
+ - create
+ - Surface i/o
+
+ - destroy
+ - Surface i/o
+
+ - copy
+ - Surface i/o
+
+ - setSwapIntervalImpl
+ - Surface i/o
+
+
+ GLDrawableImpl
+ - setRealizedImpl
+ - Surface i/o
+
+ - swapBuffersImpl
+ - [Surface i/o] - if not locked already
+
diff --git a/doc/Implementation/runtime-properties.txt b/doc/Implementation/runtime-properties.txt
new file mode 100644
index 000000000..616029ed6
--- /dev/null
+++ b/doc/Implementation/runtime-properties.txt
@@ -0,0 +1,101 @@
+../doc/Implementation/runtime-properties-temp/gluegen-rt.debug.txt
+----------------------------------------
+ jogamp.debug.JNILibLoader
+ jogamp.debug.JVMUtil
+ jogamp.debug.Lock
+ jogamp.debug.ReflectionUtil
+
+
+
+../doc/Implementation/runtime-properties-temp/gluegen-rt.ipd.debug.txt
+----------------------------------------
+ jnlp.launcher.class
+ jogamp.common.utils.locks.Lock.timeout
+ jogamp.debug.Lock.TraceLock
+ sun.boot.library.path
+ sun.jnlp.applet.launcher
+
+
+
+../doc/Implementation/runtime-properties-temp/jogl.debug.all.txt
+----------------------------------------
+ jogl.debug.Animator
+ jogl.debug.BuildMipmap
+ jogl.debug.CapabilitiesChooser
+ jogl.debug.EGL
+ jogl.debug.GLCanvas
+ jogl.debug.GLContext
+ jogl.debug.GLDrawable
+ jogl.debug.GLJPanel
+ jogl.debug.GLPipelineFactory
+ jogl.debug.GLProfile
+ jogl.debug.GLSLCode
+ jogl.debug.GLStateTracker
+ jogl.debug.GLStatusTracker
+ jogl.debug.GraphicsConfiguration
+ jogl.debug.Java2D
+ jogl.debug.MacOSXPbufferCGLDrawable
+ jogl.debug.Texture
+ jogl.debug.TextureIO
+ jogl.debug.Threading
+
+
+
+../doc/Implementation/runtime-properties-temp/jogl.ipd.debug.txt
+----------------------------------------
+ jogl.1thread
+ jogl.debug.ExtensionAvailabilityCache
+ jogl.debug.GLDrawable.profiling
+ jogl.debug.GLSLCode
+ jogl.debug.GLSLState
+ jogl.debug.TextRenderer
+ jogl.glcontext.forcetracking
+ jogl.gldrawablefactory.class.name
+ jogl.gljpanel.nohw
+ jogl.gljpanel.noogl
+ jogl.gljpanel.nosw
+ jogl.screenchange.action
+ jogl.texture.nonpot
+ jogl.texture.notexrect
+
+
+
+../doc/Implementation/runtime-properties-temp/nativewindow.debug.txt
+----------------------------------------
+ nativewindow.debug.DefaultCapabilitiesChooser
+ nativewindow.debug.GraphicsConfiguration
+ nativewindow.debug.JAWT
+ nativewindow.debug.NativeWindow
+ nativewindow.debug.X11Util
+
+
+
+../doc/Implementation/runtime-properties-temp/nativewindow.ipd.debug.txt
+----------------------------------------
+ java.awt.headless
+ nativewindow.ws.name
+
+
+
+../doc/Implementation/runtime-properties-temp/newt.debug.txt
+----------------------------------------
+ newt.debug.Display
+ newt.debug.EDT
+ newt.debug.MainThread
+ newt.debug.Window
+ newt.debug.Window.KeyEvent
+ newt.debug.Window.MouseEvent
+ newt.debug.Window.WindowEvent
+
+
+
+../doc/Implementation/runtime-properties-temp/newt.ipd.debug.txt
+----------------------------------------
+ newt.MainThread.force
+ newt.test.EDTMainThread
+ newt.test.Window.reparent.incompatible
+ newt.ws.sheight
+ newt.ws.swidth
+
+
+
diff --git a/doc/TODO.txt b/doc/TODO.txt
new file mode 100644
index 000000000..294f16cd1
--- /dev/null
+++ b/doc/TODO.txt
@@ -0,0 +1,41 @@
+This list is probably completely out of date...
+anyone the guts to remove it? :)
+-mbien
+
+Random, somewhat old to-do list:
+
+- Non-const array types must be properly released with JNI_COMMIT in
+ order to see side effects if the array was copied.
+
+- Think about e.g. protected access for Impl classes
+
+- Fix glProgramStringARB and glGetProgramString{NV,ARB} so that they
+ use Strings and/or StringBuffers insteead of GLUbyte* and void*
+
+- figure out how to deal with WGL entry points:
+ WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC, int);
+ WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD);
+ WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD);
+ see commented-out section in make/stub_includes/win32/wingdi.h
+
+- Need a disciplined mechanism for converting char* argument types. For
+ example, many C functions accept a "char*" argument with the semantic that
+ output data will be written into the buffer pointed to by the
+ argument. The type "const char*" is used when the argument's data will be
+ unchanged. Our system needs a new directive, such as
+ "ArgumentIsStringBuffer" to be used for type conversion in those cases
+ where the native code needs to write output into the "char*" argument. Not
+ sure how to handle this on the native side -- it may require hints to the
+ native code generator as to how large the StringBuffer's backing buffer
+ needs to be, so we can assert this condition before passing the backing
+ buffer to the C function we are wrapping.
+
+- Throw an exception if native calls to GetPrimitiveArrayCritical
+ return null.
+
+- Before emitting functions and constants, sort them first by
+ extension suffix (i.e., ARB, ATI, NV, etc) and then by name. This
+ will organize them in the file more logically. When writing the
+ code, the sort function can check the last substring that's all caps,
+ and treat this as the extension owner. Be careful though, some end
+ in "3D" and that's not an extension.
diff --git a/doc/bouml/html-svg/classdiagrams.html b/doc/bouml/html-svg/classdiagrams.html
new file mode 100644
index 000000000..4f4efc693
--- /dev/null
+++ b/doc/bouml/html-svg/classdiagrams.html
@@ -0,0 +1,22 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>Class Diagram Index</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Class Diagram Index</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces</b></a></td><td></td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/classes.html b/doc/bouml/html-svg/classes.html
new file mode 100644
index 000000000..dd1a230ed
--- /dev/null
+++ b/doc/bouml/html-svg/classes.html
@@ -0,0 +1,44 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>Classes Index</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Classes Index</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131013" target = "projectFrame"><b>AbstractGraphicsConfiguration</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131269" target = "projectFrame"><b>Capabilities</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128069" target = "projectFrame"><b>GL</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128453" target = "projectFrame"><b>GL2</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128197" target = "projectFrame"><b>GL2ES1</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128386" target = "projectFrame"><b>GL2ES12</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128581" target = "projectFrame"><b>GL2ES2</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128709" target = "projectFrame"><b>GL2GL3</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128837" target = "projectFrame"><b>GL3</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128002" target = "projectFrame"><b>GL3bc</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128130" target = "projectFrame"><b>GL4</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128258" target = "projectFrame"><b>GL4bc</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130501" target = "projectFrame"><b>GL4bcImpl</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass132549" target = "projectFrame"><b>GLBase</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131141" target = "projectFrame"><b>GLCapabilities</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130117" target = "projectFrame"><b>GLContext</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130245" target = "projectFrame"><b>GLDrawable</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128325" target = "projectFrame"><b>GLES1</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130757" target = "projectFrame"><b>GLES1Impl</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128965" target = "projectFrame"><b>GLES2</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES2Impl</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131397" target = "projectFrame"><b>GLProfile</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130885" target = "projectFrame"><b>NativeWindow</b></a></td><td>interface</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/classes_list.html b/doc/bouml/html-svg/classes_list.html
new file mode 100644
index 000000000..69e77a5ad
--- /dev/null
+++ b/doc/bouml/html-svg/classes_list.html
@@ -0,0 +1,47 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>Classes</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Classes</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table border="0" width="100%">
+<tr>
+<td nowrap><a href="index.html#refclass131013" target = "projectFrame"><b>AbstractGraphicsConfiguration</b></a><br />
+<a href="index.html#refclass131269" target = "projectFrame"><b>Capabilities</b></a><br />
+<a href="index.html#refclass128069" target = "projectFrame"><b>GL</b></a><br />
+<a href="index.html#refclass128453" target = "projectFrame"><b>GL2</b></a><br />
+<a href="index.html#refclass128197" target = "projectFrame"><b>GL2ES1</b></a><br />
+<a href="index.html#refclass128386" target = "projectFrame"><b>GL2ES12</b></a><br />
+<a href="index.html#refclass128581" target = "projectFrame"><b>GL2ES2</b></a><br />
+<a href="index.html#refclass128709" target = "projectFrame"><b>GL2GL3</b></a><br />
+<a href="index.html#refclass128837" target = "projectFrame"><b>GL3</b></a><br />
+<a href="index.html#refclass128002" target = "projectFrame"><b>GL3bc</b></a><br />
+<a href="index.html#refclass128130" target = "projectFrame"><b>GL4</b></a><br />
+<a href="index.html#refclass128258" target = "projectFrame"><b>GL4bc</b></a><br />
+<a href="index.html#refclass130501" target = "projectFrame"><b>GL4bcImpl</b></a><br />
+<a href="index.html#refclass132549" target = "projectFrame"><b>GLBase</b></a><br />
+<a href="index.html#refclass131141" target = "projectFrame"><b>GLCapabilities</b></a><br />
+<a href="index.html#refclass130117" target = "projectFrame"><b>GLContext</b></a><br />
+<a href="index.html#refclass130245" target = "projectFrame"><b>GLDrawable</b></a><br />
+<a href="index.html#refclass128325" target = "projectFrame"><b>GLES1</b></a><br />
+<a href="index.html#refclass130757" target = "projectFrame"><b>GLES1Impl</b></a><br />
+<a href="index.html#refclass128965" target = "projectFrame"><b>GLES2</b></a><br />
+<a href="index.html#refclass130629" target = "projectFrame"><b>GLES2Impl</b></a><br />
+<a href="index.html#refclass131397" target = "projectFrame"><b>GLProfile</b></a><br />
+<a href="index.html#refclass130885" target = "projectFrame"><b>NativeWindow</b></a><br />
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/fig128069.svg b/doc/bouml/html-svg/fig128069.svg
new file mode 100644
index 000000000..77e4a0941
--- /dev/null
+++ b/doc/bouml/html-svg/fig128069.svg
@@ -0,0 +1,437 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Bouml (http://bouml.free.fr/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="1003" height="1180" version="1.1" xmlns="http://www.w3.org/2000/svg">
+<g>
+ <rect fill="#ededed" stroke="black" stroke-width="1" stroke-opacity="1" x="2" y="195" width="237" height="972" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="48" y="212">Fixed Function</text>
+ <line stroke="black" stroke-opacity="1" x1="2" y1="219" x2="93" y2="219" />
+ <line stroke="black" stroke-opacity="1" x1="93" y1="219" x2="105" y2="207" />
+ <line stroke="black" stroke-opacity="1" x1="105" y1="207" x2="105" y2="195" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="2" y1="393" x2="239" y2="393" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="2" y1="571" x2="239" y2="571" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="2" y1="306" x2="239" y2="306" />
+</g>
+<g>
+ <rect fill="#c0ffff" stroke="black" stroke-width="1" stroke-opacity="1" x="238" y="195" width="505" height="973" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="306" y="212">Programmable Shader</text>
+ <line stroke="black" stroke-opacity="1" x1="238" y1="219" x2="374" y2="219" />
+ <line stroke="black" stroke-opacity="1" x1="374" y1="219" x2="386" y2="207" />
+ <line stroke="black" stroke-opacity="1" x1="386" y1="207" x2="386" y2="195" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="238" y1="394" x2="743" y2="394" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="238" y1="571" x2="743" y2="571" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="238" y1="306" x2="743" y2="306" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="114" y1="225" x2="153" y2="178" />
+ <line stroke="black" stroke-opacity="1" x1="157" y1="174" x2="148" y2="174" />
+ <line stroke="black" stroke-opacity="1" x1="157" y1="174" x2="157" y2="182" />
+ <line stroke="black" stroke-opacity="1" x1="148" y1="174" x2="157" y2="182" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="284" y1="225" x2="230" y2="177" />
+ <line stroke="black" stroke-opacity="1" x1="226" y1="174" x2="226" y2="182" />
+ <line stroke="black" stroke-opacity="1" x1="226" y1="174" x2="234" y2="173" />
+ <line stroke="black" stroke-opacity="1" x1="226" y1="182" x2="234" y2="173" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="87" y1="400" x2="87" y2="294" />
+ <line stroke="black" stroke-opacity="1" x1="87" y1="288" x2="81" y2="294" />
+ <line stroke="black" stroke-opacity="1" x1="87" y1="288" x2="93" y2="294" />
+ <line stroke="black" stroke-opacity="1" x1="81" y1="294" x2="93" y2="294" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="322" y1="400" x2="322" y2="294" />
+ <line stroke="black" stroke-opacity="1" x1="322" y1="288" x2="316" y2="294" />
+ <line stroke="black" stroke-opacity="1" x1="322" y1="288" x2="328" y2="294" />
+ <line stroke="black" stroke-opacity="1" x1="316" y1="294" x2="328" y2="294" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="538" y1="683" x2="538" y2="384" />
+ <line stroke="black" stroke-opacity="1" x1="538" y1="378" x2="532" y2="384" />
+ <line stroke="black" stroke-opacity="1" x1="538" y1="378" x2="544" y2="384" />
+ <line stroke="black" stroke-opacity="1" x1="532" y1="384" x2="544" y2="384" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="273" y1="614" x2="500" y2="382" />
+ <line stroke="black" stroke-opacity="1" x1="505" y1="378" x2="496" y2="378" />
+ <line stroke="black" stroke-opacity="1" x1="505" y1="378" x2="505" y2="386" />
+ <line stroke="black" stroke-opacity="1" x1="496" y1="378" x2="505" y2="386" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="492" y1="326" x2="373" y2="277" />
+ <line stroke="black" stroke-opacity="1" x1="368" y1="275" x2="371" y2="282" />
+ <line stroke="black" stroke-opacity="1" x1="368" y1="275" x2="375" y2="271" />
+ <line stroke="black" stroke-opacity="1" x1="371" y1="282" x2="375" y2="271" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="231" y1="614" x2="101" y2="293" />
+ <line stroke="black" stroke-opacity="1" x1="99" y1="288" x2="95" y2="295" />
+ <line stroke="black" stroke-opacity="1" x1="99" y1="288" x2="106" y2="291" />
+ <line stroke="black" stroke-opacity="1" x1="95" y1="295" x2="106" y2="291" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="679" y1="115" x2="601" y2="62" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="86" y1="483" x2="86" y2="469" />
+ <line stroke="black" stroke-opacity="1" x1="86" y1="463" x2="80" y2="469" />
+ <line stroke="black" stroke-opacity="1" x1="86" y1="463" x2="92" y2="469" />
+ <line stroke="black" stroke-opacity="1" x1="80" y1="469" x2="92" y2="469" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="323" y1="490" x2="323" y2="469" />
+ <line stroke="black" stroke-opacity="1" x1="323" y1="463" x2="317" y2="469" />
+ <line stroke="black" stroke-opacity="1" x1="323" y1="463" x2="329" y2="469" />
+ <line stroke="black" stroke-opacity="1" x1="317" y1="469" x2="329" y2="469" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="408" y1="1047" x2="521" y2="751" />
+ <line stroke="black" stroke-opacity="1" x1="524" y1="746" x2="516" y2="749" />
+ <line stroke="black" stroke-opacity="1" x1="524" y1="746" x2="527" y2="753" />
+ <line stroke="black" stroke-opacity="1" x1="516" y1="749" x2="527" y2="753" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="848" y1="466" x2="848" y2="445" />
+ <line stroke="black" stroke-opacity="1" x1="848" y1="439" x2="842" y2="445" />
+ <line stroke="black" stroke-opacity="1" x1="848" y1="439" x2="854" y2="445" />
+ <line stroke="black" stroke-opacity="1" x1="842" y1="445" x2="854" y2="445" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="815" y1="344" x2="815" y2="398" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="850" y1="303" x2="850" y2="266" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="806" y1="203" x2="739" y2="156" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="848" y1="547" x2="848" y2="507" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="882" y1="398" x2="882" y2="344" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="848" y1="547" x2="848" y2="507" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="188" y1="111" x2="188" y2="80" />
+ <line stroke="black" stroke-opacity="1" x1="188" y1="74" x2="182" y2="80" />
+ <line stroke="black" stroke-opacity="1" x1="188" y1="74" x2="194" y2="80" />
+ <line stroke="black" stroke-opacity="1" x1="182" y1="80" x2="194" y2="80" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="235" y1="42" x2="533" y2="42" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="285" y="765" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="201" y="819" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="197" y="761" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="241" y="773">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="241" y="794">GL3bc</text>
+ <line stroke="black" stroke-opacity="1" x1="197" y1="803" x2="285" y2="803" />
+ <line stroke="black" stroke-opacity="1" x1="197" y1="811" x2="285" y2="811" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="130" y="230" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="46" y="284" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="42" y="226" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="86" y="238">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="86" y="259">GL2ES1</text>
+ <line stroke="black" stroke-opacity="1" x1="42" y1="268" x2="130" y2="268" />
+ <line stroke="black" stroke-opacity="1" x1="42" y1="276" x2="130" y2="276" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="230" y="116" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="146" y="170" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="142" y="112" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="186" y="124">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="186" y="145">GL</text>
+ <line stroke="black" stroke-opacity="1" x1="142" y1="154" x2="230" y2="154" />
+ <line stroke="black" stroke-opacity="1" x1="142" y1="162" x2="230" y2="162" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="129" y="405" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="45" y="459" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="41" y="401" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="85" y="413">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="85" y="434">GLES1</text>
+ <line stroke="black" stroke-opacity="1" x1="41" y1="443" x2="129" y2="443" />
+ <line stroke="black" stroke-opacity="1" x1="41" y1="451" x2="129" y2="451" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="287" y="619" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="203" y="673" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="199" y="615" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="243" y="627">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="243" y="648">GL2</text>
+ <line stroke="black" stroke-opacity="1" x1="199" y1="657" x2="287" y2="657" />
+ <line stroke="black" stroke-opacity="1" x1="199" y1="665" x2="287" y2="665" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="389" y1="1068" x2="409" y2="1068" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="399" cy="1058" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="399" y="1080">GL4bcImpl</text>
+ <line stroke="black" stroke-opacity="1" x1="361" y1="1089" x2="437" y2="1089" />
+ <line stroke="black" stroke-opacity="1" x1="361" y1="1097" x2="437" y2="1097" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="313" y1="511" x2="333" y2="511" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="323" cy="501" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="323" y="523">GLES2Impl</text>
+ <line stroke="black" stroke-opacity="1" x1="284" y1="532" x2="362" y2="532" />
+ <line stroke="black" stroke-opacity="1" x1="284" y1="540" x2="362" y2="540" />
+</g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="20" y="1090">Private implementation (detail)</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="606" y="261">Desktop/Mobile</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="606" y="279">Common Interfaces</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="896" y="208" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="804" y="262" width="95" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="800" y="204" width="96" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="848" y="216">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="848" y="237">NativeWindow</text>
+ <line stroke="black" stroke-opacity="1" x1="800" y1="246" x2="896" y2="246" />
+ <line stroke="black" stroke-opacity="1" x1="800" y1="254" x2="896" y2="254" />
+</g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="784" y="33">Lifecycle: From the lower right to</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="784" y="51">the top, left step where the</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="784" y="69">GLContext is created with a suitable</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="784" y="87">GL implementation matching the</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="784" y="105">GLProfile.</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="948" y="308" width="3" height="35" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="752" y="340" width="199" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="748" y="304" width="200" height="36" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="848" y="316">AbstractGraphicsConfiguration</text>
+ <line stroke="black" stroke-opacity="1" x1="748" y1="325" x2="948" y2="325" />
+ <line stroke="black" stroke-opacity="1" x1="748" y1="333" x2="948" y2="333" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="895" y="471" width="3" height="35" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="801" y="503" width="97" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="797" y="467" width="98" height="36" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="846" y="479">GLCapabilities</text>
+ <line stroke="black" stroke-opacity="1" x1="797" y1="488" x2="895" y2="488" />
+ <line stroke="black" stroke-opacity="1" x1="797" y1="496" x2="895" y2="496" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="880" y="552" width="3" height="35" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="818" y="584" width="65" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="814" y="548" width="66" height="36" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="847" y="560">GLProfile</text>
+ <line stroke="black" stroke-opacity="1" x1="814" y1="569" x2="880" y2="569" />
+ <line stroke="black" stroke-opacity="1" x1="814" y1="577" x2="880" y2="577" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="231" y="16" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="147" y="70" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="143" y="12" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="187" y="24">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="187" y="45">GLBase</text>
+ <line stroke="black" stroke-opacity="1" x1="143" y1="54" x2="231" y2="54" />
+ <line stroke="black" stroke-opacity="1" x1="143" y1="62" x2="231" y2="62" />
+</g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="273" y="152">Common GL Stuff</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="364" y="230" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="280" y="284" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="276" y="226" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="320" y="238">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="320" y="259">GL2ES2</text>
+ <line stroke="black" stroke-opacity="1" x1="276" y1="268" x2="364" y2="268" />
+ <line stroke="black" stroke-opacity="1" x1="276" y1="276" x2="364" y2="276" />
+</g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="605" y="653">Desktop final public</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="605" y="671">OpenGL Interfaces</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="580" y="688" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="496" y="742" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="492" y="684" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="536" y="696">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="536" y="717">GL3</text>
+ <line stroke="black" stroke-opacity="1" x1="492" y1="726" x2="580" y2="726" />
+ <line stroke="black" stroke-opacity="1" x1="492" y1="734" x2="580" y2="734" />
+</g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="607" y="444">Mobile final public</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="607" y="462">OpenGL Interfaces</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="365" y="405" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="281" y="459" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="277" y="401" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="321" y="413">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="321" y="434">GLES2</text>
+ <line stroke="black" stroke-opacity="1" x1="277" y1="443" x2="365" y2="443" />
+ <line stroke="black" stroke-opacity="1" x1="277" y1="451" x2="365" y2="451" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="606" y="26" width="3" height="35" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="538" y="58" width="71" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="534" y="22" width="72" height="36" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="570" y="34">GLContext</text>
+ <line stroke="black" stroke-opacity="1" x1="534" y1="43" x2="606" y2="43" />
+ <line stroke="black" stroke-opacity="1" x1="534" y1="51" x2="606" y2="51" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="748" y="120" width="3" height="35" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="670" y="152" width="81" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="666" y="116" width="82" height="36" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="707" y="128">GLDrawable</text>
+ <line stroke="black" stroke-opacity="1" x1="666" y1="137" x2="748" y2="137" />
+ <line stroke="black" stroke-opacity="1" x1="666" y1="145" x2="748" y2="145" />
+</g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="606" y="346">Common Desktop</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="606" y="364">Profile</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="579" y="848" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="495" y="902" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="491" y="844" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="535" y="856">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="535" y="877">GL4</text>
+ <line stroke="black" stroke-opacity="1" x1="491" y1="886" x2="579" y2="886" />
+ <line stroke="black" stroke-opacity="1" x1="491" y1="894" x2="579" y2="894" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="285" y="909" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="201" y="963" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="197" y="905" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="241" y="917">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="241" y="938">GL4bc</text>
+ <line stroke="black" stroke-opacity="1" x1="197" y1="947" x2="285" y2="947" />
+ <line stroke="black" stroke-opacity="1" x1="197" y1="955" x2="285" y2="955" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="206" y1="308" x2="226" y2="308" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="216" cy="298" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="216" y="320">GL2ES12</text>
+ <line stroke="black" stroke-opacity="1" x1="184" y1="329" x2="248" y2="329" />
+ <line stroke="black" stroke-opacity="1" x1="184" y1="337" x2="248" y2="337" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="289" y1="778" x2="485" y2="726" />
+ <line stroke="black" stroke-opacity="1" x1="491" y1="725" x2="483" y2="720" />
+ <line stroke="black" stroke-opacity="1" x1="491" y1="725" x2="486" y2="732" />
+ <line stroke="black" stroke-opacity="1" x1="483" y1="720" x2="486" y2="732" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="417" y1="1047" x2="510" y2="910" />
+ <line stroke="black" stroke-opacity="1" x1="514" y1="906" x2="505" y2="907" />
+ <line stroke="black" stroke-opacity="1" x1="514" y1="906" x2="515" y2="914" />
+ <line stroke="black" stroke-opacity="1" x1="505" y1="907" x2="515" y2="914" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="248" y1="296" x2="269" y2="283" />
+ <line stroke="black" stroke-opacity="1" x1="275" y1="280" x2="266" y2="277" />
+ <line stroke="black" stroke-opacity="1" x1="275" y1="280" x2="272" y2="288" />
+ <line stroke="black" stroke-opacity="1" x1="266" y1="277" x2="272" y2="288" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="388" y1="1047" x2="257" y2="682" />
+ <line stroke="black" stroke-opacity="1" x1="255" y1="677" x2="251" y2="684" />
+ <line stroke="black" stroke-opacity="1" x1="255" y1="677" x2="262" y2="680" />
+ <line stroke="black" stroke-opacity="1" x1="251" y1="684" x2="262" y2="680" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="243" y1="760" x2="243" y2="682" />
+ <line stroke="black" stroke-opacity="1" x1="244" y1="677" x2="237" y2="682" />
+ <line stroke="black" stroke-opacity="1" x1="244" y1="677" x2="249" y2="683" />
+ <line stroke="black" stroke-opacity="1" x1="237" y1="682" x2="249" y2="683" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="243" y1="904" x2="243" y2="829" />
+ <line stroke="black" stroke-opacity="1" x1="243" y1="823" x2="237" y2="829" />
+ <line stroke="black" stroke-opacity="1" x1="243" y1="823" x2="249" y2="829" />
+ <line stroke="black" stroke-opacity="1" x1="237" y1="829" x2="249" y2="829" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="183" y1="300" x2="139" y2="279" />
+ <line stroke="black" stroke-opacity="1" x1="134" y1="277" x2="136" y2="284" />
+ <line stroke="black" stroke-opacity="1" x1="134" y1="277" x2="141" y2="274" />
+ <line stroke="black" stroke-opacity="1" x1="136" y1="284" x2="141" y2="274" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="537" y1="843" x2="537" y2="752" />
+ <line stroke="black" stroke-opacity="1" x1="537" y1="746" x2="531" y2="752" />
+ <line stroke="black" stroke-opacity="1" x1="537" y1="746" x2="543" y2="752" />
+ <line stroke="black" stroke-opacity="1" x1="531" y1="752" x2="543" y2="752" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="289" y1="925" x2="484" y2="884" />
+ <line stroke="black" stroke-opacity="1" x1="490" y1="883" x2="482" y2="878" />
+ <line stroke="black" stroke-opacity="1" x1="490" y1="883" x2="485" y2="890" />
+ <line stroke="black" stroke-opacity="1" x1="482" y1="878" x2="485" y2="890" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="366" y1="1047" x2="281" y2="971" />
+ <line stroke="black" stroke-opacity="1" x1="277" y1="967" x2="277" y2="975" />
+ <line stroke="black" stroke-opacity="1" x1="277" y1="967" x2="285" y2="966" />
+ <line stroke="black" stroke-opacity="1" x1="277" y1="975" x2="285" y2="966" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="383" y1="1047" x2="262" y2="828" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="823" x2="257" y2="831" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="823" x2="268" y2="825" />
+ <line stroke="black" stroke-opacity="1" x1="257" y1="831" x2="268" y2="825" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="76" y1="504" x2="96" y2="504" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="86" cy="494" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="86" y="516">GLES1Impl</text>
+ <line stroke="black" stroke-opacity="1" x1="47" y1="525" x2="125" y2="525" />
+ <line stroke="black" stroke-opacity="1" x1="47" y1="533" x2="125" y2="533" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="887" y="403" width="3" height="35" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="811" y="435" width="79" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="807" y="399" width="80" height="36" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="847" y="411">Capabilities</text>
+ <line stroke="black" stroke-opacity="1" x1="807" y1="420" x2="887" y2="420" />
+ <line stroke="black" stroke-opacity="1" x1="807" y1="428" x2="887" y2="428" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="581" y="320" width="3" height="57" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="497" y="374" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="493" y="316" width="88" height="58" />
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" text-anchor="middle" x="537" y="328">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="537" y="349">GL2GL3</text>
+ <line stroke="black" stroke-opacity="1" x1="493" y1="358" x2="581" y2="358" />
+ <line stroke="black" stroke-opacity="1" x1="493" y1="366" x2="581" y2="366" />
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="585" y="76">0..1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="652" y="116">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="825" y="386">chosen</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="798" y="386">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="892" y="386">requested</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="865" y="386">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="516" y="60">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="10" fill="#000000" xml:space="preserve" x="247" y="60">1</text>
+</g>
+</svg>
diff --git a/doc/bouml/html-svg/index-withframe.html b/doc/bouml/html-svg/index-withframe.html
new file mode 100644
index 000000000..96f19466e
--- /dev/null
+++ b/doc/bouml/html-svg/index-withframe.html
@@ -0,0 +1,19 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>/usr/local/projects/JOGL/jogl/doc/bouml/svg-flat/index-withframe</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+<FRAMESET cols="20%,80%">
+ <FRAME src="classes_list.html" name="classesListFrame">
+ <FRAMESET rows="150,*">
+ <FRAME src="navig.html" name="navigFrame">
+ <FRAME src="index.html" name="projectFrame">
+ </FRAMESET>
+</FRAMESET>
+<NOFRAMES>
+<H2>Frame Alert</H2><P>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.<BR>Link to <A HREF="index.html">Non-frame version.</A></NOFRAMES></body>
+</html>
diff --git a/doc/bouml/html-svg/index.html b/doc/bouml/html-svg/index.html
new file mode 100644
index 000000000..c25ed5182
--- /dev/null
+++ b/doc/bouml/html-svg/index.html
@@ -0,0 +1,238 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>jogl
+Documentation</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">jogl<br />Documentation</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<a name="refpackage129"></a>
+<p>Properties:<ul>
+<li>html dir:<br /><div class="sub">/usr/local/projects/JOGL/jogl/doc/bouml/svg-flat/</div></p></li>
+</ul></p>
+<a name="refclass view128069"></a>
+<h1 class ="view">1 Class View javax.media.opengl</h1>
+<div class="sub">
+<a name="refclass diagram128069"></a>
+<p align="center"><embed src="fig128069.svg" width="1003" height="1180"/></p>
+ <p align="center"><b>OpenGL Interfaces</b></p><p><br /></p><p><br /></p>
+<a name="refclass128069"></a>
+<h2 class ="class">1.1 Class GL</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL extends <a href="index.html#refclass132549"><b>GLBase</b></a> </li><li>Php : public interface GL </li></ul><p>Directly inherited by : <a href="index.html#refclass128197"><b>GL2ES1</b></a> <a href="index.html#refclass128581"><b>GL2ES2</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128197"></a>
+<h2 class ="class">1.2 Class GL2ES1</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2ES1 extends <a href="index.html#refclass128069"><b>GL</b></a> </li><li>Php : public interface GL2ES1 </li></ul><p>Directly inherited by : <a href="index.html#refclass128453"><b>GL2</b></a> <a href="index.html#refclass128386"><b>GL2ES12</b></a> <a href="index.html#refclass128325"><b>GLES1</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128325"></a>
+<h2 class ="class">1.3 Class GLES1</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GLES1 extends <a href="index.html#refclass128197"><b>GL2ES1</b></a> </li><li>Php : public interface GLES1 </li></ul><p>Directly inherited by : <a href="index.html#refclass130757"><b>GLES1Impl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128453"></a>
+<h2 class ="class">1.4 Class GL2</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2 extends <a href="index.html#refclass128709"><b>GL2GL3</b></a> </li><li>Php : public interface GL2 </li></ul><p>Directly inherited by : <a href="index.html#refclass128002"><b>GL3bc</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128581"></a>
+<h2 class ="class">1.5 Class GL2ES2</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2ES2 extends <a href="index.html#refclass128069"><b>GL</b></a> </li><li>Php : public interface GL2ES2 </li></ul><p>Directly inherited by : <a href="index.html#refclass128386"><b>GL2ES12</b></a> <a href="index.html#refclass128709"><b>GL2GL3</b></a> <a href="index.html#refclass128965"><b>GLES2</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128709"></a>
+<h2 class ="class">1.6 Class GL2GL3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2GL3 extends <a href="index.html#refclass128581"><b>GL2ES2</b></a> </li><li>Php : public interface GL2GL3 </li></ul><p>Directly inherited by : <a href="index.html#refclass128453"><b>GL2</b></a> <a href="index.html#refclass128837"><b>GL3</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128837"></a>
+<h2 class ="class">1.7 Class GL3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL3 extends <a href="index.html#refclass128709"><b>GL2GL3</b></a> </li><li>Php : public interface GL3 </li></ul><p>Directly inherited by : <a href="index.html#refclass128002"><b>GL3bc</b></a> <a href="index.html#refclass128130"><b>GL4</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128965"></a>
+<h2 class ="class">1.8 Class GLES2</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GLES2 extends <a href="index.html#refclass128581"><b>GL2ES2</b></a> </li><li>Php : public interface GLES2 </li></ul><p>Directly inherited by : <a href="index.html#refclass130629"><b>GLES2Impl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130117"></a>
+<h2 class ="class">1.9 Class GLContext</h2>
+<p>Declaration :</p><ul>
+<li>Java : package abstract class GLContext </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation130757"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130245"><b>GLDrawable</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass130245"><b>GLDrawable</b></a> </li></ul><a name="refrelation134341"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass132549"><b>GLBase</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass132549"><b>GLBase</b></a> </li></ul></div>
+</div>
+<a name="refclass130245"></a>
+<h2 class ="class">1.10 Class GLDrawable</h2>
+<p>Declaration :</p><ul>
+<li>Java : package abstract class GLDrawable </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation130629"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130117"><b>GLContext</b></a>, multiplicity : 0..1</li><li>Java : private <a href="index.html#refclass130117"><b>GLContext</b></a> </li></ul><a name="refrelation132421"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130885"><b>NativeWindow</b></a></li><li>Java : private <a href="index.html#refclass130885"><b>NativeWindow</b></a> </li></ul></div>
+</div>
+<a name="refclass130501"></a>
+<h2 class ="class">1.11 Class GL4bcImpl</h2>
+<p>Declaration :</p><ul>
+<li>Java : private class GL4bcImpl implements <a href="index.html#refclass128837"><b>GL3</b></a>, <a href="index.html#refclass128002"><b>GL3bc</b></a>, <a href="index.html#refclass128258"><b>GL4bc</b></a>, <a href="index.html#refclass128453"><b>GL2</b></a>, <a href="index.html#refclass128130"><b>GL4</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130629"></a>
+<h2 class ="class">1.12 Class GLES2Impl</h2>
+<p>Declaration :</p><ul>
+<li>Java : private class GLES2Impl implements <a href="index.html#refclass128965"><b>GLES2</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130757"></a>
+<h2 class ="class">1.13 Class GLES1Impl</h2>
+<p>Declaration :</p><ul>
+<li>Java : private class GLES1Impl implements <a href="index.html#refclass128325"><b>GLES1</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130885"></a>
+<h2 class ="class">1.14 Class NativeWindow</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface NativeWindow </li><li>Php : interface NativeWindow </li></ul><p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+<a name="refrelation132165"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a></li><li>Java : private <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a> </li></ul><a name="refrelation132293"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130245"><b>GLDrawable</b></a></li><li>Java : private <a href="index.html#refclass130245"><b>GLDrawable</b></a> </li></ul></div>
+</div>
+<a name="refclass131013"></a>
+<h2 class ="class">1.15 Class AbstractGraphicsConfiguration</h2>
+<p>Declaration :</p><ul>
+<li>Java : package abstract class AbstractGraphicsConfiguration </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation131525"></a>
+<table><tr><td><div class="element">Relation <b>chosen (&lt;association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - chosen : <a href="index.html#refclass131269"><b>Capabilities</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass131269"><b>Capabilities</b></a> chosen</li></ul><a name="refrelation131909"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - requested : <a href="index.html#refclass131269"><b>Capabilities</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass131269"><b>Capabilities</b></a> requested</li></ul><a name="refrelation132037"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130885"><b>NativeWindow</b></a></li><li>Java : private <a href="index.html#refclass130885"><b>NativeWindow</b></a> </li></ul></div>
+</div>
+<a name="refclass131141"></a>
+<h2 class ="class">1.16 Class GLCapabilities</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class GLCapabilities extends <a href="index.html#refclass131269"><b>Capabilities</b></a> </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation132677"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131397"><b>GLProfile</b></a></li><li>Java : private <a href="index.html#refclass131397"><b>GLProfile</b></a> </li></ul><a name="refrelation132933"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131397"><b>GLProfile</b></a></li><li>Java : private <a href="index.html#refclass131397"><b>GLProfile</b></a> </li></ul></div>
+</div>
+<a name="refclass131269"></a>
+<h2 class ="class">1.17 Class Capabilities</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class Capabilities </li></ul><p>Directly inherited by : <a href="index.html#refclass131141"><b>GLCapabilities</b></a> </p>
+<div class="sub">
+<div class="sub">
+<a name="refrelation131653"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a></li><li>Java : private <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a> </li></ul><a name="refrelation131781"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a></li><li>Java : private <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a> </li></ul></div>
+</div>
+<a name="refclass131397"></a>
+<h2 class ="class">1.18 Class GLProfile</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class GLProfile </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation132549"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131141"><b>GLCapabilities</b></a></li><li>Java : private <a href="index.html#refclass131141"><b>GLCapabilities</b></a> </li></ul><a name="refrelation132805"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131141"><b>GLCapabilities</b></a></li><li>Java : private <a href="index.html#refclass131141"><b>GLCapabilities</b></a> </li></ul></div>
+</div>
+<a name="refclass132549"></a>
+<h2 class ="class">1.19 Class GLBase</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GLBase </li><li>Php : public interface GLBase </li></ul><p>Directly inherited by : <a href="index.html#refclass128069"><b>GL</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+<a name="refrelation134213"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130117"><b>GLContext</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass130117"><b>GLContext</b></a> </li></ul></div>
+</div>
+<a name="refclass128002"></a>
+<h2 class ="class">1.20 Class GL3bc</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface GL3bc extends <a href="index.html#refclass128453"><b>GL2</b></a> </li><li>Php : interface GL3bc </li></ul><p>Directly inherited by : <a href="index.html#refclass128258"><b>GL4bc</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128130"></a>
+<h2 class ="class">1.21 Class GL4</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface GL4 extends <a href="index.html#refclass128837"><b>GL3</b></a> </li><li>Php : interface GL4 </li></ul><p>Directly inherited by : <a href="index.html#refclass128258"><b>GL4bc</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128258"></a>
+<h2 class ="class">1.22 Class GL4bc</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface GL4bc extends <a href="index.html#refclass128002"><b>GL3bc</b></a> </li><li>Php : interface GL4bc </li></ul><p>Directly inherited by : <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128386"></a>
+<h2 class ="class">1.23 Class GL2ES12</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class GL2ES12 implements <a href="index.html#refclass128197"><b>GL2ES1</b></a>, <a href="index.html#refclass128581"><b>GL2ES2</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/index_65.html b/doc/bouml/html-svg/index_65.html
new file mode 100644
index 000000000..9a6dedcaa
--- /dev/null
+++ b/doc/bouml/html-svg/index_65.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>A</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">A</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131013" target = "projectFrame"><b>AbstractGraphicsConfiguration</b></a></td><td>class</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/index_67.html b/doc/bouml/html-svg/index_67.html
new file mode 100644
index 000000000..630cc4999
--- /dev/null
+++ b/doc/bouml/html-svg/index_67.html
@@ -0,0 +1,24 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>C</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">C</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131269" target = "projectFrame"><b>Capabilities</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation131525" target = "projectFrame"><b>chosen</b></a></td><td>relation</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/index_71.html b/doc/bouml/html-svg/index_71.html
new file mode 100644
index 000000000..f09f91321
--- /dev/null
+++ b/doc/bouml/html-svg/index_71.html
@@ -0,0 +1,42 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>G</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">G</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128069" target = "projectFrame"><b>GL</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128453" target = "projectFrame"><b>GL2</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128197" target = "projectFrame"><b>GL2ES1</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128386" target = "projectFrame"><b>GL2ES12</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128581" target = "projectFrame"><b>GL2ES2</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128709" target = "projectFrame"><b>GL2GL3</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128837" target = "projectFrame"><b>GL3</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128002" target = "projectFrame"><b>GL3bc</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128130" target = "projectFrame"><b>GL4</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128258" target = "projectFrame"><b>GL4bc</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130501" target = "projectFrame"><b>GL4bcImpl</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass132549" target = "projectFrame"><b>GLBase</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131141" target = "projectFrame"><b>GLCapabilities</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130117" target = "projectFrame"><b>GLContext</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130245" target = "projectFrame"><b>GLDrawable</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128325" target = "projectFrame"><b>GLES1</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130757" target = "projectFrame"><b>GLES1Impl</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128965" target = "projectFrame"><b>GLES2</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES2Impl</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131397" target = "projectFrame"><b>GLProfile</b></a></td><td>class</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/index_74.html b/doc/bouml/html-svg/index_74.html
new file mode 100644
index 000000000..14ff3bec2
--- /dev/null
+++ b/doc/bouml/html-svg/index_74.html
@@ -0,0 +1,24 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>J</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">J</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128069" target = "projectFrame"><b>javax.media.opengl</b></a></td><td>class view</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129" target = "projectFrame"><b>jogl</b></a></td><td>package</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/index_78.html b/doc/bouml/html-svg/index_78.html
new file mode 100644
index 000000000..3273a2e71
--- /dev/null
+++ b/doc/bouml/html-svg/index_78.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>N</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">N</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130885" target = "projectFrame"><b>NativeWindow</b></a></td><td>class</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/index_79.html b/doc/bouml/html-svg/index_79.html
new file mode 100644
index 000000000..7474a3309
--- /dev/null
+++ b/doc/bouml/html-svg/index_79.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>O</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">O</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces</b></a></td><td>class diagram</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/index_82.html b/doc/bouml/html-svg/index_82.html
new file mode 100644
index 000000000..c5dcd1dcd
--- /dev/null
+++ b/doc/bouml/html-svg/index_82.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>R</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">R</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation131909" target = "projectFrame"><b>requested</b></a></td><td>relation</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/navig.html b/doc/bouml/html-svg/navig.html
new file mode 100644
index 000000000..66b446d18
--- /dev/null
+++ b/doc/bouml/html-svg/navig.html
@@ -0,0 +1,17 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>/usr/local/projects/JOGL/jogl/doc/bouml/svg-flat/navig</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+<body bgcolor="#ffffff">
+<p><hr noshade></p>
+<p><a href="index.html" target = "projectFrame"><b> -Top- </b></a><a href="classes.html" target = "projectFrame"><b> -Classes- </b></a><a href="packages.html" target = "projectFrame"><b> -Packages- </b></a><a href="classdiagrams.html" target = "projectFrame"><b> -Class Diagrams- </b></a></p>
+<p>
+</p>
+<p><a href="index_65.html" target = "projectFrame"><b> A </b></a><a href="index_67.html" target = "projectFrame"><b> C </b></a><a href="index_71.html" target = "projectFrame"><b> G </b></a><a href="index_74.html" target = "projectFrame"><b> J </b></a><a href="index_78.html" target = "projectFrame"><b> N </b></a><a href="index_79.html" target = "projectFrame"><b> O </b></a><a href="index_82.html" target = "projectFrame"><b> R </b></a></p>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/packages.html b/doc/bouml/html-svg/packages.html
new file mode 100644
index 000000000..61017a207
--- /dev/null
+++ b/doc/bouml/html-svg/packages.html
@@ -0,0 +1,22 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
+
+<head>
+<title>Packages Index</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Packages Index</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129" target = "projectFrame"><b>jogl</b></a></td><td></td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html-svg/style.css b/doc/bouml/html-svg/style.css
new file mode 100644
index 000000000..3a10a8149
--- /dev/null
+++ b/doc/bouml/html-svg/style.css
@@ -0,0 +1,30 @@
+div.title { font-size: 150%; background: #87ceff; text-align: center; font-weight: bold; }
+
+div.sub { margin-left : 20px; }
+div.element { background: #d3d3d3; }
+
+h1.package { background: #ffe4c4; }
+h1.view { background: #98fb98; }
+
+h2.package { background: #ffe4c4; }
+h2.view { background: #98fb98; }
+h2.class { background: #87ceff; }
+h2.usecase { background: #87ceff; }
+h2.state { background: #87ceff; }
+h2.activity { background: #87ceff; }
+
+h3.package { background: #ffe4c4; }
+h3.view { background: #98fb98; }
+h3.class { background: #87ceff; }
+h3.usecase { background: #87ceff; }
+h3.state { background: #87ceff; }
+h3.stateregion { background: #87ceff; }
+h3.activity { background: #87ceff; }
+
+h4.package { background: #ffe4c4; }
+h4.view { background: #98fb98; }
+h4.class { background: #87ceff; }
+h4.usecase { background: #87ceff; }
+h4.state { background: #87ceff; }
+h4.stateregion { background: #87ceff; }
+h4.activity { background: #87ceff; }
diff --git a/doc/bouml/html/classdiagrams.html b/doc/bouml/html/classdiagrams.html
new file mode 100644
index 000000000..0763bd4c6
--- /dev/null
+++ b/doc/bouml/html/classdiagrams.html
@@ -0,0 +1,22 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>Class Diagram Index</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Class Diagram Index</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces</b></a></td><td></td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/classes.html b/doc/bouml/html/classes.html
new file mode 100644
index 000000000..c0eff2e35
--- /dev/null
+++ b/doc/bouml/html/classes.html
@@ -0,0 +1,44 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>Classes Index</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Classes Index</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131013" target = "projectFrame"><b>AbstractGraphicsConfiguration</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131269" target = "projectFrame"><b>Capabilities</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128069" target = "projectFrame"><b>GL</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128453" target = "projectFrame"><b>GL2</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128197" target = "projectFrame"><b>GL2ES1</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128386" target = "projectFrame"><b>GL2ES12</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128581" target = "projectFrame"><b>GL2ES2</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128709" target = "projectFrame"><b>GL2GL3</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128837" target = "projectFrame"><b>GL3</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128002" target = "projectFrame"><b>GL3bc</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128130" target = "projectFrame"><b>GL4</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128258" target = "projectFrame"><b>GL4bc</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130501" target = "projectFrame"><b>GL4bcImpl</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass132549" target = "projectFrame"><b>GLBase</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131141" target = "projectFrame"><b>GLCapabilities</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130117" target = "projectFrame"><b>GLContext</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130245" target = "projectFrame"><b>GLDrawable</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128325" target = "projectFrame"><b>GLES1</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130757" target = "projectFrame"><b>GLES1Impl</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128965" target = "projectFrame"><b>GLES2</b></a></td><td>interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES2Impl</b></a></td><td>entity</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131397" target = "projectFrame"><b>GLProfile</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130885" target = "projectFrame"><b>NativeWindow</b></a></td><td>interface</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/classes_list.html b/doc/bouml/html/classes_list.html
new file mode 100644
index 000000000..717f1b1c0
--- /dev/null
+++ b/doc/bouml/html/classes_list.html
@@ -0,0 +1,47 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>Classes</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Classes</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table border="0" width="100%">
+<tr>
+<td nowrap><a href="index.html#refclass131013" target = "projectFrame"><b>AbstractGraphicsConfiguration</b></a><br />
+<a href="index.html#refclass131269" target = "projectFrame"><b>Capabilities</b></a><br />
+<a href="index.html#refclass128069" target = "projectFrame"><b>GL</b></a><br />
+<a href="index.html#refclass128453" target = "projectFrame"><b>GL2</b></a><br />
+<a href="index.html#refclass128197" target = "projectFrame"><b>GL2ES1</b></a><br />
+<a href="index.html#refclass128386" target = "projectFrame"><b>GL2ES12</b></a><br />
+<a href="index.html#refclass128581" target = "projectFrame"><b>GL2ES2</b></a><br />
+<a href="index.html#refclass128709" target = "projectFrame"><b>GL2GL3</b></a><br />
+<a href="index.html#refclass128837" target = "projectFrame"><b>GL3</b></a><br />
+<a href="index.html#refclass128002" target = "projectFrame"><b>GL3bc</b></a><br />
+<a href="index.html#refclass128130" target = "projectFrame"><b>GL4</b></a><br />
+<a href="index.html#refclass128258" target = "projectFrame"><b>GL4bc</b></a><br />
+<a href="index.html#refclass130501" target = "projectFrame"><b>GL4bcImpl</b></a><br />
+<a href="index.html#refclass132549" target = "projectFrame"><b>GLBase</b></a><br />
+<a href="index.html#refclass131141" target = "projectFrame"><b>GLCapabilities</b></a><br />
+<a href="index.html#refclass130117" target = "projectFrame"><b>GLContext</b></a><br />
+<a href="index.html#refclass130245" target = "projectFrame"><b>GLDrawable</b></a><br />
+<a href="index.html#refclass128325" target = "projectFrame"><b>GLES1</b></a><br />
+<a href="index.html#refclass130757" target = "projectFrame"><b>GLES1Impl</b></a><br />
+<a href="index.html#refclass128965" target = "projectFrame"><b>GLES2</b></a><br />
+<a href="index.html#refclass130629" target = "projectFrame"><b>GLES2Impl</b></a><br />
+<a href="index.html#refclass131397" target = "projectFrame"><b>GLProfile</b></a><br />
+<a href="index.html#refclass130885" target = "projectFrame"><b>NativeWindow</b></a><br />
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/fig128069.png b/doc/bouml/html/fig128069.png
new file mode 100644
index 000000000..8acf16a2c
--- /dev/null
+++ b/doc/bouml/html/fig128069.png
Binary files differ
diff --git a/doc/bouml/html/index-withframe.html b/doc/bouml/html/index-withframe.html
new file mode 100644
index 000000000..2410daaaf
--- /dev/null
+++ b/doc/bouml/html/index-withframe.html
@@ -0,0 +1,19 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>/usr/local/projects/JOGL/jogl/doc/bouml/html/index-withframe</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+<FRAMESET cols="20%,80%">
+ <FRAME src="classes_list.html" name="classesListFrame">
+ <FRAMESET rows="150,*">
+ <FRAME src="navig.html" name="navigFrame">
+ <FRAME src="index.html" name="projectFrame">
+ </FRAMESET>
+</FRAMESET>
+<NOFRAMES>
+<H2>Frame Alert</H2><P>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.<BR>Link to <A HREF="index.html">Non-frame version.</A></NOFRAMES></body>
+</html>
diff --git a/doc/bouml/html/index.html b/doc/bouml/html/index.html
new file mode 100644
index 000000000..952c4518b
--- /dev/null
+++ b/doc/bouml/html/index.html
@@ -0,0 +1,238 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>jogl
+Documentation</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">jogl<br />Documentation</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<a name="refpackage129"></a>
+<p>Properties:<ul>
+<li>html dir:<br /><div class="sub">/usr/local/projects/JOGL/jogl/doc/bouml/html/</div></p></li>
+</ul></p>
+<a name="refclass view128069"></a>
+<h1 class ="view">1 Class View javax.media.opengl</h1>
+<div class="sub">
+<a name="refclass diagram128069"></a>
+<p align="center"><img src="fig128069.png" alt="" /></p>
+ <p align="center"><b>OpenGL Interfaces</b></p><p><br /></p><p><br /></p>
+<a name="refclass128069"></a>
+<h2 class ="class">1.1 Class GL</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL extends <a href="index.html#refclass132549"><b>GLBase</b></a> </li><li>Php : public interface GL </li></ul><p>Directly inherited by : <a href="index.html#refclass128197"><b>GL2ES1</b></a> <a href="index.html#refclass128581"><b>GL2ES2</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128197"></a>
+<h2 class ="class">1.2 Class GL2ES1</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2ES1 extends <a href="index.html#refclass128069"><b>GL</b></a> </li><li>Php : public interface GL2ES1 </li></ul><p>Directly inherited by : <a href="index.html#refclass128453"><b>GL2</b></a> <a href="index.html#refclass128386"><b>GL2ES12</b></a> <a href="index.html#refclass128325"><b>GLES1</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128325"></a>
+<h2 class ="class">1.3 Class GLES1</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GLES1 extends <a href="index.html#refclass128197"><b>GL2ES1</b></a> </li><li>Php : public interface GLES1 </li></ul><p>Directly inherited by : <a href="index.html#refclass130757"><b>GLES1Impl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128453"></a>
+<h2 class ="class">1.4 Class GL2</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2 extends <a href="index.html#refclass128709"><b>GL2GL3</b></a> </li><li>Php : public interface GL2 </li></ul><p>Directly inherited by : <a href="index.html#refclass128002"><b>GL3bc</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128581"></a>
+<h2 class ="class">1.5 Class GL2ES2</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2ES2 extends <a href="index.html#refclass128069"><b>GL</b></a> </li><li>Php : public interface GL2ES2 </li></ul><p>Directly inherited by : <a href="index.html#refclass128386"><b>GL2ES12</b></a> <a href="index.html#refclass128709"><b>GL2GL3</b></a> <a href="index.html#refclass128965"><b>GLES2</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128709"></a>
+<h2 class ="class">1.6 Class GL2GL3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL2GL3 extends <a href="index.html#refclass128581"><b>GL2ES2</b></a> </li><li>Php : public interface GL2GL3 </li></ul><p>Directly inherited by : <a href="index.html#refclass128453"><b>GL2</b></a> <a href="index.html#refclass128837"><b>GL3</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128837"></a>
+<h2 class ="class">1.7 Class GL3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GL3 extends <a href="index.html#refclass128709"><b>GL2GL3</b></a> </li><li>Php : public interface GL3 </li></ul><p>Directly inherited by : <a href="index.html#refclass128002"><b>GL3bc</b></a> <a href="index.html#refclass128130"><b>GL4</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128965"></a>
+<h2 class ="class">1.8 Class GLES2</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GLES2 extends <a href="index.html#refclass128581"><b>GL2ES2</b></a> </li><li>Php : public interface GLES2 </li></ul><p>Directly inherited by : <a href="index.html#refclass130629"><b>GLES2Impl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130117"></a>
+<h2 class ="class">1.9 Class GLContext</h2>
+<p>Declaration :</p><ul>
+<li>Java : package abstract class GLContext </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation130757"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130245"><b>GLDrawable</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass130245"><b>GLDrawable</b></a> </li></ul><a name="refrelation134341"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass132549"><b>GLBase</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass132549"><b>GLBase</b></a> </li></ul></div>
+</div>
+<a name="refclass130245"></a>
+<h2 class ="class">1.10 Class GLDrawable</h2>
+<p>Declaration :</p><ul>
+<li>Java : package abstract class GLDrawable </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation130629"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130117"><b>GLContext</b></a>, multiplicity : 0..1</li><li>Java : private <a href="index.html#refclass130117"><b>GLContext</b></a> </li></ul><a name="refrelation132421"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130885"><b>NativeWindow</b></a></li><li>Java : private <a href="index.html#refclass130885"><b>NativeWindow</b></a> </li></ul></div>
+</div>
+<a name="refclass130501"></a>
+<h2 class ="class">1.11 Class GL4bcImpl</h2>
+<p>Declaration :</p><ul>
+<li>Java : private class GL4bcImpl implements <a href="index.html#refclass128837"><b>GL3</b></a>, <a href="index.html#refclass128002"><b>GL3bc</b></a>, <a href="index.html#refclass128258"><b>GL4bc</b></a>, <a href="index.html#refclass128453"><b>GL2</b></a>, <a href="index.html#refclass128130"><b>GL4</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130629"></a>
+<h2 class ="class">1.12 Class GLES2Impl</h2>
+<p>Declaration :</p><ul>
+<li>Java : private class GLES2Impl implements <a href="index.html#refclass128965"><b>GLES2</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130757"></a>
+<h2 class ="class">1.13 Class GLES1Impl</h2>
+<p>Declaration :</p><ul>
+<li>Java : private class GLES1Impl implements <a href="index.html#refclass128325"><b>GLES1</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass130885"></a>
+<h2 class ="class">1.14 Class NativeWindow</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface NativeWindow </li><li>Php : interface NativeWindow </li></ul><p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+<a name="refrelation132165"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a></li><li>Java : private <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a> </li></ul><a name="refrelation132293"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130245"><b>GLDrawable</b></a></li><li>Java : private <a href="index.html#refclass130245"><b>GLDrawable</b></a> </li></ul></div>
+</div>
+<a name="refclass131013"></a>
+<h2 class ="class">1.15 Class AbstractGraphicsConfiguration</h2>
+<p>Declaration :</p><ul>
+<li>Java : package abstract class AbstractGraphicsConfiguration </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation131525"></a>
+<table><tr><td><div class="element">Relation <b>chosen (&lt;association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - chosen : <a href="index.html#refclass131269"><b>Capabilities</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass131269"><b>Capabilities</b></a> chosen</li></ul><a name="refrelation131909"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - requested : <a href="index.html#refclass131269"><b>Capabilities</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass131269"><b>Capabilities</b></a> requested</li></ul><a name="refrelation132037"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130885"><b>NativeWindow</b></a></li><li>Java : private <a href="index.html#refclass130885"><b>NativeWindow</b></a> </li></ul></div>
+</div>
+<a name="refclass131141"></a>
+<h2 class ="class">1.16 Class GLCapabilities</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class GLCapabilities extends <a href="index.html#refclass131269"><b>Capabilities</b></a> </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation132677"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131397"><b>GLProfile</b></a></li><li>Java : private <a href="index.html#refclass131397"><b>GLProfile</b></a> </li></ul><a name="refrelation132933"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131397"><b>GLProfile</b></a></li><li>Java : private <a href="index.html#refclass131397"><b>GLProfile</b></a> </li></ul></div>
+</div>
+<a name="refclass131269"></a>
+<h2 class ="class">1.17 Class Capabilities</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class Capabilities </li></ul><p>Directly inherited by : <a href="index.html#refclass131141"><b>GLCapabilities</b></a> </p>
+<div class="sub">
+<div class="sub">
+<a name="refrelation131653"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a></li><li>Java : private <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a> </li></ul><a name="refrelation131781"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a></li><li>Java : private <a href="index.html#refclass131013"><b>AbstractGraphicsConfiguration</b></a> </li></ul></div>
+</div>
+<a name="refclass131397"></a>
+<h2 class ="class">1.18 Class GLProfile</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class GLProfile </li></ul><div class="sub">
+<div class="sub">
+<a name="refrelation132549"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131141"><b>GLCapabilities</b></a></li><li>Java : private <a href="index.html#refclass131141"><b>GLCapabilities</b></a> </li></ul><a name="refrelation132805"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass131141"><b>GLCapabilities</b></a></li><li>Java : private <a href="index.html#refclass131141"><b>GLCapabilities</b></a> </li></ul></div>
+</div>
+<a name="refclass132549"></a>
+<h2 class ="class">1.19 Class GLBase</h2>
+<p>Declaration :</p><ul>
+<li>Java : public interface GLBase </li><li>Php : public interface GLBase </li></ul><p>Directly inherited by : <a href="index.html#refclass128069"><b>GL</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+<a name="refrelation134213"></a>
+<table><tr><td><div class="element">Relation <b>&lt;association&gt;</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : - : <a href="index.html#refclass130117"><b>GLContext</b></a>, multiplicity : 1</li><li>Java : private <a href="index.html#refclass130117"><b>GLContext</b></a> </li></ul></div>
+</div>
+<a name="refclass128002"></a>
+<h2 class ="class">1.20 Class GL3bc</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface GL3bc extends <a href="index.html#refclass128453"><b>GL2</b></a> </li><li>Php : interface GL3bc </li></ul><p>Directly inherited by : <a href="index.html#refclass128258"><b>GL4bc</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128130"></a>
+<h2 class ="class">1.21 Class GL4</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface GL4 extends <a href="index.html#refclass128837"><b>GL3</b></a> </li><li>Php : interface GL4 </li></ul><p>Directly inherited by : <a href="index.html#refclass128258"><b>GL4bc</b></a> <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128258"></a>
+<h2 class ="class">1.22 Class GL4bc</h2>
+<p>Declaration :</p><ul>
+<li>Java : package interface GL4bc extends <a href="index.html#refclass128002"><b>GL3bc</b></a> </li><li>Php : interface GL4bc </li></ul><p>Directly inherited by : <a href="index.html#refclass130501"><b>GL4bcImpl</b></a> </p>
+<p>Stereotype: interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass128386"></a>
+<h2 class ="class">1.23 Class GL2ES12</h2>
+<p>Declaration :</p><ul>
+<li>Java : package class GL2ES12 implements <a href="index.html#refclass128197"><b>GL2ES1</b></a>, <a href="index.html#refclass128581"><b>GL2ES2</b></a> </li></ul><p>Stereotype: entity</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/bouml/html/index_65.html b/doc/bouml/html/index_65.html
new file mode 100644
index 000000000..12cff3a70
--- /dev/null
+++ b/doc/bouml/html/index_65.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>A</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">A</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131013" target = "projectFrame"><b>AbstractGraphicsConfiguration</b></a></td><td>class</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/index_67.html b/doc/bouml/html/index_67.html
new file mode 100644
index 000000000..6c276a1e2
--- /dev/null
+++ b/doc/bouml/html/index_67.html
@@ -0,0 +1,24 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>C</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">C</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131269" target = "projectFrame"><b>Capabilities</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation131525" target = "projectFrame"><b>chosen</b></a></td><td>relation</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/index_71.html b/doc/bouml/html/index_71.html
new file mode 100644
index 000000000..9481c2466
--- /dev/null
+++ b/doc/bouml/html/index_71.html
@@ -0,0 +1,42 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>G</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">G</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128069" target = "projectFrame"><b>GL</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128453" target = "projectFrame"><b>GL2</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128197" target = "projectFrame"><b>GL2ES1</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128386" target = "projectFrame"><b>GL2ES12</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128581" target = "projectFrame"><b>GL2ES2</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128709" target = "projectFrame"><b>GL2GL3</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128837" target = "projectFrame"><b>GL3</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128002" target = "projectFrame"><b>GL3bc</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128130" target = "projectFrame"><b>GL4</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128258" target = "projectFrame"><b>GL4bc</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130501" target = "projectFrame"><b>GL4bcImpl</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass132549" target = "projectFrame"><b>GLBase</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131141" target = "projectFrame"><b>GLCapabilities</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130117" target = "projectFrame"><b>GLContext</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130245" target = "projectFrame"><b>GLDrawable</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128325" target = "projectFrame"><b>GLES1</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130757" target = "projectFrame"><b>GLES1Impl</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass128965" target = "projectFrame"><b>GLES2</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES2Impl</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass131397" target = "projectFrame"><b>GLProfile</b></a></td><td>class</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/index_74.html b/doc/bouml/html/index_74.html
new file mode 100644
index 000000000..9a970333e
--- /dev/null
+++ b/doc/bouml/html/index_74.html
@@ -0,0 +1,24 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>J</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">J</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128069" target = "projectFrame"><b>javax.media.opengl</b></a></td><td>class view</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129" target = "projectFrame"><b>jogl</b></a></td><td>package</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/index_78.html b/doc/bouml/html/index_78.html
new file mode 100644
index 000000000..4165af58c
--- /dev/null
+++ b/doc/bouml/html/index_78.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>N</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">N</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130885" target = "projectFrame"><b>NativeWindow</b></a></td><td>class</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/index_79.html b/doc/bouml/html/index_79.html
new file mode 100644
index 000000000..4eb8a76a5
--- /dev/null
+++ b/doc/bouml/html/index_79.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>O</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">O</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces</b></a></td><td>class diagram</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/index_82.html b/doc/bouml/html/index_82.html
new file mode 100644
index 000000000..984d8bf45
--- /dev/null
+++ b/doc/bouml/html/index_82.html
@@ -0,0 +1,23 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>R</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">R</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation131909" target = "projectFrame"><b>requested</b></a></td><td>relation</td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/navig.html b/doc/bouml/html/navig.html
new file mode 100644
index 000000000..16236c7b5
--- /dev/null
+++ b/doc/bouml/html/navig.html
@@ -0,0 +1,17 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>/usr/local/projects/JOGL/jogl/doc/bouml/html/navig</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+<body bgcolor="#ffffff">
+<p><hr noshade></p>
+<p><a href="index.html" target = "projectFrame"><b> -Top- </b></a><a href="classes.html" target = "projectFrame"><b> -Classes- </b></a><a href="packages.html" target = "projectFrame"><b> -Packages- </b></a><a href="classdiagrams.html" target = "projectFrame"><b> -Class Diagrams- </b></a></p>
+<p>
+</p>
+<p><a href="index_65.html" target = "projectFrame"><b> A </b></a><a href="index_67.html" target = "projectFrame"><b> C </b></a><a href="index_71.html" target = "projectFrame"><b> G </b></a><a href="index_74.html" target = "projectFrame"><b> J </b></a><a href="index_78.html" target = "projectFrame"><b> N </b></a><a href="index_79.html" target = "projectFrame"><b> O </b></a><a href="index_82.html" target = "projectFrame"><b> R </b></a></p>
+</body>
+</html>
diff --git a/doc/bouml/html/packages.html b/doc/bouml/html/packages.html
new file mode 100644
index 000000000..50e1a6d9f
--- /dev/null
+++ b/doc/bouml/html/packages.html
@@ -0,0 +1,22 @@
+<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>Packages Index</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+
+<body bgcolor="#ffffff">
+
+<div class = "title">Packages Index</div>
+<p></p>
+
+<!-- ============================================================= -->
+
+<table>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129" target = "projectFrame"><b>jogl</b></a></td><td></td><td></td></tr>
+</table>
+</body>
+</html>
diff --git a/doc/bouml/html/style.css b/doc/bouml/html/style.css
new file mode 100644
index 000000000..3a10a8149
--- /dev/null
+++ b/doc/bouml/html/style.css
@@ -0,0 +1,30 @@
+div.title { font-size: 150%; background: #87ceff; text-align: center; font-weight: bold; }
+
+div.sub { margin-left : 20px; }
+div.element { background: #d3d3d3; }
+
+h1.package { background: #ffe4c4; }
+h1.view { background: #98fb98; }
+
+h2.package { background: #ffe4c4; }
+h2.view { background: #98fb98; }
+h2.class { background: #87ceff; }
+h2.usecase { background: #87ceff; }
+h2.state { background: #87ceff; }
+h2.activity { background: #87ceff; }
+
+h3.package { background: #ffe4c4; }
+h3.view { background: #98fb98; }
+h3.class { background: #87ceff; }
+h3.usecase { background: #87ceff; }
+h3.state { background: #87ceff; }
+h3.stateregion { background: #87ceff; }
+h3.activity { background: #87ceff; }
+
+h4.package { background: #ffe4c4; }
+h4.view { background: #98fb98; }
+h4.class { background: #87ceff; }
+h4.usecase { background: #87ceff; }
+h4.state { background: #87ceff; }
+h4.stateregion { background: #87ceff; }
+h4.activity { background: #87ceff; }
diff --git a/doc/bouml/jogl/128069.diagram b/doc/bouml/jogl/128069.diagram
new file mode 100644
index 000000000..41c5df023
--- /dev/null
+++ b/doc/bouml/jogl/128069.diagram
@@ -0,0 +1,286 @@
+format 67
+
+classcanvas 128002 class_ref 128002 // GL3bc
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 197 761 2000
+end
+classcanvas 128069 class_ref 128069 // GL
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 142 112 2000
+end
+classcanvas 128130 class_ref 128130 // GL4
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 491 844 2000
+end
+classcanvas 128197 class_ref 128197 // GL2ES1
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 42 226 2000
+end
+classcanvas 128258 class_ref 128258 // GL4bc
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 197 905 2000
+end
+classcanvas 128325 class_ref 128325 // GLES1
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 41 401 2000
+end
+classcanvas 128453 class_ref 128453 // GL2
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 199 615 2000
+end
+classcanvas 128581 class_ref 128581 // GL2ES2
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 276 226 2000
+end
+classcanvas 128709 class_ref 128709 // GL2GL3
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 493 316 2005
+end
+classcanvas 128837 class_ref 128837 // GL3
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 492 684 2000
+end
+classcanvas 128965 class_ref 128965 // GLES2
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 277 401 2000
+end
+classcanvas 129666 class_ref 128386 // GL2ES12
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 184 288 2000
+end
+classcanvas 130245 class_ref 130117 // GLContext
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 534 22 2000
+end
+classcanvas 130501 class_ref 130245 // GLDrawable
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 666 116 2000
+end
+classcanvas 130885 class_ref 130501 // GL4bcImpl
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 361 1048 2000
+end
+classcanvas 131013 class_ref 130629 // GLES2Impl
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 284 491 2000
+end
+classcanvas 131141 class_ref 130757 // GLES1Impl
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 47 484 2005
+end
+textcanvas 131781 "Desktop final public OpenGL Interfaces
+"
+ xyzwh 605 636 2000 135 37
+textcanvas 131909 "Mobile final public OpenGL Interfaces"
+ xyzwh 607 427 2000 125 38
+textcanvas 132037 "Private implementation (detail)"
+ xyzwh 20 1073 2000 178 18
+textcanvas 132165 "Desktop/Mobile Common Interfaces"
+ xyzwh 606 244 2000 129 42
+classcanvas 132293 class_ref 130885 // NativeWindow
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 800 204 2000
+end
+classcanvas 132421 class_ref 131013 // AbstractGraphicsConfiguration
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 748 304 2000
+end
+classcanvas 132549 class_ref 131141 // GLCapabilities
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 797 467 2000
+end
+classcanvas 132677 class_ref 131269 // Capabilities
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 807 399 2005
+end
+classcanvas 132805 class_ref 131397 // GLProfile
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 814 548 2000
+end
+textcanvas 135749 "Lifecycle: From the lower right to the top, left step where the GLContext is created with a suitable GL implementation matching the GLProfile."
+ xyzwh 784 16 2000 208 93
+classcanvas 135877 class_ref 132549 // GLBase
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ xyz 143 12 2000
+end
+textcanvas 136261 "Common GL Stuff"
+ xyzwh 273 135 2000 108 17
+fragment 136517 "Programmable Shader"
+ color blue xyzwh 238 195 1994 506 974
+ separator 2053
+ separator 3866
+ separator 1144
+end
+fragment 136645 "Fixed Function"
+ color lightgray xyzwh 2 195 1989 238 973
+ separator 2035
+ separator 3866
+ separator 1143
+end
+textcanvas 136773 "Common Desktop Profile"
+ xyzwh 606 329 2000 115 39
+relationcanvas 128386 relation_ref 128002 // <realization>
+ from ref 130885 z 2001 to ref 128002
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 128514 relation_ref 128130 // <realization>
+ from ref 130885 z 2001 to ref 128258
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 128642 relation_ref 128258 // <realization>
+ from ref 130885 z 2001 to ref 128453
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 128770 relation_ref 128386 // <realization>
+ from ref 130885 z 2001 to ref 128130
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 128898 relation_ref 128514 // <generalisation>
+ from ref 128002 z 2001 to ref 128453
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129026 relation_ref 128642 // <generalisation>
+ from ref 128002 z 2001 to ref 128837
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129093 relation_ref 129221 // <generalisation>
+ from ref 128197 z 1999 to ref 128069
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129154 relation_ref 128770 // <generalisation>
+ from ref 128130 z 2001 to ref 128837
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129221 relation_ref 129349 // <generalisation>
+ from ref 128581 z 1999 to ref 128069
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129282 relation_ref 128898 // <generalisation>
+ from ref 128258 z 2001 to ref 128002
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129349 relation_ref 129477 // <generalisation>
+ from ref 128325 z 1999 to ref 128197
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129410 relation_ref 129026 // <generalisation>
+ from ref 128258 z 2001 to ref 128130
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129477 relation_ref 129605 // <generalisation>
+ from ref 128965 z 1999 to ref 128581
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129733 relation_ref 129861 // <generalisation>
+ from ref 128837 z 1999 to ref 128709
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129794 relation_ref 129154 // <realization>
+ from ref 129666 z 2001 to ref 128197
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129861 relation_ref 129989 // <generalisation>
+ from ref 128453 z 1999 to ref 128709
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129922 relation_ref 129282 // <realization>
+ from ref 129666 z 2001 to ref 128581
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129989 relation_ref 130117 // <generalisation>
+ from ref 128709 z 1999 to ref 128581
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130117 relation_ref 130245 // <generalisation>
+ from ref 128453 z 1999 to ref 128197
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130629 relation_ref 130501 // <association>
+ from ref 130501 z 1999 to ref 130245
+ no_role_a no_role_b
+ multiplicity_a_pos 585 66 3000 multiplicity_b_pos 652 106 3000
+end
+relationcanvas 131269 relation_ref 130629 // <realization>
+ from ref 131141 z 1999 to ref 128325
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131397 relation_ref 130757 // <realization>
+ from ref 131013 z 1999 to ref 128965
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131525 relation_ref 130885 // <realization>
+ from ref 130885 z 1999 to ref 128837
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132933 relation_ref 131141 // <generalisation>
+ from ref 132549 z 1999 to ref 132677
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 133061 relation_ref 131269 // <association>
+ decenter_begin 331
+ decenter_end 105
+ from ref 132421 z 1999 to ref 132677
+ role_a_pos 825 376 3000 no_role_b
+ multiplicity_a_pos 798 376 3000 no_multiplicity_b
+end
+relationcanvas 133701 relation_ref 131525 // <association>
+ from ref 132421 z 1999 to ref 132293
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 133829 relation_ref 131653 // <association>
+ from ref 132293 z 1999 to ref 130501
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 134085 relation_ref 131909 // <association>
+ from ref 132805 z 1999 to ref 132549
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 134213 relation_ref 131397 // <association>
+ decenter_begin 894
+ decenter_end 658
+ from ref 132677 z 1999 to ref 132421
+ no_role_a role_b_pos 892 376 3000
+ no_multiplicity_a multiplicity_b_pos 865 376 3000
+end
+relationcanvas 134725 relation_ref 131781 // <association>
+ from ref 132805 z 1999 to ref 132549
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 136005 relation_ref 133061 // <generalisation>
+ from ref 128069 z 1999 to ref 135877
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 136133 relation_ref 133189 // <association>
+ from ref 135877 z 1999 to ref 130245
+ no_role_a no_role_b
+ multiplicity_a_pos 516 50 3000 multiplicity_b_pos 247 50 3000
+end
+end
diff --git a/doc/bouml/jogl/2.session b/doc/bouml/jogl/2.session
new file mode 100644
index 000000000..35dd532b9
--- /dev/null
+++ b/doc/bouml/jogl/2.session
@@ -0,0 +1,11 @@
+window_sizes 1800 1053 450 1344 854 120
+diagrams
+ active classdiagram_ref 128069 // OpenGL Interfaces
+ 1344 854 100 17 0 0
+end
+show_stereotypes
+selected classdiagram_ref 128069 // OpenGL Interfaces
+open
+ classview_ref 128069 // javax.media.opengl
+end
+end
diff --git a/doc/bouml/jogl/69.session b/doc/bouml/jogl/69.session
new file mode 100644
index 000000000..3f44b3548
--- /dev/null
+++ b/doc/bouml/jogl/69.session
@@ -0,0 +1,11 @@
+window_sizes 1800 1050 450 1344 847 120
+diagrams
+ active classdiagram_ref 128069 // OpenGL Interfaces
+ 1135 830 100 18 0 0
+end
+show_stereotypes
+selected classdiagram_ref 128069 // OpenGL Interfaces
+open
+ classview_ref 128069 // javax.media.opengl
+end
+end
diff --git a/doc/bouml/jogl/cpp_includes b/doc/bouml/jogl/cpp_includes
new file mode 100644
index 000000000..531b86f76
--- /dev/null
+++ b/doc/bouml/jogl/cpp_includes
@@ -0,0 +1,13 @@
+// "a type" "needed cpp_includes"
+"vector" "#include <vector>
+using namespace std;"
+
+"list" "#include <list>
+using namespace std;"
+
+"map" "#include <map>
+using namespace std;"
+
+"string" "#include <string>
+using namespace std;"
+
diff --git a/doc/bouml/jogl/generation_settings b/doc/bouml/jogl/generation_settings
new file mode 100644
index 000000000..6e7065d11
--- /dev/null
+++ b/doc/bouml/jogl/generation_settings
@@ -0,0 +1,309 @@
+
+ java_default_defs
+ cpp_h_extension "h" cpp_src_extension "cpp" java_extension "java" php_extension "php" python_extension "py" idl_extension "idl"
+
+ type_forms 15 // uml cpp java idl cpp_in cpp_out cpp_inout cpp_return
+ "void" "void" "void" "void" "${type}" "${type} &" "${type}" "${type}"
+ "any" "void *" "Object" "any" "const ${type}" "${type}" "${type} &" "${type}"
+ "bool" "bool" "boolean" "boolean" "${type}" "${type} &" "${type} &" "${type}"
+ "char" "char" "char" "char" "${type}" "${type} &" "${type} &" "${type}"
+ "uchar" "unsigned char" "char" "octet" "${type}" "${type} &" "${type} &" "${type}"
+ "byte" "unsigned char" "byte" "octet" "${type}" "${type} &" "${type} &" "${type}"
+ "short" "short" "short" "short" "${type}" "${type} &" "${type} &" "${type}"
+ "ushort" "unsigned short" "short" "unsigned short" "${type}" "${type} &" "${type} &" "${type}"
+ "int" "int" "int" "long" "${type}" "${type} &" "${type} &" "${type}"
+ "uint" "unsigned int" "int" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+ "long" "long" "long" "long" "${type}" "${type} &" "${type} &" "${type}"
+ "ulong" "unsigned long" "long" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+ "float" "float" "float" "float" "${type}" "${type} &" "${type} &" "${type}"
+ "double" "double" "double" "double" "${type}" "${type} &" "${type} &" "${type}"
+ "string" "string" "String" "string" "${type}" "${type} &" "${type} &" "${type}"
+
+ relations_stereotypes 5 // uml cpp java pythonidl
+ "sequence" "vector" "Vector" "list" "sequence"
+ "vector" "vector" "Vector" "list" "sequence"
+ "list" "list" "List" "list" "sequence"
+ "set" "set" "Set" "set" "sequence"
+ "map" "map" "Map" "dict" "sequence"
+
+ classes_stereotypes 14 // uml cpp java php python idl
+ "class" "class" "class" "class" "class" "valuetype"
+ "interface" "class" "interface" "interface" "class" "interface"
+ "exception" "class" "class" "class" "class" "exception"
+ "enum" "enum" "enum" "enum" "enum" "enum"
+ "enum_pattern" "enum" "enum_pattern" "enum" "enum" "enum"
+ "struct" "struct" "class" "class" "class" "struct"
+ "union" "union" "class" "class" "class" "union"
+ "typedef" "typedef" "ignored" "ignored" "ignored" "typedef"
+ "boundary" "class" "class" "class" "class" "interface"
+ "control" "class" "class" "class" "class" "valuetype"
+ "entity" "class" "class" "class" "class" "valuetype"
+ "actor" "ignored" "ignored" "ignored" "ignored" "ignored"
+ "@interface" "ignored" "@interface" "ignored" "ignored" "ignored"
+ "stereotype" "ignored" "ignored" "ignored" "ignored" "ignored"
+
+ cpp_enum_default_type_forms "${type}" "${type} &" "${type} &" "${type}" // in out inout return
+ other_cpp_types_default_type_forms "const ${type} &" "${type} &" "${type} &" "${type}" // in out inout return
+
+ cpp_default_h_content "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+ cpp_default_src_content "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+ cpp_default_class_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+ cpp_default_external_class_decl "${name}
+#include <${name}.h>
+"
+ cpp_default_struct_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+ cpp_default_union_decl "${comment}${template}union ${name} {
+${members}};
+${inlines}
+"
+ cpp_default_enum_decl "${comment}enum ${name} {
+${items}
+};
+"
+ cpp_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+ cpp_default_attribute_declaration " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+ " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+ " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+ cpp_default_enum_item_declaration " ${name}${value},${comment}"
+ cpp_association_aggregation_declaration
+ " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+" // multiplicity 1
+ " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
+" // multiplicity * a..b
+ " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
+" // multiplicity [..]
+ cpp_aggregation_by_value_declaration
+ " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+ " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+ " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+ cpp_get "get_${name}" inline const value_const public
+ cpp_set "set_${name}" public
+ cpp_default_operation_declaration " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+ cpp_default_operation_definition "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+ ${body}}
+"
+ java_default_src_content "${comment}
+${package}
+${imports}
+${definition}"
+ java_default_class_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ java_default_external_class_decl "${name}"
+ java_default_interface_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ java5_default_enum_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} {
+${items};
+${members}}
+"
+ java_default_enum_decl "${comment}${@}${visibility}final class ${name} {
+${members}
+ private final int value;
+
+ public int value() {
+ return value;
+ }
+
+ public static ${name} fromInt(int value) {
+ switch (value) {
+${cases} default: throw new Error();
+ }
+
+ }
+ private ${name}(int v) { value = v; };
+}
+"
+ java_default_attribute_declaration " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+ " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+ " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+ java5_default_enum_item_declaration " ${@}${name}${value},${comment}"
+ java_default_enum_item_declaration " ${comment}${@}public static final int _${name}${value};
+public static final ${class} ${name} = new ${class}(_${name});
+"
+ java_default_enum_case " case _${name}: return ${name};
+"
+ java_association_aggregation_declaration
+ " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+ " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+ " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+ java_get "get${Name}" final public
+ java_set "set${Name}" public
+ java_default_operation_definition " ${comment}${@}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
+ ${body}}
+"
+ php_default_src_content "<?php
+${comment}
+${definition}
+?>
+"
+ php_default_class_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_default_enum_decl "${comment}${visibility}final class ${name} {
+${items}}
+"
+ php_default_external_class_decl "${name}"
+ php_default_interface_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ php_default_attribute_declaration " ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+ php_default_enum_item_decl " const ${name}${value};${comment}
+"
+ php_default_relation_declaration" ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+ php_get "get${Name}" final
+ php_set "set${Name}"
+ php_default_operation_definition " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
+{
+ ${body}}
+"
+ python_2_2
+ python_indent_step " "
+ python_default_src_content "${comment}
+${import}
+${definition}"
+ python_default_class_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+ python_default_enum_decl "class ${name}:
+${docstring}${members}
+"
+ python_default_external_class_decl "${name}"
+ python_default_attribute_declaration "${comment}${self}${name} = ${value}
+" // multiplicity 1
+ "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+ python_default_enum_item_decl "${comment}${self}${name} = ${value}
+"
+ python_default_relation_declaration"${comment}${self}${name} = ${value}
+" // multiplicity 1
+ "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+ python_default_composition_declaration"${comment}${self}${name} = ${type}()
+" // multiplicity 1
+ "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+ python_default_operation_definition "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+ python_default_initoperation_definition "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
+${docstring}super(${class}, ${p0}).__init__()
+${body}
+"
+ python_get "get${Name}"
+ python_set "set${Name}"
+ idl_default_src_content "#ifndef ${MODULE}_${NAME}_H
+#define ${MODULE}_${NAME}_H
+
+${comment}
+${includes}
+${module_start}
+${definition}
+${module_end}
+#endif
+"
+ idl_default_interface_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ idl_default_valuetype_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} {
+${members}};
+"
+ idl_default_struct_decl "${comment}struct ${name} {
+${members}};
+"
+ idl_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+ idl_default_exception_decl "${comment}exception ${name} {
+${members}};
+"
+ idl_default_union_decl "${comment}union ${name} switch(${switch}) {
+${members}};
+"
+ idl_default_enum_decl "${comment}enum ${name} {
+${items}};
+"
+ idl_default_external_class_decl "${name}
+#include \"${name}.idl\"
+"
+ idl_default_attribute_declaration " ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+ " ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+ " ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+ idl_default_valuetype_attribute_declaration " ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+ " ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+ " ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+ idl_default_const_declaration " ${comment}const ${type} ${name}${value};
+" // multiplicity 1
+ " ${comment}const ${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+ " ${comment}const ${stereotype}<${type},${multiplicity}> ${name}${value};
+" // multiplicity N
+ idl_default_enum_item_declaration " ${name},${comment}"
+ idl_default_union_item_declaration " ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+ " ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+ " ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+ idl_association_aggregation_declaration
+ " ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+ " ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+ " ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+ idl_valuetype_association_aggregation_declaration
+ " ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+ " ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+ " ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+ idl_union_association_aggregation_declaration
+ " ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+ " ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+ " ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+ idl_get "get_${name}"
+ idl_set "set_${name}" twoways
+ idl_default_operation_declaration " ${comment}${oneway}${type} ${name}${(}${)}${raisesnl}${raises};
+"
+ uml_get_name uml uml_set_name uml
+end
diff --git a/doc/bouml/jogl/idl_includes b/doc/bouml/jogl/idl_includes
new file mode 100644
index 000000000..fceab64b9
--- /dev/null
+++ b/doc/bouml/jogl/idl_includes
@@ -0,0 +1 @@
+// "a type" "needed idl_includes"
diff --git a/doc/bouml/jogl/java_imports b/doc/bouml/jogl/java_imports
new file mode 100644
index 000000000..bbd370acb
--- /dev/null
+++ b/doc/bouml/jogl/java_imports
@@ -0,0 +1 @@
+// "a type" "needed java_imports"
diff --git a/doc/bouml/jogl/jogl.prj b/doc/bouml/jogl/jogl.prj
new file mode 100644
index 000000000..607638cc2
--- /dev/null
+++ b/doc/bouml/jogl/jogl.prj
@@ -0,0 +1,710 @@
+format 67
+"jogl"
+ revision 7
+ modified_by 2 "sven"
+
+
+
+ // class settings
+ default_attribute_visibility private default_relation_visibility private default_operation_visibility public
+ //class diagram settings
+ draw_all_relations yes hide_attributes no hide_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_members_multiplicity no show_members_initialization no show_attribute_modifiers no member_max_width 127 show_parameter_dir yes show_parameter_name yes package_name_in_tab no class_drawing_mode natural drawing_language uml show_context_mode no auto_label_position yes show_relation_modifiers no show_infonote no shadow yes show_stereotype_properties no
+ //use case diagram settings
+ package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes class_drawing_mode actor shadow yes show_stereotype_properties no
+ //sequence diagram settings
+ show_full_operations_definition no write_horizontally yes class_drawing_mode natural drawing_language uml draw_all_relations yes shadow yes show_stereotype_properties no
+ //collaboration diagram settings
+ show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no draw_all_relations yes shadow yes show_stereotype_properties no
+ //object diagram settings
+ write_horizontally yes package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes show_stereotype_properties no
+ //component diagram settings
+ package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
+ draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
+ //deployment diagram settings
+ package_name_in_tab no show_context no write_horizontally yes auto_label_position yes draw_all_relations yes shadow yes
+ draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
+ //state diagram settings
+ package_name_in_tab no show_context no auto_label_position yes write_trans_label_horizontally yes show_trans_definition no draw_all_relations yes shadow yes
+ show_activities yes region_horizontally yes drawing_language uml show_stereotype_properties no
+ //activity diagram settings
+ package_name_in_tab no show_context no show_opaque_action_definition no auto_label_position yes write_flow_label_horizontally no draw_all_relations yes shadow yes
+ show_infonote yes drawing_language uml show_stereotype_properties no
+
+ class_color yellow duration_color transparent continuation_color gray note_color blue fragment_color transparent subject_color transparent usecase_color yellow package_color transparent component_color green artifact_color green deploymentnode_color gray state_color yellow stateaction_color transparent activity_color transparent activityregion_color transparent activitypartition_color transparent activityaction_color transparent parameterpin_color white
+ font_size 10
+ diagram_format A4
+
+ mark_for_import
+
+ ncouples 1
+ key "html dir" value "/usr/local/projects/JOGL/jogl/doc/bouml/html/"
+ classview 128069 "javax.media.opengl"
+ //class diagram settings
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ //collaboration diagram settings
+ show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
+ //object diagram settings
+ write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
+ //sequence diagram settings
+ show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
+ //state diagram settings
+ package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+ show_activities default region_horizontally default drawing_language default show_stereotype_properties default
+ //class settings
+ //activity diagram settings
+ package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+ show_infonote default drawing_language default show_stereotype_properties default
+ classdiagram 128069 "OpenGL Interfaces"
+ draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_infonote default shadow default show_stereotype_properties default
+ size A3-Landscape
+ end
+
+ class 128069 "GL"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 134085 // <generalisation>
+ relation 133061 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 134085 // <generalisation>
+ b parent class_ref 132549 // GLBase
+ end
+ end
+
+ class 128197 "GL2ES1"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 129221 // <generalisation>
+ relation 129221 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 129221 // <generalisation>
+ b parent class_ref 128069 // GL
+ end
+ end
+
+ class 128325 "GLES1"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 129477 // <generalisation>
+ relation 129477 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 129477 // <generalisation>
+ b parent class_ref 128197 // GL2ES1
+ end
+ end
+
+ class 128453 "GL2"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 129989 // <generalisation>
+ relation 129989 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 129989 // <generalisation>
+ b parent class_ref 128709 // GL2GL3
+ end
+
+ classrelation 130245 // <generalisation>
+ relation 130245 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 130245 // <generalisation>
+ b parent class_ref 128197 // GL2ES1
+ end
+ end
+
+ class 128581 "GL2ES2"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 129349 // <generalisation>
+ relation 129349 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 129349 // <generalisation>
+ b parent class_ref 128069 // GL
+ end
+ end
+
+ class 128709 "GL2GL3"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 130117 // <generalisation>
+ relation 130117 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 130117 // <generalisation>
+ b parent class_ref 128581 // GL2ES2
+ end
+ end
+
+ class 128837 "GL3"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 129861 // <generalisation>
+ relation 129861 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 129861 // <generalisation>
+ b parent class_ref 128709 // GL2GL3
+ end
+ end
+
+ class 128965 "GLES2"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 129605 // <generalisation>
+ relation 129605 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 129605 // <generalisation>
+ b parent class_ref 128581 // GL2ES2
+ end
+ end
+
+ class 130117 "GLContext"
+ abstract visibility package
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 130757 // <association>
+ relation_ref 130501 // <association>
+ end
+
+ classrelation 134341 // <association>
+ relation_ref 133189 // <association>
+ end
+ end
+
+ class 130245 "GLDrawable"
+ abstract visibility package
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 130629 // <association>
+ relation 130501 ----
+ a role_name "" multiplicity "0..1" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 130629 // <association>
+ b role_name "" multiplicity "1" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 130757 // <association>
+ end
+
+ classrelation 132421 // <association>
+ relation_ref 131653 // <association>
+ end
+ end
+
+ class 130501 "GL4bcImpl"
+ visibility private stereotype "entity"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 131141 // <realization>
+ relation 130885 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 131141 // <realization>
+ b parent class_ref 128837 // GL3
+ end
+
+ classrelation 128002 // <realization>
+ relation 128002 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 128002 // <realization>
+ b parent class_ref 128002 // GL3bc
+ end
+
+ classrelation 128130 // <realization>
+ relation 128130 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 128130 // <realization>
+ b parent class_ref 128258 // GL4bc
+ end
+
+ classrelation 128258 // <realization>
+ relation 128258 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 128258 // <realization>
+ b parent class_ref 128453 // GL2
+ end
+
+ classrelation 128386 // <realization>
+ relation 128386 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 128386 // <realization>
+ b parent class_ref 128130 // GL4
+ end
+ end
+
+ class 130629 "GLES2Impl"
+ visibility private stereotype "entity"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 131013 // <realization>
+ relation 130757 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 131013 // <realization>
+ b parent class_ref 128965 // GLES2
+ end
+ end
+
+ class 130757 "GLES1Impl"
+ visibility private stereotype "entity"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 130885 // <realization>
+ relation 130629 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 130885 // <realization>
+ b parent class_ref 128325 // GLES1
+ end
+ end
+
+ class 130885 "NativeWindow"
+ visibility package stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 132165 // <association>
+ relation_ref 131525 // <association>
+ end
+
+ classrelation 132293 // <association>
+ relation 131653 ----
+ a role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132293 // <association>
+ b role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132421 // <association>
+ end
+ end
+
+ class 131013 "AbstractGraphicsConfiguration"
+ abstract visibility package
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 131525 // chosen (<association>)
+ relation 131269 ----
+ a role_name "chosen" multiplicity "1" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 131525 // chosen (<association>)
+ b role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 131653 // <association>
+ end
+
+ classrelation 131909 // <association>
+ relation_ref 131397 // <association>
+ end
+
+ classrelation 132037 // <association>
+ relation 131525 ----
+ a role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132037 // <association>
+ b role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132165 // <association>
+ end
+ end
+
+ class 131141 "GLCapabilities"
+ visibility package
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 131397 // <generalisation>
+ relation 131141 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 131397 // <generalisation>
+ b parent class_ref 131269 // Capabilities
+ end
+
+ classrelation 132677 // <association>
+ relation_ref 131781 // <association>
+ end
+
+ classrelation 132933 // <association>
+ relation_ref 131909 // <association>
+ end
+ end
+
+ class 131269 "Capabilities"
+ visibility package
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 131653 // <association>
+ relation_ref 131269 // <association>
+ end
+
+ classrelation 131781 // <association>
+ relation 131397 ----
+ a role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 131781 // <association>
+ b role_name "requested" multiplicity "1" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 131909 // <association>
+ end
+ end
+
+ class 131397 "GLProfile"
+ visibility package
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 132549 // <association>
+ relation 131781 ----
+ a role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132549 // <association>
+ b role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132677 // <association>
+ end
+
+ classrelation 132805 // <association>
+ relation 131909 ----
+ a role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132805 // <association>
+ b role_name "" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 132933 // <association>
+ end
+ end
+
+ class 132549 "GLBase"
+ visibility public stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 134213 // <association>
+ relation 133189 ----
+ a role_name "" multiplicity "1" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 134213 // <association>
+ b role_name "" multiplicity "1" private
+ java " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+"
+ classrelation_ref 134341 // <association>
+ end
+ end
+
+ class 128002 "GL3bc"
+ visibility package stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 128514 // <generalisation>
+ relation 128514 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 128514 // <generalisation>
+ b parent class_ref 128453 // GL2
+ end
+
+ classrelation 128642 // <generalisation>
+ relation 128642 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 128642 // <generalisation>
+ b parent class_ref 128837 // GL3
+ end
+ end
+
+ class 128130 "GL4"
+ visibility package stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 128770 // <generalisation>
+ relation 128770 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 128770 // <generalisation>
+ b parent class_ref 128837 // GL3
+ end
+ end
+
+ class 128258 "GL4bc"
+ visibility package stereotype "interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+ php_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+ python_2_2 python_decl ""
+ idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+ explicit_switch_type ""
+
+ classrelation 128898 // <generalisation>
+ relation 128898 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 128898 // <generalisation>
+ b parent class_ref 128002 // GL3bc
+ end
+
+ classrelation 129026 // <generalisation>
+ relation 129026 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 129026 // <generalisation>
+ b parent class_ref 128130 // GL4
+ end
+ end
+
+ class 128386 "GL2ES12"
+ visibility package stereotype "entity"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 129154 // <realization>
+ relation 129154 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 129154 // <realization>
+ b parent class_ref 128197 // GL2ES1
+ end
+
+ classrelation 129282 // <realization>
+ relation 129282 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 129282 // <realization>
+ b parent class_ref 128581 // GL2ES2
+ end
+ end
+ end
+end
diff --git a/doc/bouml/jogl/python_imports b/doc/bouml/jogl/python_imports
new file mode 100644
index 000000000..4a1bd3a85
--- /dev/null
+++ b/doc/bouml/jogl/python_imports
@@ -0,0 +1 @@
+// "a type" "needed python_imports"
diff --git a/doc/bouml/jogl/stereotypes b/doc/bouml/jogl/stereotypes
new file mode 100644
index 000000000..0ac476cf9
--- /dev/null
+++ b/doc/bouml/jogl/stereotypes
@@ -0,0 +1,58 @@
+
+ package_stereotypes 6 "facade" "framework" "model library" "stub" "toplevel" "profile"
+ -_-> 3 "access" "import" "from"
+ end
+
+ class_stereotypes 19 "actor" "auxiliary" "boundary" "control" "entity" "enum" "enum_pattern" "exception" "focus" "implementationClass" "interface" "@interface" "metaclass" "stereotype" "struct" "type" "typedef" "union" "utility"
+ ---- 4 "list" "set" "vector" "map"
+ ---> 4 "list" "set" "vector" "map"
+ ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+ o--- 4 "list" "set" "vector" "map"
+ *--- 4 "list" "set" "vector" "map"
+ o--> 4 "list" "set" "vector" "map"
+ *--> 4 "list" "set" "vector" "map"
+ -_-> 4 "friend" "from" "import" "instantiate"
+ -_-|> 1 "bind"
+ end
+
+ use_case_stereotypes 1 "realization"
+
+ ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+ -_-> 2 "include" "extend"
+ end
+
+ artifact_stereotypes 7 "document" "file" "script" "source" "text" "library" "executable"
+ -_-> 4 "deploy" "manifest" "import" "from"
+ end
+
+ attribute_stereotypes 4 "list" "set" "vector" "map"
+ operation_stereotypes 0
+ state_stereotypes 3 "machine" "submachine" "top"
+ activity_stereotypes 0
+ flow_stereotypes 3 "interrupt" "multicast" "multireceive"
+ interruptibleactivityregion_stereotypes 0
+ pseudostate_stereotypes 0
+ stateaction_stereotypes 2 "send-signal" "receive-signal"
+ parameter_stereotypes 0
+ parameterset_stereotypes 0
+ activitynode_stereotypes 0
+ activityaction_stereotypes 0
+ activityobject_stereotypes 2 "datastore" "centralBuffer"
+ expansionregion_stereotypes 0
+ activitypartition_stereotypes 0
+ pin_stereotypes 0
+ component_stereotypes 6 "buildComponent" "entity" "implement" "process" "service" "subsystem"
+ deploymentnode_stereotypes 3 "cpu" "device" "executionEnvironment"
+ classview_stereotypes 0
+ usecaseview_stereotypes 0
+ componentview_stereotypes 0
+ deploymentview_stereotypes 0
+ classdiagram_stereotypes 0
+ seqdiagram_stereotypes 0
+ coldiagram_stereotypes 0
+ usecasediagram_stereotypes 0
+ statediagram_stereotypes 0
+ activitydiagram_stereotypes 0
+ componentdiagram_stereotypes 0
+ deploymentdiagram_stereotypes 0
+end
diff --git a/doc/bouml/jogl/tools b/doc/bouml/jogl/tools
new file mode 100644
index 000000000..49867c0ba
--- /dev/null
+++ b/doc/bouml/jogl/tools
@@ -0,0 +1,32 @@
+// 'tool' "the executable" "displayed string" {target}+
+tool "HTML documentation" "ghtml" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "HTML doc. (flat)" "ghtml -flat" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "HTML doc. (svg)" "ghtml -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "C++ utilities" "cpp_util" Class
+tool "Global Change" "global_change" Class
+tool "Uml projection" "uml_proj" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue
+tool "HTML documentation" "ghtml" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "HTML doc. (flat)" "ghtml -flat" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "HTML doc. (svg)" "ghtml -svg" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "C++ state machine" "stmgen" State
+tool "HTML documentation" "ghtml" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML doc. (flat)" "ghtml -flat" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML doc. (svg)" "ghtml -svg" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML documentation" "ghtml" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat)" "ghtml -flat" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (svg)" "ghtml -svg" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "Generate .pro" "gpro" Artifact
+tool "Import Rose" "irose" Project Package
+tool "Generate XMI 1.2" "gxmi" Project
+tool "Generate XMI 2.1" "gxmi2" Project
+tool "Import XMI 2.1" "ixmi2" Project Package
+tool "Use case wizard" "usecasewizard" UseCase
+tool "Check-in" "file_control ci" Project Package
+tool "Check-out" "file_control co" Project Package
+tool "Deploy classes" "deplcl" ClassView
+tool "Global Change" "global_change" Project Package ClassView DeploymentView
+tool "Uml projection" "uml_proj" Project Package ClassView
diff --git a/doc/deployment/JOGL-DEPLOYMENT.html b/doc/deployment/JOGL-DEPLOYMENT.html
new file mode 100644
index 000000000..b54bc6406
--- /dev/null
+++ b/doc/deployment/JOGL-DEPLOYMENT.html
@@ -0,0 +1,271 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <link href="../../../style.css" rel="stylesheet" type="text/css"/>
+ <title>JOGL JAR Bundeling</title>
+ </head>
+ <body>
+ <div id="container">
+ <div id="header">
+ <div id="slogan">.. bundle .. deploy</div>
+ <div id="logo"><a href="http://jogamp.org/">JOGL JAR Bundeling</a></div>
+ </div>
+ <div id="menu">
+ <ul>
+ <li><a href="http://jogamp.org/">Home</a></li>
+ <li><a href="../../../gluegen/www/">Gluegen</a></li>
+ <li><a href="../../../joal/www/">JOAL</a></li>
+ <li><a href="../../../jocl/www/">JOCL</a></li>
+ <li><a href="../../../jogl/www/">JOGL</a></li>
+ <li><a href="../../../demos/www/">Demos</a></li>
+ <li><a href="../../../wiki/">Wiki</a></li>
+ <li><a href="../../../deployment/jogl-next/javadoc_public/">JavaDoc</a></li>
+ <li><a href="../../../blog/">Blogs</a></li>
+ <li><a href="../../../forum.html">Forums</a></li>
+ </ul>
+ </div>
+ <div id="main">
+ <div id="text" class="fill">
+
+ <h1>JNLP Deployment</h1>
+
+ Supported JNLP bases are:
+ <ul>
+ <li> Latest <code> http://jogamp.org/deployment/webstart/ </code></li>
+ <li> Next <code> http://jogamp.org/deployment/webstart-next/ </code></li>
+ </ul>
+
+ <h2>Desktop All in One</h2>
+
+ <h3>With AWT and NEWT</h3>
+ <ul>
+ <li><code>newt-all-awt.jnlp</code><br/>
+ <ul>
+ <li><code>jogl-all-awt.jnlp</code><br/>
+ <ul>
+ <li><code>gluegen-rt.jnlp</code></li>
+ <li><code>nativewindow-all-awt.jnlp</code></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+
+ <h3>With AWT - Without NEWT</h3>
+ <ul>
+ <li><code>jogl-all-awt.jnlp</code><br/>
+ <ul>
+ <li><code>gluegen-rt.jnlp</code></li>
+ <li><code>nativewindow-all-awt.jnlp</code></li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ It loads the JAR files for the <a href="#NativeLibraries">native libraries</a>,<br/>
+ as well as the other <a href="#AllInOneJARs">All In One JAR files</a>
+ for <a href="#AllInOneJARsAWT">AWT support</a>.
+ </p>
+
+ <h3>Without AWT</h3>
+
+ <ul>
+ <li><code>newt-all-noawt.jnlp</code><br/>
+ <ul>
+ <li><code>jogl-all-noawt.jnlp</code><br/>
+ <ul>
+ <li><code>gluegen-rt.jnlp</code></li>
+ <li><code>nativewindow.jnlp</code></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+
+ <p>
+ It loads the JAR files for the <a href="#NativeLibraries">native libraries</a>,<br/>
+ as well as the other <a href="#AllInOneJARs">All In One JAR files</a>
+ for <a href="#AllInOneJARsNoAWT">Without AWT support</a>.
+ </p>
+
+ <hr/>
+ <h1>Manual Deployment</h1>
+
+ <h2><a name="NativeLibraries">Native Libraries</a></h2>
+
+ Gluegen native libraries:
+ <ul>
+ <li>libgluegen-rt.so</li>
+ </ul>
+
+ NativeWindow native libraries
+ <ul>
+ <li>libnativewindow_awt.so</li>
+ <li>libnativewindow_jvm.so</li>
+ <li>libnativewindow_x11.so</li>
+ </ul>
+
+ JOGL native libraries
+ <ul>
+ <li>libjogl_desktop.so</li>
+ <li>libjogl_gl2es12.so</li>
+ <li>libjogl_es1.so</li>
+ <li>libjogl_es2.so</li>
+ <li>libjogl_cg.so</li>
+ </ul>
+
+ NEWT native libraries
+ <ul>
+ <li>libnewt.so</li>
+ </ul>
+
+ <h2><a name="JavaLibraries">Java Libraries (JARs)</a></h2>
+
+ <h3><a name="GluegenJAR">Gluegen JAR - Mandatory</a></h3>
+ <ul>
+ <li>gluegen-rt.jar</li>
+ </ul>
+
+ <h3><a name="AllInOneJARs">All In One Deployment</a></h3>
+
+ <p>
+ This might be the best solution
+ for desktop (applets and webstart).<br/>
+
+ It is much faster to download
+ a (maybe bigger) file once and cache
+ it for most purposes, than to download
+ tens of files where its cache might not
+ be reuseable.<br/>
+ </p>
+
+ <a name="AllInOneJARsAWT">With AWT</a>:
+ <ul>
+ <li>nativewindow.all.jar</li>
+ <li>jogl.all.jar</li>
+ <li>newt.all.jar (optional - redundant if no NEWT is used)</li>
+ </ul>
+
+ <a name="AllInOneJARsNoAWT">Without AWT</a>:
+ <ul>
+ <li>nativewindow.all-noawt.jar</li>
+ <li>jogl.all-noawt.jar</li>
+ <li>newt.all-noawt.jar</li>
+ </ul>
+
+
+ <h3>Atomic Deployment </h3>
+
+ This is a fine tuned solution
+ where every byte counts.<br/>
+
+ It is also possible to use this
+ strategy as a starting point for
+ efficient manual deployment.<br/>
+
+ <h4>Cores</h4>
+ <ul>
+ <li>Mandatory:<br/>
+ <ul>
+ <li>nativewindow.core.jar</li>
+ <li>jogl.core.jar</li>
+ </ul></li>
+
+ <li>Newt (optional):<br/>
+ <ul>
+ <li>newt.core.jar</li>
+ <li>newt.ogl.jar (to use NEWT with JOGL)</li>
+ </ul></li>
+ </ul>
+
+ <h4>Platform (mandatory)</h4>
+
+ Chose the same platform for all picks :)
+
+ <ul>
+ <li>NativeWindow [pick your platfrom, if available]:<br/>
+ <ul>
+ <li>nativewindow.os.x11.jar</li>
+ </ul></li>
+
+ <li>JOGL [pick your platform]:<br/>
+ <ul>
+ <li>jogl.egl.jar</li>
+ <li>jogl.os.x11.jar</li>
+ <li>jogl.os.win.jar</li>
+ <li>jogl.os.osx.jar</li>
+ </ul></li>
+
+ <li>Newt [pick your platform] (optional):<br/>
+ <ul>
+ <li>newt.os.x11.jar</li>
+ <li>newt.os.win.jar</li>
+ <li>newt.os.osx.jar</li>
+ </ul></li>
+ </ul>
+
+ <h4>OpenGL Profile (mandatory)</h4>
+
+ Pick as many as you like, at least 1:
+
+ <ul>
+ <li>Embedded Device Profiles<br/>
+ <ul>
+ <li>jogl.gles1.jar<br/>
+ <ul>
+ <li>jogl.gles1.dbg.jar</li>
+ </ul></li>
+ <li>jogl.gles2.jar<br/>
+ <ul>
+ <li>jogl.gles2.dbg.jar</li>
+ </ul></li>
+ </ul></li>
+
+ <li>Desktop Profiles<br/>
+ <ul>
+ <li>jogl.gldesktop.jar<br/>
+ <ul>
+ <li>jogl.gldesktop.dbg.jar</li>
+ </ul></li>
+ <li>jogl.gl2es12.jar (for desktop ES1/ES2 emulation)</li>
+ </ul></li>
+ </ul>
+
+
+ <h4>JOGL Toolkits/Misc (optional)</h4>
+ <ul>
+ <li>jogl.util.jar</li>
+ <li>jogl.util.gl2.jar</li>
+ <li>jogl.util.fixedfuncemu.jar</li>
+ </ul>
+
+
+ <h4>AWT (optional) </h4>
+
+ <ul>
+ <li> nativewindow.awt.jar</li>
+ <li> jogl.awt.jar</li>
+ <li> jogl.util.awt.jar (if using jogl.util)</li>
+ <li> newt.awt.jar (if using with NEWT)</li>
+ </ul>
+
+ <h4>GLU (optional) </h4>
+ <ul>
+ <li>jogl.glutess.jar</li>
+ <li>jogl.glumipmap.jar</li>
+ <li>jogl.glugl2.jar</li>
+ </ul>
+
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer_left">
+ <span>JogAmp.org</span>
+ by <a href="http://jogamp.org">http://jogamp.org</a>
+ is licensed under a <br/>
+ <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons Attribution 3.0 License</a>.
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/doc/deployment/lstjars/lstjars.linux_amd64-20100406.log b/doc/deployment/lstjars/lstjars.linux_amd64-20100406.log
new file mode 100644
index 000000000..48dcd562c
--- /dev/null
+++ b/doc/deployment/lstjars/lstjars.linux_amd64-20100406.log
@@ -0,0 +1,540 @@
+cp: cannot stat `../../gluegen/build-x86_64/gluegen-rt-natives-linux-i586.jar': No such file or directory
+cp: cannot stat `../../gluegen/build-x86_64/gluegen-rt-natives-linux-i586-cdc.jar': No such file or directory
+Native Libraries
+4 libgluegen-rt.so.gz
+24 libjogl_cg.so.gz
+144 libjogl_desktop.so.gz
+36 libjogl_es1.so.gz
+36 libjogl_es2.so.gz
+40 libjogl_gl2es12.so.gz
+4 libnativewindow_awt.so.gz
+4 libnativewindow_jvm.so.gz
+8 libnativewindow_x11.so.gz
+12 libnewt.so.gz
+312 total
+
+list gluegen-rt-cdc.jar to gluegen-rt-cdc.lst
+list gluegen-rt.jar to gluegen-rt.lst
+list jogl.all.cdc.jar to jogl.all.cdc.lst
+list jogl.all.jar to jogl.all.lst
+list jogl.all-noawt.jar to jogl.all-noawt.lst
+list jogl.awt.jar to jogl.awt.lst
+list jogl.cg.jar to jogl.cg.lst
+list jogl.core.cdc.jar to jogl.core.cdc.lst
+list jogl.core.jar to jogl.core.lst
+list jogl.egl.cdc.jar to jogl.egl.cdc.lst
+list jogl.egl.jar to jogl.egl.lst
+list jogl.gl2.dbg.jar to jogl.gl2.dbg.lst
+list jogl.gl2es12.cdc.jar to jogl.gl2es12.cdc.lst
+list jogl.gl2es12.jar to jogl.gl2es12.lst
+list jogl.gl2.jar to jogl.gl2.lst
+list jogl.gl3.dbg.jar to jogl.gl3.dbg.lst
+list jogl.gl3.jar to jogl.gl3.lst
+list jogl.gl4.dbg.jar to jogl.gl4.dbg.lst
+list jogl.gl4.jar to jogl.gl4.lst
+list jogl.gles1.cdc.jar to jogl.gles1.cdc.lst
+list jogl.gles1.dbg.cdc.jar to jogl.gles1.dbg.cdc.lst
+list jogl.gles1.dbg.jar to jogl.gles1.dbg.lst
+list jogl.gles1.jar to jogl.gles1.lst
+list jogl.gles2.cdc.jar to jogl.gles2.cdc.lst
+list jogl.gles2.dbg.cdc.jar to jogl.gles2.dbg.cdc.lst
+list jogl.gles2.dbg.jar to jogl.gles2.dbg.lst
+list jogl.gles2.jar to jogl.gles2.lst
+list jogl.glu.gl2.jar to jogl.glu.gl2.lst
+list jogl.glu.mipmap.cdc.jar to jogl.glu.mipmap.cdc.lst
+list jogl.glu.mipmap.jar to jogl.glu.mipmap.lst
+list jogl.glu.tess.cdc.jar to jogl.glu.tess.cdc.lst
+list jogl.glu.tess.jar to jogl.glu.tess.lst
+list jogl-natives-linux-amd64-cdc.jar to jogl-natives-linux-amd64-cdc.lst
+list jogl-natives-linux-amd64.jar to jogl-natives-linux-amd64.lst
+list jogl.os.osx.cdc.jar to jogl.os.osx.cdc.lst
+list jogl.os.osx.jar to jogl.os.osx.lst
+list jogl.os.win.cdc.jar to jogl.os.win.cdc.lst
+list jogl.os.win.jar to jogl.os.win.lst
+list jogl.os.x11.cdc.jar to jogl.os.x11.cdc.lst
+list jogl.os.x11.jar to jogl.os.x11.lst
+list jogl.sdk.jar to jogl.sdk.lst
+list jogl.test.jar to jogl.test.lst
+list jogl.util.awt.jar to jogl.util.awt.lst
+list jogl.util.cdc.jar to jogl.util.cdc.lst
+list jogl.util.fixedfuncemu.cdc.jar to jogl.util.fixedfuncemu.cdc.lst
+list jogl.util.fixedfuncemu.jar to jogl.util.fixedfuncemu.lst
+list jogl.util.gl2.jar to jogl.util.gl2.lst
+list jogl.util.jar to jogl.util.lst
+list nativewindow.all.cdc.jar to nativewindow.all.cdc.lst
+list nativewindow.all.jar to nativewindow.all.lst
+list nativewindow.all-noawt.jar to nativewindow.all-noawt.lst
+list nativewindow.awt.jar to nativewindow.awt.lst
+list nativewindow.core.cdc.jar to nativewindow.core.cdc.lst
+list nativewindow.core.jar to nativewindow.core.lst
+list nativewindow-natives-linux-amd64-cdc.jar to nativewindow-natives-linux-amd64-cdc.lst
+list nativewindow-natives-linux-amd64.jar to nativewindow-natives-linux-amd64.lst
+list nativewindow.os.x11.cdc.jar to nativewindow.os.x11.cdc.lst
+list nativewindow.os.x11.jar to nativewindow.os.x11.lst
+list newt.all.cdc.jar to newt.all.cdc.lst
+list newt.all.jar to newt.all.lst
+list newt.all-noawt.jar to newt.all-noawt.lst
+list newt.awt.jar to newt.awt.lst
+list newt.broadcomegl.cdc.jar to newt.broadcomegl.cdc.lst
+list newt.broadcomegl.jar to newt.broadcomegl.lst
+list newt.core.cdc.jar to newt.core.cdc.lst
+list newt.core.jar to newt.core.lst
+list newt-natives-linux-amd64-cdc.jar to newt-natives-linux-amd64-cdc.lst
+list newt-natives-linux-amd64.jar to newt-natives-linux-amd64.lst
+list newt.ogl.cdc.jar to newt.ogl.cdc.lst
+list newt.ogl.jar to newt.ogl.lst
+list newt.os.osx.jar to newt.os.osx.lst
+list newt.os.win.jar to newt.os.win.lst
+list newt.os.x11.jar to newt.os.x11.lst
+mv: cannot stat `jogl.all.cdc.lst': No such file or directory
+mv: cannot stat `nativewindow.all.cdc.lst': No such file or directory
+mv: cannot stat `newt.all.cdc.lst': No such file or directory
+mv: cannot stat `jogl.gl2es12.*.lst': No such file or directory
+duplicates - w/o gl2es12.* gl2.*
+
+com/jogamp/openmax/OMXEventListener.class
+com/jogamp/openmax/OMXInstance.class
+com/jogamp/openmax/OMXInstance$EGLImageTexture.class
+mv: cannot stat `jogl.all.cdc.lst': No such file or directory
+mv: cannot stat `nativewindow.all.cdc.lst': No such file or directory
+mv: cannot stat `newt.all.cdc.lst': No such file or directory
+all vs allparts delta
+
+--- allparts.lst 2010-04-06 14:27:30.945355748 +0200
++++ allall.lst 2010-04-06 14:27:31.002253659 +0200
+@@ -1,3 +1,10 @@
++com/jogamp/audio/windows/waveout/Audio.class
++com/jogamp/audio/windows/waveout/Mixer.class
++com/jogamp/audio/windows/waveout/Mixer$FillerThread.class
++com/jogamp/audio/windows/waveout/Mixer$MixerThread.class
++com/jogamp/audio/windows/waveout/SoundBuffer.class
++com/jogamp/audio/windows/waveout/Track.class
++com/jogamp/audio/windows/waveout/Vec3f.class
+ com/jogamp/common/nio/AbstractBuffer.class
+ com/jogamp/common/nio/AbstractLongBuffer.class
+ com/jogamp/common/nio/Buffers.class
+JOGL Deployment Payload for jar
+
+JOGL ES1 NEWT CORE
+44 gluegen-rt.jar
+48 nativewindow.all-noawt.jar
+148 jogl.core.jar
+116 jogl.util.jar
+44 jogl.egl.jar
+28 jogl.gles1.jar
+88 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+36 libjogl_es1.so.gz
+12 libnewt.so.gz
+572 total
+
+JOGL ES2 NEWT CORE
+44 gluegen-rt.jar
+48 nativewindow.all-noawt.jar
+148 jogl.core.jar
+116 jogl.util.jar
+44 jogl.egl.jar
+32 jogl.gles2.jar
+88 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+576 total
+
+JOGL ES2 NEWT CORE FIXED
+44 gluegen-rt.jar
+48 nativewindow.all-noawt.jar
+148 jogl.core.jar
+116 jogl.util.jar
+44 jogl.egl.jar
+32 jogl.gles2.jar
+28 jogl.util.fixedfuncemu.jar
+88 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+604 total
+
+JOGL GL2ES12 NEWT
+44 gluegen-rt.jar
+48 nativewindow.all-noawt.jar
+148 jogl.core.jar
+116 jogl.util.jar
+56 jogl.os.x11.jar
+36 jogl.gl2es12.jar
+88 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+40 libjogl_gl2es12.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+604 total
+
+JOGL GL2 NEWT
+44 gluegen-rt.jar
+48 nativewindow.all-noawt.jar
+148 jogl.core.jar
+116 jogl.util.jar
+56 jogl.os.x11.jar
+120 jogl.gl2.jar
+88 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+792 total
+
+JOGL GL2 AWT
+44 gluegen-rt.jar
+84 nativewindow.all.jar
+148 jogl.core.jar
+116 jogl.util.jar
+56 jogl.os.x11.jar
+120 jogl.gl2.jar
+64 jogl.awt.jar
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+4 libnativewindow_jvm.so.gz
+796 total
+
+JOGL ALL AWT
+44 gluegen-rt.jar
+84 nativewindow.all.jar
+1876 jogl.all.jar
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+4 libnativewindow_jvm.so.gz
+2168 total
+
+JOGL ALL No AWT
+44 gluegen-rt.jar
+48 nativewindow.all-noawt.jar
+1772 jogl.all-noawt.jar
+88 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+2124 total
+
+JOGL CDCFP DESKTOP
+44 gluegen-rt-cdc.jar
+84 nativewindow.all.jar
+792 jogl.all.cdc.jar
+88 newt.all.cdc.jar
+4 libgluegen-rt.so.gz
+40 libjogl_gl2es12.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+1076 total
+
+JOGL CDCFP ES1 MOBILE
+44 gluegen-rt-cdc.jar
+148 jogl.core.cdc.jar
+44 jogl.egl.cdc.jar
+28 jogl.gles1.cdc.jar
+116 jogl.util.cdc.jar
+48 nativewindow.all.cdc.jar
+88 newt.all.cdc.jar
+4 libgluegen-rt.so.gz
+36 libjogl_es1.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+572 total
+
+JOGL CDCFP ES2 MOBILE
+44 gluegen-rt-cdc.jar
+148 jogl.core.cdc.jar
+44 jogl.egl.cdc.jar
+32 jogl.gles2.cdc.jar
+116 jogl.util.cdc.jar
+48 nativewindow.all.cdc.jar
+88 newt.all.cdc.jar
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+576 total
+
+JOGL GLU
+56 jogl.glu.gl2.jar
+68 jogl.glu.mipmap.cdc.jar
+68 jogl.glu.mipmap.jar
+48 jogl.glu.tess.cdc.jar
+48 jogl.glu.tess.jar
+288 total
+
+JOGL EVERYTHING
+1876 jogl.all.jar
+84 nativewindow.all.jar
+108 newt.all.jar
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+144 libjogl_desktop.so.gz
+36 libjogl_es1.so.gz
+36 libjogl_es2.so.gz
+40 libjogl_gl2es12.so.gz
+12 libnewt.so.gz
+2356 total
+
+pack200 gluegen-rt-cdc.pack.gz gluegen-rt-cdc.jar
+pack200 gluegen-rt.pack.gz gluegen-rt.jar
+pack200 jogl.all.cdc.pack.gz jogl.all.cdc.jar
+pack200 jogl.all.pack.gz jogl.all.jar
+pack200 jogl.all-noawt.pack.gz jogl.all-noawt.jar
+pack200 jogl.awt.pack.gz jogl.awt.jar
+pack200 jogl.cg.pack.gz jogl.cg.jar
+pack200 jogl.core.cdc.pack.gz jogl.core.cdc.jar
+pack200 jogl.core.pack.gz jogl.core.jar
+pack200 jogl.egl.cdc.pack.gz jogl.egl.cdc.jar
+pack200 jogl.egl.pack.gz jogl.egl.jar
+pack200 jogl.gl2.dbg.pack.gz jogl.gl2.dbg.jar
+pack200 jogl.gl2es12.cdc.pack.gz jogl.gl2es12.cdc.jar
+pack200 jogl.gl2es12.pack.gz jogl.gl2es12.jar
+pack200 jogl.gl2.pack.gz jogl.gl2.jar
+pack200 jogl.gl3.dbg.pack.gz jogl.gl3.dbg.jar
+pack200 jogl.gl3.pack.gz jogl.gl3.jar
+pack200 jogl.gl4.dbg.pack.gz jogl.gl4.dbg.jar
+pack200 jogl.gl4.pack.gz jogl.gl4.jar
+pack200 jogl.gles1.cdc.pack.gz jogl.gles1.cdc.jar
+pack200 jogl.gles1.dbg.cdc.pack.gz jogl.gles1.dbg.cdc.jar
+pack200 jogl.gles1.dbg.pack.gz jogl.gles1.dbg.jar
+pack200 jogl.gles1.pack.gz jogl.gles1.jar
+pack200 jogl.gles2.cdc.pack.gz jogl.gles2.cdc.jar
+pack200 jogl.gles2.dbg.cdc.pack.gz jogl.gles2.dbg.cdc.jar
+pack200 jogl.gles2.dbg.pack.gz jogl.gles2.dbg.jar
+pack200 jogl.gles2.pack.gz jogl.gles2.jar
+pack200 jogl.glu.gl2.pack.gz jogl.glu.gl2.jar
+pack200 jogl.glu.mipmap.cdc.pack.gz jogl.glu.mipmap.cdc.jar
+pack200 jogl.glu.mipmap.pack.gz jogl.glu.mipmap.jar
+pack200 jogl.glu.tess.cdc.pack.gz jogl.glu.tess.cdc.jar
+pack200 jogl.glu.tess.pack.gz jogl.glu.tess.jar
+pack200 jogl-natives-linux-amd64-cdc.pack.gz jogl-natives-linux-amd64-cdc.jar
+pack200 jogl-natives-linux-amd64.pack.gz jogl-natives-linux-amd64.jar
+pack200 jogl.os.osx.cdc.pack.gz jogl.os.osx.cdc.jar
+pack200 jogl.os.osx.pack.gz jogl.os.osx.jar
+pack200 jogl.os.win.cdc.pack.gz jogl.os.win.cdc.jar
+pack200 jogl.os.win.pack.gz jogl.os.win.jar
+pack200 jogl.os.x11.cdc.pack.gz jogl.os.x11.cdc.jar
+pack200 jogl.os.x11.pack.gz jogl.os.x11.jar
+pack200 jogl.sdk.pack.gz jogl.sdk.jar
+pack200 jogl.test.pack.gz jogl.test.jar
+pack200 jogl.util.awt.pack.gz jogl.util.awt.jar
+pack200 jogl.util.cdc.pack.gz jogl.util.cdc.jar
+pack200 jogl.util.fixedfuncemu.cdc.pack.gz jogl.util.fixedfuncemu.cdc.jar
+pack200 jogl.util.fixedfuncemu.pack.gz jogl.util.fixedfuncemu.jar
+pack200 jogl.util.gl2.pack.gz jogl.util.gl2.jar
+pack200 jogl.util.pack.gz jogl.util.jar
+pack200 nativewindow.all.cdc.pack.gz nativewindow.all.cdc.jar
+pack200 nativewindow.all.pack.gz nativewindow.all.jar
+pack200 nativewindow.all-noawt.pack.gz nativewindow.all-noawt.jar
+pack200 nativewindow.awt.pack.gz nativewindow.awt.jar
+pack200 nativewindow.core.cdc.pack.gz nativewindow.core.cdc.jar
+pack200 nativewindow.core.pack.gz nativewindow.core.jar
+pack200 nativewindow-natives-linux-amd64-cdc.pack.gz nativewindow-natives-linux-amd64-cdc.jar
+pack200 nativewindow-natives-linux-amd64.pack.gz nativewindow-natives-linux-amd64.jar
+pack200 nativewindow.os.x11.cdc.pack.gz nativewindow.os.x11.cdc.jar
+pack200 nativewindow.os.x11.pack.gz nativewindow.os.x11.jar
+pack200 newt.all.cdc.pack.gz newt.all.cdc.jar
+pack200 newt.all.pack.gz newt.all.jar
+pack200 newt.all-noawt.pack.gz newt.all-noawt.jar
+pack200 newt.awt.pack.gz newt.awt.jar
+pack200 newt.broadcomegl.cdc.pack.gz newt.broadcomegl.cdc.jar
+pack200 newt.broadcomegl.pack.gz newt.broadcomegl.jar
+pack200 newt.core.cdc.pack.gz newt.core.cdc.jar
+pack200 newt.core.pack.gz newt.core.jar
+pack200 newt-natives-linux-amd64-cdc.pack.gz newt-natives-linux-amd64-cdc.jar
+pack200 newt-natives-linux-amd64.pack.gz newt-natives-linux-amd64.jar
+pack200 newt.ogl.cdc.pack.gz newt.ogl.cdc.jar
+pack200 newt.ogl.pack.gz newt.ogl.jar
+pack200 newt.os.osx.pack.gz newt.os.osx.jar
+pack200 newt.os.win.pack.gz newt.os.win.jar
+pack200 newt.os.x11.pack.gz newt.os.x11.jar
+JOGL Deployment Payload for pack.gz
+
+JOGL ES1 NEWT CORE
+16 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+16 jogl.egl.pack.gz
+12 jogl.gles1.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+36 libjogl_es1.so.gz
+12 libnewt.so.gz
+240 total
+
+JOGL ES2 NEWT CORE
+16 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+16 jogl.egl.pack.gz
+16 jogl.gles2.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+244 total
+
+JOGL ES2 NEWT CORE FIXED
+16 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+16 jogl.egl.pack.gz
+16 jogl.gles2.pack.gz
+16 jogl.util.fixedfuncemu.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+260 total
+
+JOGL GL2ES12 NEWT
+16 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+24 jogl.os.x11.pack.gz
+16 jogl.gl2es12.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+40 libjogl_gl2es12.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+264 total
+
+JOGL GL2 NEWT
+16 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+24 jogl.os.x11.pack.gz
+60 jogl.gl2.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+412 total
+
+JOGL GL2 AWT
+16 gluegen-rt.pack.gz
+20 nativewindow.all.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+24 jogl.os.x11.pack.gz
+60 jogl.gl2.pack.gz
+20 jogl.awt.pack.gz
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+4 libnativewindow_jvm.so.gz
+404 total
+
+JOGL ALL AWT
+16 gluegen-rt.pack.gz
+20 nativewindow.all.pack.gz
+680 jogl.all.pack.gz
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+4 libnativewindow_jvm.so.gz
+880 total
+
+JOGL ALL No AWT
+16 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+612 jogl.all-noawt.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+144 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+840 total
+
+JOGL CDCFP DESKTOP
+16 gluegen-rt-cdc.pack.gz
+20 nativewindow.all.pack.gz
+232 jogl.all.cdc.pack.gz
+28 newt.all.cdc.pack.gz
+4 libgluegen-rt.so.gz
+40 libjogl_gl2es12.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+364 total
+
+JOGL CDCFP ES1 MOBILE
+16 gluegen-rt-cdc.pack.gz
+56 jogl.core.cdc.pack.gz
+16 jogl.egl.cdc.pack.gz
+12 jogl.gles1.cdc.pack.gz
+44 jogl.util.cdc.pack.gz
+12 nativewindow.all.cdc.pack.gz
+28 newt.all.cdc.pack.gz
+4 libgluegen-rt.so.gz
+36 libjogl_es1.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+240 total
+
+JOGL CDCFP ES2 MOBILE
+16 gluegen-rt-cdc.pack.gz
+56 jogl.core.cdc.pack.gz
+16 jogl.egl.cdc.pack.gz
+16 jogl.gles2.cdc.pack.gz
+44 jogl.util.cdc.pack.gz
+12 nativewindow.all.cdc.pack.gz
+28 newt.all.cdc.pack.gz
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+4 libnativewindow_jvm.so.gz
+12 libnewt.so.gz
+244 total
+
+JOGL GLU
+20 jogl.glu.gl2.pack.gz
+24 jogl.glu.mipmap.cdc.pack.gz
+24 jogl.glu.mipmap.pack.gz
+20 jogl.glu.tess.cdc.pack.gz
+20 jogl.glu.tess.pack.gz
+108 total
+
+JOGL EVERYTHING
+680 jogl.all.pack.gz
+20 nativewindow.all.pack.gz
+32 newt.all.pack.gz
+4 libgluegen-rt.so.gz
+4 libnativewindow_jvm.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+144 libjogl_desktop.so.gz
+36 libjogl_es1.so.gz
+36 libjogl_es2.so.gz
+40 libjogl_gl2es12.so.gz
+12 libnewt.so.gz
+1020 total
+
diff --git a/doc/deployment/lstjars/lstjars.linux_amd64-20100420.log b/doc/deployment/lstjars/lstjars.linux_amd64-20100420.log
new file mode 100644
index 000000000..3e455a7fc
--- /dev/null
+++ b/doc/deployment/lstjars/lstjars.linux_amd64-20100420.log
@@ -0,0 +1,524 @@
+cp: cannot stat `../../gluegen/build-x86_64/gluegen-rt-natives-linux-i586.jar': No such file or directory
+cp: cannot stat `../../gluegen/build-x86_64/gluegen-rt-natives-linux-i586-cdc.jar': No such file or directory
+Native Libraries
+4 libgluegen-rt.so.gz
+24 libjogl_cg.so.gz
+120 libjogl_desktop.so.gz
+36 libjogl_es1.so.gz
+36 libjogl_es2.so.gz
+4 libnativewindow_awt.so.gz
+8 libnativewindow_x11.so.gz
+12 libnewt.so.gz
+244 total
+
+list gluegen-rt-cdc.jar to gluegen-rt-cdc.lst
+list gluegen-rt.jar to gluegen-rt.lst
+list jogl.all.cdc.jar to jogl.all.cdc.lst
+list jogl.all.jar to jogl.all.lst
+list jogl.all-noawt.jar to jogl.all-noawt.lst
+list jogl.awt.jar to jogl.awt.lst
+list jogl.cg.jar to jogl.cg.lst
+list jogl.core.cdc.jar to jogl.core.cdc.lst
+list jogl.core.jar to jogl.core.lst
+list jogl.egl.cdc.jar to jogl.egl.cdc.lst
+list jogl.egl.jar to jogl.egl.lst
+list jogl.gl2.dbg.jar to jogl.gl2.dbg.lst
+list jogl.gl2.jar to jogl.gl2.lst
+list jogl.gl3.dbg.jar to jogl.gl3.dbg.lst
+list jogl.gl3.jar to jogl.gl3.lst
+list jogl.gl4.dbg.jar to jogl.gl4.dbg.lst
+list jogl.gl4.jar to jogl.gl4.lst
+list jogl.gles1.cdc.jar to jogl.gles1.cdc.lst
+list jogl.gles1.dbg.cdc.jar to jogl.gles1.dbg.cdc.lst
+list jogl.gles1.dbg.jar to jogl.gles1.dbg.lst
+list jogl.gles1.jar to jogl.gles1.lst
+list jogl.gles2.cdc.jar to jogl.gles2.cdc.lst
+list jogl.gles2.dbg.cdc.jar to jogl.gles2.dbg.cdc.lst
+list jogl.gles2.dbg.jar to jogl.gles2.dbg.lst
+list jogl.gles2.jar to jogl.gles2.lst
+list jogl.glu.gl2.jar to jogl.glu.gl2.lst
+list jogl.glu.mipmap.cdc.jar to jogl.glu.mipmap.cdc.lst
+list jogl.glu.mipmap.jar to jogl.glu.mipmap.lst
+list jogl.glu.tess.cdc.jar to jogl.glu.tess.cdc.lst
+list jogl.glu.tess.jar to jogl.glu.tess.lst
+list jogl-natives-linux-amd64-cdc.jar to jogl-natives-linux-amd64-cdc.lst
+list jogl-natives-linux-amd64.jar to jogl-natives-linux-amd64.lst
+list jogl.os.osx.jar to jogl.os.osx.lst
+list jogl.os.win.jar to jogl.os.win.lst
+list jogl.os.x11.jar to jogl.os.x11.lst
+list jogl.sdk.jar to jogl.sdk.lst
+list jogl.test.jar to jogl.test.lst
+list jogl.util.awt.jar to jogl.util.awt.lst
+list jogl.util.cdc.jar to jogl.util.cdc.lst
+list jogl.util.fixedfuncemu.cdc.jar to jogl.util.fixedfuncemu.cdc.lst
+list jogl.util.fixedfuncemu.jar to jogl.util.fixedfuncemu.lst
+list jogl.util.gl2.jar to jogl.util.gl2.lst
+list jogl.util.jar to jogl.util.lst
+list nativewindow.all.cdc.jar to nativewindow.all.cdc.lst
+list nativewindow.all.jar to nativewindow.all.lst
+list nativewindow.all-noawt.jar to nativewindow.all-noawt.lst
+list nativewindow.awt.jar to nativewindow.awt.lst
+list nativewindow.core.cdc.jar to nativewindow.core.cdc.lst
+list nativewindow.core.jar to nativewindow.core.lst
+list nativewindow-natives-linux-amd64-cdc.jar to nativewindow-natives-linux-amd64-cdc.lst
+list nativewindow-natives-linux-amd64.jar to nativewindow-natives-linux-amd64.lst
+list nativewindow.os.x11.cdc.jar to nativewindow.os.x11.cdc.lst
+list nativewindow.os.x11.jar to nativewindow.os.x11.lst
+list newt.all.cdc.jar to newt.all.cdc.lst
+list newt.all.jar to newt.all.lst
+list newt.all-noawt.jar to newt.all-noawt.lst
+list newt.awt.jar to newt.awt.lst
+list newt.broadcomegl.cdc.jar to newt.broadcomegl.cdc.lst
+list newt.broadcomegl.jar to newt.broadcomegl.lst
+list newt.core.cdc.jar to newt.core.cdc.lst
+list newt.core.jar to newt.core.lst
+list newt-natives-linux-amd64-cdc.jar to newt-natives-linux-amd64-cdc.lst
+list newt-natives-linux-amd64.jar to newt-natives-linux-amd64.lst
+list newt.ogl.cdc.jar to newt.ogl.cdc.lst
+list newt.ogl.jar to newt.ogl.lst
+list newt.os.osx.cdc.jar to newt.os.osx.cdc.lst
+list newt.os.osx.jar to newt.os.osx.lst
+list newt.os.win.cdc.jar to newt.os.win.cdc.lst
+list newt.os.win.jar to newt.os.win.lst
+list newt.os.x11.cdc.jar to newt.os.x11.cdc.lst
+list newt.os.x11.jar to newt.os.x11.lst
+mv: cannot stat `jogl.all.cdc.lst': No such file or directory
+mv: cannot stat `nativewindow.all.cdc.lst': No such file or directory
+mv: cannot stat `newt.all.cdc.lst': No such file or directory
+duplicates - w/o gl2.*
+
+com/jogamp/openmax/OMXEventListener.class
+com/jogamp/openmax/OMXInstance.class
+com/jogamp/openmax/OMXInstance$EGLImageTexture.class
+mv: cannot stat `jogl.all.cdc.lst': No such file or directory
+mv: cannot stat `nativewindow.all.cdc.lst': No such file or directory
+mv: cannot stat `newt.all.cdc.lst': No such file or directory
+all vs allparts delta
+
+--- allparts.lst 2010-04-20 11:59:19.760514140 +0200
++++ allall.lst 2010-04-20 11:59:19.790598127 +0200
+@@ -1,3 +1,10 @@
++com/jogamp/audio/windows/waveout/Audio.class
++com/jogamp/audio/windows/waveout/Mixer.class
++com/jogamp/audio/windows/waveout/Mixer$FillerThread.class
++com/jogamp/audio/windows/waveout/Mixer$MixerThread.class
++com/jogamp/audio/windows/waveout/SoundBuffer.class
++com/jogamp/audio/windows/waveout/Track.class
++com/jogamp/audio/windows/waveout/Vec3f.class
+ com/jogamp/common/impl/Debug$1.class
+ com/jogamp/common/impl/Debug.class
+ com/jogamp/common/JogampRuntimeException.class
+@@ -616,22 +623,6 @@
+ com/jogamp/openmax/OMXEventListener.class
+ com/jogamp/openmax/OMXInstance.class
+ com/jogamp/openmax/OMXInstance$EGLImageTexture.class
+-com/jogamp/test/junit/jogl/acore/TestGLProfile01CORE.class
+-com/jogamp/test/junit/jogl/awt/TestAWT01GLn.class
+-com/jogamp/test/junit/jogl/demos/es1/RedSquare.class
+-com/jogamp/test/junit/jogl/demos/gl2/gears/Gears.class
+-com/jogamp/test/junit/jogl/drawable/TestDrawable01NEWT.class
+-com/jogamp/test/junit/jogl/offscreen/ReadBuffer2File.class
+-com/jogamp/test/junit/jogl/offscreen/ReadBuffer2Screen.class
+-com/jogamp/test/junit/jogl/offscreen/ReadBufferBase.class
+-com/jogamp/test/junit/jogl/offscreen/ReadBufferUtil.class
+-com/jogamp/test/junit/jogl/offscreen/Surface2File.class
+-com/jogamp/test/junit/jogl/offscreen/TestOffscreen01NEWT.class
+-com/jogamp/test/junit/jogl/offscreen/WindowUtilNEWT.class
+-com/jogamp/test/junit/jogl/texture/TestTexture01AWT.class
+-com/jogamp/test/junit/jogl/util/texture/gl2/TextureGL2ListenerDraw1.class
+-com/jogamp/test/junit/newt/TestWindows01NEWT.class
+-com/jogamp/test/junit/util/MiscUtils.class
+ javax/media/nativewindow/AbstractGraphicsConfiguration.class
+ javax/media/nativewindow/AbstractGraphicsDevice.class
+ javax/media/nativewindow/AbstractGraphicsScreen.class
+JOGL Deployment Payload for jar
+
+JOGL ES1 NEWT CORE
+72 gluegen-rt.jar
+44 nativewindow.all-noawt.jar
+152 jogl.core.jar
+116 jogl.util.jar
+44 jogl.egl.jar
+28 jogl.gles1.jar
+92 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+36 libjogl_es1.so.gz
+12 libnewt.so.gz
+600 total
+
+JOGL ES2 NEWT CORE
+72 gluegen-rt.jar
+44 nativewindow.all-noawt.jar
+152 jogl.core.jar
+116 jogl.util.jar
+44 jogl.egl.jar
+32 jogl.gles2.jar
+92 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+604 total
+
+JOGL ES2 NEWT CORE FIXED
+72 gluegen-rt.jar
+44 nativewindow.all-noawt.jar
+152 jogl.core.jar
+116 jogl.util.jar
+44 jogl.egl.jar
+32 jogl.gles2.jar
+28 jogl.util.fixedfuncemu.jar
+92 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+632 total
+
+JOGL GL2ES12 NEWT
+72 gluegen-rt.jar
+44 nativewindow.all-noawt.jar
+152 jogl.core.jar
+116 jogl.util.jar
+60 jogl.os.x11.jar
+92 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+560 total
+
+JOGL GL2 NEWT
+72 gluegen-rt.jar
+44 nativewindow.all-noawt.jar
+152 jogl.core.jar
+116 jogl.util.jar
+60 jogl.os.x11.jar
+16 jogl.gl2.jar
+92 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+696 total
+
+JOGL GL2 AWT
+72 gluegen-rt.jar
+80 nativewindow.all.jar
+152 jogl.core.jar
+116 jogl.util.jar
+60 jogl.os.x11.jar
+16 jogl.gl2.jar
+64 jogl.awt.jar
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+696 total
+
+JOGL ALL AWT
+72 gluegen-rt.jar
+80 nativewindow.all.jar
+1948 jogl.all.jar
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+2236 total
+
+JOGL ALL No AWT
+72 gluegen-rt.jar
+44 nativewindow.all-noawt.jar
+1848 jogl.all-noawt.jar
+92 newt.all-noawt.jar
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+12 libnewt.so.gz
+2200 total
+
+JOGL CDCFP DESKTOP
+72 gluegen-rt-cdc.jar
+80 nativewindow.all.jar
+1012 jogl.all.cdc.jar
+92 newt.all.cdc.jar
+4 libgluegen-rt.so.gz
+8 libnativewindow_x11.so.gz
+12 libnewt.so.gz
+1280 total
+
+JOGL CDCFP ES1 MOBILE
+72 gluegen-rt-cdc.jar
+152 jogl.core.cdc.jar
+44 jogl.egl.cdc.jar
+28 jogl.gles1.cdc.jar
+116 jogl.util.cdc.jar
+44 nativewindow.all.cdc.jar
+92 newt.all.cdc.jar
+4 libgluegen-rt.so.gz
+36 libjogl_es1.so.gz
+12 libnewt.so.gz
+600 total
+
+JOGL CDCFP ES2 MOBILE
+72 gluegen-rt-cdc.jar
+152 jogl.core.cdc.jar
+44 jogl.egl.cdc.jar
+32 jogl.gles2.cdc.jar
+116 jogl.util.cdc.jar
+44 nativewindow.all.cdc.jar
+92 newt.all.cdc.jar
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+604 total
+
+JOGL GLU
+56 jogl.glu.gl2.jar
+68 jogl.glu.mipmap.cdc.jar
+68 jogl.glu.mipmap.jar
+48 jogl.glu.tess.cdc.jar
+48 jogl.glu.tess.jar
+288 total
+
+JOGL EVERYTHING
+1948 jogl.all.jar
+80 nativewindow.all.jar
+108 newt.all.jar
+4 libgluegen-rt.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+120 libjogl_desktop.so.gz
+36 libjogl_es1.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+2356 total
+
+pack200 gluegen-rt-cdc.pack.gz gluegen-rt-cdc.jar
+pack200 gluegen-rt.pack.gz gluegen-rt.jar
+pack200 jogl.all.cdc.pack.gz jogl.all.cdc.jar
+pack200 jogl.all.pack.gz jogl.all.jar
+pack200 jogl.all-noawt.pack.gz jogl.all-noawt.jar
+pack200 jogl.awt.pack.gz jogl.awt.jar
+pack200 jogl.cg.pack.gz jogl.cg.jar
+pack200 jogl.core.cdc.pack.gz jogl.core.cdc.jar
+pack200 jogl.core.pack.gz jogl.core.jar
+pack200 jogl.egl.cdc.pack.gz jogl.egl.cdc.jar
+pack200 jogl.egl.pack.gz jogl.egl.jar
+pack200 jogl.gl2.dbg.pack.gz jogl.gl2.dbg.jar
+pack200 jogl.gl2.pack.gz jogl.gl2.jar
+pack200 jogl.gl3.dbg.pack.gz jogl.gl3.dbg.jar
+pack200 jogl.gl3.pack.gz jogl.gl3.jar
+pack200 jogl.gl4.dbg.pack.gz jogl.gl4.dbg.jar
+pack200 jogl.gl4.pack.gz jogl.gl4.jar
+pack200 jogl.gles1.cdc.pack.gz jogl.gles1.cdc.jar
+pack200 jogl.gles1.dbg.cdc.pack.gz jogl.gles1.dbg.cdc.jar
+pack200 jogl.gles1.dbg.pack.gz jogl.gles1.dbg.jar
+pack200 jogl.gles1.pack.gz jogl.gles1.jar
+pack200 jogl.gles2.cdc.pack.gz jogl.gles2.cdc.jar
+pack200 jogl.gles2.dbg.cdc.pack.gz jogl.gles2.dbg.cdc.jar
+pack200 jogl.gles2.dbg.pack.gz jogl.gles2.dbg.jar
+pack200 jogl.gles2.pack.gz jogl.gles2.jar
+pack200 jogl.glu.gl2.pack.gz jogl.glu.gl2.jar
+pack200 jogl.glu.mipmap.cdc.pack.gz jogl.glu.mipmap.cdc.jar
+pack200 jogl.glu.mipmap.pack.gz jogl.glu.mipmap.jar
+pack200 jogl.glu.tess.cdc.pack.gz jogl.glu.tess.cdc.jar
+pack200 jogl.glu.tess.pack.gz jogl.glu.tess.jar
+pack200 jogl-natives-linux-amd64-cdc.pack.gz jogl-natives-linux-amd64-cdc.jar
+pack200 jogl-natives-linux-amd64.pack.gz jogl-natives-linux-amd64.jar
+pack200 jogl.os.osx.pack.gz jogl.os.osx.jar
+pack200 jogl.os.win.pack.gz jogl.os.win.jar
+pack200 jogl.os.x11.pack.gz jogl.os.x11.jar
+pack200 jogl.sdk.pack.gz jogl.sdk.jar
+pack200 jogl.test.pack.gz jogl.test.jar
+pack200 jogl.util.awt.pack.gz jogl.util.awt.jar
+pack200 jogl.util.cdc.pack.gz jogl.util.cdc.jar
+pack200 jogl.util.fixedfuncemu.cdc.pack.gz jogl.util.fixedfuncemu.cdc.jar
+pack200 jogl.util.fixedfuncemu.pack.gz jogl.util.fixedfuncemu.jar
+pack200 jogl.util.gl2.pack.gz jogl.util.gl2.jar
+pack200 jogl.util.pack.gz jogl.util.jar
+pack200 nativewindow.all.cdc.pack.gz nativewindow.all.cdc.jar
+pack200 nativewindow.all.pack.gz nativewindow.all.jar
+pack200 nativewindow.all-noawt.pack.gz nativewindow.all-noawt.jar
+pack200 nativewindow.awt.pack.gz nativewindow.awt.jar
+pack200 nativewindow.core.cdc.pack.gz nativewindow.core.cdc.jar
+pack200 nativewindow.core.pack.gz nativewindow.core.jar
+pack200 nativewindow-natives-linux-amd64-cdc.pack.gz nativewindow-natives-linux-amd64-cdc.jar
+pack200 nativewindow-natives-linux-amd64.pack.gz nativewindow-natives-linux-amd64.jar
+pack200 nativewindow.os.x11.cdc.pack.gz nativewindow.os.x11.cdc.jar
+pack200 nativewindow.os.x11.pack.gz nativewindow.os.x11.jar
+pack200 newt.all.cdc.pack.gz newt.all.cdc.jar
+pack200 newt.all.pack.gz newt.all.jar
+pack200 newt.all-noawt.pack.gz newt.all-noawt.jar
+pack200 newt.awt.pack.gz newt.awt.jar
+pack200 newt.broadcomegl.cdc.pack.gz newt.broadcomegl.cdc.jar
+pack200 newt.broadcomegl.pack.gz newt.broadcomegl.jar
+pack200 newt.core.cdc.pack.gz newt.core.cdc.jar
+pack200 newt.core.pack.gz newt.core.jar
+pack200 newt-natives-linux-amd64-cdc.pack.gz newt-natives-linux-amd64-cdc.jar
+pack200 newt-natives-linux-amd64.pack.gz newt-natives-linux-amd64.jar
+pack200 newt.ogl.cdc.pack.gz newt.ogl.cdc.jar
+pack200 newt.ogl.pack.gz newt.ogl.jar
+pack200 newt.os.osx.cdc.pack.gz newt.os.osx.cdc.jar
+pack200 newt.os.osx.pack.gz newt.os.osx.jar
+pack200 newt.os.win.cdc.pack.gz newt.os.win.cdc.jar
+pack200 newt.os.win.pack.gz newt.os.win.jar
+pack200 newt.os.x11.cdc.pack.gz newt.os.x11.cdc.jar
+pack200 newt.os.x11.pack.gz newt.os.x11.jar
+JOGL Deployment Payload for pack.gz
+
+JOGL ES1 NEWT CORE
+20 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+20 jogl.egl.pack.gz
+12 jogl.gles1.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+36 libjogl_es1.so.gz
+12 libnewt.so.gz
+244 total
+
+JOGL ES2 NEWT CORE
+20 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+20 jogl.egl.pack.gz
+16 jogl.gles2.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+248 total
+
+JOGL ES2 NEWT CORE FIXED
+20 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+20 jogl.egl.pack.gz
+16 jogl.gles2.pack.gz
+16 jogl.util.fixedfuncemu.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+264 total
+
+JOGL GL2ES12 NEWT
+20 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+24 jogl.os.x11.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+208 total
+
+JOGL GL2 NEWT
+20 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+24 jogl.os.x11.pack.gz
+8 jogl.gl2.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+12 libnewt.so.gz
+8 libnativewindow_x11.so.gz
+336 total
+
+JOGL GL2 AWT
+20 gluegen-rt.pack.gz
+20 nativewindow.all.pack.gz
+56 jogl.core.pack.gz
+44 jogl.util.pack.gz
+24 jogl.os.x11.pack.gz
+8 jogl.gl2.pack.gz
+20 jogl.awt.pack.gz
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+328 total
+
+JOGL ALL AWT
+20 gluegen-rt.pack.gz
+20 nativewindow.all.pack.gz
+684 jogl.all.pack.gz
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+860 total
+
+JOGL ALL No AWT
+20 gluegen-rt.pack.gz
+12 nativewindow.all-noawt.pack.gz
+668 jogl.all-noawt.pack.gz
+28 newt.all-noawt.pack.gz
+4 libgluegen-rt.so.gz
+120 libjogl_desktop.so.gz
+8 libnativewindow_x11.so.gz
+12 libnewt.so.gz
+872 total
+
+JOGL CDCFP DESKTOP
+20 gluegen-rt-cdc.pack.gz
+20 nativewindow.all.pack.gz
+340 jogl.all.cdc.pack.gz
+28 newt.all.cdc.pack.gz
+4 libgluegen-rt.so.gz
+8 libnativewindow_x11.so.gz
+12 libnewt.so.gz
+432 total
+
+JOGL CDCFP ES1 MOBILE
+20 gluegen-rt-cdc.pack.gz
+56 jogl.core.cdc.pack.gz
+20 jogl.egl.cdc.pack.gz
+12 jogl.gles1.cdc.pack.gz
+44 jogl.util.cdc.pack.gz
+12 nativewindow.all.cdc.pack.gz
+28 newt.all.cdc.pack.gz
+4 libgluegen-rt.so.gz
+36 libjogl_es1.so.gz
+12 libnewt.so.gz
+244 total
+
+JOGL CDCFP ES2 MOBILE
+20 gluegen-rt-cdc.pack.gz
+56 jogl.core.cdc.pack.gz
+20 jogl.egl.cdc.pack.gz
+16 jogl.gles2.cdc.pack.gz
+44 jogl.util.cdc.pack.gz
+12 nativewindow.all.cdc.pack.gz
+28 newt.all.cdc.pack.gz
+4 libgluegen-rt.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+248 total
+
+JOGL GLU
+20 jogl.glu.gl2.pack.gz
+24 jogl.glu.mipmap.cdc.pack.gz
+24 jogl.glu.mipmap.pack.gz
+20 jogl.glu.tess.cdc.pack.gz
+20 jogl.glu.tess.pack.gz
+108 total
+
+JOGL EVERYTHING
+684 jogl.all.pack.gz
+20 nativewindow.all.pack.gz
+32 newt.all.pack.gz
+4 libgluegen-rt.so.gz
+8 libnativewindow_x11.so.gz
+4 libnativewindow_awt.so.gz
+120 libjogl_desktop.so.gz
+36 libjogl_es1.so.gz
+36 libjogl_es2.so.gz
+12 libnewt.so.gz
+956 total
+
diff --git a/doc/differences-from-gl4java.txt b/doc/differences-from-gl4java.txt
new file mode 100644
index 000000000..30c6c090b
--- /dev/null
+++ b/doc/differences-from-gl4java.txt
@@ -0,0 +1,13 @@
+JOGL 1.x:
+- GLContext is no longer exposed in the public API.
+- No more GLAnimCanvas/GLAnimJPanel variants. To perform animation,
+ attach an Animator to a GLDrawable.
+- No GLEnum class. Use GL.[GL_CONSTANT_NAME].
+- GLFunc/GLFunc14 are named GL.
+- GLUFunc/GLUFunc14 are named GLU.
+- Drawable factory does not take initial width and height of drawable.
+- GLEventListener.reshape() now takes x and y arguments, though these
+ should usually be ignored by the application.
+- Simpler GLEventListener API; preDisplay and postDisplay have been
+ removed. GLEventListener.cleanup is not yet supported as it is not
+ clear what the semantics of this routine should be.
diff --git a/doc/jsr-231-changelog-1.1.0.html b/doc/jsr-231-changelog-1.1.0.html
new file mode 100644
index 000000000..bf2d82078
--- /dev/null
+++ b/doc/jsr-231-changelog-1.1.0.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+ <TITLE></TITLE>
+ <META NAME="GENERATOR" CONTENT="StarOffice 8 (Win32)">
+ <META NAME="CREATED" CONTENT="20070130;15551000">
+ <META NAME="CHANGED" CONTENT="20070131;17122065">
+ <STYLE>
+ <!--
+ @page { size: 8.5in 11in; margin: 0.79in }
+ P { margin-bottom: 0.08in }
+ H1 { margin-bottom: 0.08in }
+ H1.western { font-family: "Albany", sans-serif; font-size: 16pt }
+ H1.cjk { font-family: "Andale Sans UI"; font-size: 16pt }
+ H1.ctl { font-family: "Tahoma"; font-size: 16pt }
+ H2 { margin-bottom: 0.08in }
+ H2.western { font-family: "Albany", sans-serif; font-size: 14pt; font-style: italic }
+ H2.cjk { font-size: 14pt; font-style: italic }
+ H2.ctl { font-size: 14pt; font-style: italic }
+ -->
+ </STYLE>
+</HEAD>
+<BODY LANG="en-US" DIR="LTR">
+<P STYLE="margin-top: 0.17in; page-break-after: avoid"><FONT FACE="Thorndale, serif"><FONT SIZE=4><B><FONT SIZE=6 STYLE="font-size: 22pt">Java
+Binding for OpenGL &reg; 1.1.0 API Change Log</FONT></B></FONT></FONT></P>
+<P STYLE="font-weight: medium"><FONT FACE="Thorndale, serif"><FONT SIZE=3 STYLE="font-size: 13pt">This
+change log document contains the proposed changes for the Java
+Binding for OpenGL 1.1.0 API. These changes are the result of
+discussion on the <A href="http://www.javagaming.org/forums/index.php?board=25.0">JOGL forum</A>. </FONT></FONT></P>
+<P><SPAN STYLE="font-weight: medium"><FONT SIZE=3 STYLE="font-size: 13pt"><FONT FACE="Thorndale, serif">The
+changes have already been integrated into the daily and milestone
+implementation builds that can be found at the <A href="https://jogl.dev.java.net">JOGL java.net site</A>. The latest version of the proposed 1.1.0 specification that integrates all of the proposed changes found in this document can also be found there.
+ </FONT></FONT></SPAN><A HREF="http://jogl.dev.java.net/"><SPAN STYLE="font-weight: medium"><FONT SIZE=3 STYLE="font-size: 13pt"><FONT FACE="Thorndale, serif"></FONT></FONT></SPAN></A></P>
+<P STYLE="font-weight: medium"><BR><BR>
+</P>
+<H1 CLASS="western"><FONT FACE="Thorndale, serif">I. Proposed Changes</FONT></H1>
+<PRE></PRE><P>
+<FONT FACE="Thorndale, serif"><FONT SIZE=3 STYLE="font-size: 13pt">Here
+is the list of our proposed changes for the Java Binding for OpenGL
+version 1.1.0 API. All of these changes are within the
+javax.media.opengl package:</FONT></FONT></P>
+<P><FONT FACE="Thorndale, serif"><ol><li><a href="#getChosenGLCapabilities">Add getChosenGLCapabilities to
+the API drawables</a></li></FONT></P>
+<P><FONT FACE="Thorndale, serif"><li><a href="#copyContext">Add copy context functionality to
+the GLContext class</a></li></FONT></P>
+<P><FONT FACE="Thorndale, serif"><li><a href="#opengl2.1GL">Changes to GL class for the
+OpenGL 2.1 binding</a></li></FONT></P>
+<P><FONT FACE="Thorndale, serif"><li><a href="#opengl2.1DebugGLTraceGL">Changes to DebugGL and TraceGL
+classes for the OpenGL 2.1 binding</a></li></ol></FONT></P>
+<P><BR><BR>
+</P>
+<H2 CLASS="western" STYLE="font-style: normal"><FONT FACE="Thorndale, serif"><a name="getChosenGLCapabilities"></a>1.
+Add getChosenGLCapabilities to the API drawables</FONT></H2>
+<PRE></PRE><P>
+<FONT FACE="Thorndale, serif"><FONT SIZE=3 STYLE="font-size: 13pt">We
+propose to add a method for querying the chosen capabilities (i.e.,
+pixel format, visual) for each of the drawables in the
+javax.media.opengl package.</FONT></FONT></P>
+<PRE><FONT FACE="Cumberland, monospace"><U><B>GLDrawable:</B></U></FONT>
+<FONT FACE="Cumberland, monospace">new method:</FONT>
+<FONT FACE="Cumberland, monospace"> public GLCapabilities getChosenGLCapabilities()</FONT>
+
+<FONT FACE="Cumberland, monospace"><U><B>GLCanvas:</B></U></FONT>
+<FONT FACE="Cumberland, monospace">new method:</FONT>
+<FONT FACE="Cumberland, monospace"> public GLCapabilities getChosenGLCapabilities()</FONT>
+
+<FONT FACE="Cumberland, monospace"><U><B>GLJPanel:</B></U></FONT>
+<FONT FACE="Cumberland, monospace">new method:</FONT>
+<FONT FACE="Cumberland, monospace"> public GLCapabilities getChosenGLCapabilities()</FONT>
+</PRE><P>
+<BR><BR>
+</P>
+<H2 CLASS="western" STYLE="font-style: normal"><FONT FACE="Thorndale, serif"><a name="copyContext"></a>2.
+We propose to add the ability to copy a context in the GLContext
+class</FONT></H2>
+<PRE>
+
+<FONT FACE="Cumberland, monospace"><U><B>GLContext:</B></U></FONT>
+<FONT FACE="Cumberland, monospace">new method:</FONT>
+<FONT FACE="Cumberland, monospace"> public abstract void copy(GLContext source, int mask)</FONT>
+
+
+</PRE><H2 CLASS="western">
+<FONT FACE="Thorndale, serif"><SPAN STYLE="font-style: normal"><a name="opengl2.1GL"></a>3. We
+propose the following changes to the GL class which are required for
+the OpenGL 2.1 binding</SPAN></FONT></H2>
+<P><FONT FACE="Thorndale, serif"><FONT SIZE=3 STYLE="font-size: 13pt">
+These changes incorporate both the necessary additions for the standard OpenGL 2.1 binding as well as the latest Nvidia GeForce 8 series OpenGL extensions.</FONT></FONT></P><PRE>
+<U><B>GL:</B></U>
+
+change field value:
+ public static final int GL_GLEXT_VERSION = 36;
+
+Remove fields:
+ public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENTS_EXT = 0x8CD6;
+ public static final int GL_FRAMEBUFFER_STATUS_ERROR_EXT = 0x8CDE;
+ public static final int GL_STENCIL_INDEX_EXT = 0x8D45;
+
+
+Add fields:
+ public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6;
+ public static final int GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F;
+ public static final int GL_PIXEL_PACK_BUFFER = 0x88EB;
+ public static final int GL_PIXEL_UNPACK_BUFFER = 0x88EC;
+ public static final int GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED;
+ public static final int GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
+ public static final int GL_FLOAT_MAT2x3 = 0x8B65;
+ public static final int GL_FLOAT_MAT2x4 = 0x8B66;
+ public static final int GL_FLOAT_MAT3x2 = 0x8B67;
+ public static final int GL_FLOAT_MAT3x4 = 0x8B68;
+ public static final int GL_FLOAT_MAT4x2 = 0x8B69;
+ public static final int GL_FLOAT_MAT4x3 = 0x8B6A;
+ public static final int GL_SRGB = 0x8C40;
+ public static final int GL_SRGB8 = 0x8C41;
+ public static final int GL_SRGB_ALPHA = 0x8C42;
+ public static final int GL_SRGB8_ALPHA8 = 0x8C43;
+ public static final int GL_SLUMINANCE_ALPHA = 0x8C44;
+ public static final int GL_SLUMINANCE8_ALPHA8 = 0x8C45;
+ public static final int GL_SLUMINANCE = 0x8C46;
+ public static final int GL_SLUMINANCE8 = 0x8C47;
+ public static final int GL_COMPRESSED_SRGB = 0x8C48;
+ public static final int GL_COMPRESSED_SRGB_ALPHA = 0x8C49;
+ public static final int GL_COMPRESSED_SLUMINANCE = 0x8C4A;
+ public static final int GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B;
+ public static final int GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50;
+ public static final int GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51;
+ public static final int GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52;
+ public static final int GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53;
+ public static final int GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54;
+ public static final int GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55;
+ public static final int GL_DEPTH_STENCIL_EXT = 0x84F9;
+ public static final int GL_UNSIGNED_INT_24_8_EXT = 0x84FA;
+ public static final int GL_DEPTH24_STENCIL8_EXT = 0x88F0;
+ public static final int GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1;
+ public static final int GL_STENCIL_TAG_BITS_EXT = 0x88F2;
+ public static final int GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3;
+ public static final int GL_SRGB_EXT = 0x8C40;
+ public static final int GL_SRGB8_EXT = 0x8C41;
+ public static final int GL_SRGB_ALPHA_EXT = 0x8C42;
+ public static final int GL_SRGB8_ALPHA8_EXT = 0x8C43;
+ public static final int GL_SLUMINANCE_ALPHA_EXT = 0x8C44;
+ public static final int GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45;
+ public static final int GL_SLUMINANCE_EXT = 0x8C46;
+ public static final int GL_SLUMINANCE8_EXT = 0x8C47;
+ public static final int GL_COMPRESSED_SRGB_EXT = 0x8C48;
+ public static final int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49;
+ public static final int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A;
+ public static final int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B;
+ public static final int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C;
+ public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D;
+ public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E;
+ public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F;
+ public static final int GL_READ_FRAMEBUFFER_EXT = 0x8CA8;
+ public static final int GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9;
+ public static final int GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CA6;
+ public static final int GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CAA;
+ public static final int GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB;
+ public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56;
+ public static final int GL_MAX_SAMPLES_EXT = 0x8D57;
+ public static final int GL_TEXTURE_1D_STACK_MESAX = 0x8759;
+ public static final int GL_TEXTURE_2D_STACK_MESAX = 0x875A;
+ public static final int GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B;
+ public static final int GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C;
+ public static final int GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D;
+ public static final int GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E;
+ public static final int GL_TIME_ELAPSED_EXT = 0x88BF;
+ public static final int GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12;
+ public static final int GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13;
+ public static final int GL_CG_VERTEX_SHADER_EXT = 0x890E;
+ public static final int GL_CG_FRAGMENT_SHADER_EXT = 0x890F;
+ public static final int GL_TEXTURE_BUFFER_EXT = 0x8C2A;
+ public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B;
+ public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C;
+ public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D;
+ public static final int GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E;
+ public static final int GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0;
+ public static final int GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1;
+ public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2;
+ public static final int GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3;
+ public static final int GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4;
+ public static final int GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5;
+ public static final int GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6;
+ public static final int GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7;
+ public static final int GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8;
+ public static final int GL_INT_SAMPLER_1D_EXT = 0x8DC9;
+ public static final int GL_INT_SAMPLER_2D_EXT = 0x8DCA;
+ public static final int GL_INT_SAMPLER_3D_EXT = 0x8DCB;
+ public static final int GL_INT_SAMPLER_CUBE_EXT = 0x8DCC;
+ public static final int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD;
+ public static final int GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE;
+ public static final int GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF;
+ public static final int GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0;
+ public static final int GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1;
+ public static final int GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2;
+ public static final int GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3;
+ public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4;
+ public static final int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5;
+ public static final int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6;
+ public static final int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7;
+ public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8;
+ public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD;
+ public static final int GL_GEOMETRY_SHADER_EXT = 0x8DD9;
+ public static final int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD;
+ public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE;
+ public static final int GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B;
+ public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF;
+ public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0;
+ public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1;
+ public static final int GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA;
+ public static final int GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB;
+ public static final int GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC;
+ public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29;
+ public static final int GL_LINES_ADJACENCY_EXT = 0xA;
+ public static final int GL_LINE_STRIP_ADJACENCY_EXT = 0xB;
+ public static final int GL_TRIANGLES_ADJACENCY_EXT = 0xC;
+ public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0xD;
+ public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7;
+ public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8;
+ public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9;
+ public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4;
+ public static final int GL_PROGRAM_POINT_SIZE_EXT = 0x8642;
+ public static final int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2;
+ public static final int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3;
+ public static final int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4;
+ public static final int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED;
+ public static final int GL_UNIFORM_BUFFER_EXT = 0x8DEE;
+ public static final int GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF;
+ public static final int GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9;
+ public static final int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA;
+ public static final int GL_RGB9_E5_EXT = 0x8C3D;
+ public static final int GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E;
+ public static final int GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F;
+ public static final int GL_R11F_G11F_B10F_EXT = 0x8C3A;
+ public static final int GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B;
+ public static final int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C;
+ public static final int GL_TEXTURE_1D_ARRAY_EXT = 0x8C18;
+ public static final int GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19;
+ public static final int GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A;
+ public static final int GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B;
+ public static final int GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C;
+ public static final int GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D;
+ public static final int GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF;
+ public static final int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E;
+ public static final int GL_RGBA32UI_EXT = 0x8D70;
+ public static final int GL_RGB32UI_EXT = 0x8D71;
+ public static final int GL_ALPHA32UI_EXT = 0x8D72;
+ public static final int GL_INTENSITY32UI_EXT = 0x8D73;
+ public static final int GL_LUMINANCE32UI_EXT = 0x8D74;
+ public static final int GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75;
+ public static final int GL_RGBA16UI_EXT = 0x8D76;
+ public static final int GL_RGB16UI_EXT = 0x8D77;
+ public static final int GL_ALPHA16UI_EXT = 0x8D78;
+ public static final int GL_INTENSITY16UI_EXT = 0x8D79;
+ public static final int GL_LUMINANCE16UI_EXT = 0x8D7A;
+ public static final int GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B;
+ public static final int GL_RGBA8UI_EXT = 0x8D7C;
+ public static final int GL_RGB8UI_EXT = 0x8D7D;
+ public static final int GL_ALPHA8UI_EXT = 0x8D7E;
+ public static final int GL_INTENSITY8UI_EXT = 0x8D7F;
+ public static final int GL_LUMINANCE8UI_EXT = 0x8D80;
+ public static final int GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81;
+ public static final int GL_RGBA32I_EXT = 0x8D82;
+ public static final int GL_RGB32I_EXT = 0x8D83;
+ public static final int GL_ALPHA32I_EXT = 0x8D84;
+ public static final int GL_INTENSITY32I_EXT = 0x8D85;
+ public static final int GL_LUMINANCE32I_EXT = 0x8D86;
+ public static final int GL_LUMINANCE_ALPHA32I_EXT = 0x8D87;
+ public static final int GL_RGBA16I_EXT = 0x8D88;
+ public static final int GL_RGB16I_EXT = 0x8D89;
+ public static final int GL_ALPHA16I_EXT = 0x8D8A;
+ public static final int GL_INTENSITY16I_EXT = 0x8D8B;
+ public static final int GL_LUMINANCE16I_EXT = 0x8D8C;
+ public static final int GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D;
+ public static final int GL_RGBA8I_EXT = 0x8D8E;
+ public static final int GL_RGB8I_EXT = 0x8D8F;
+ public static final int GL_ALPHA8I_EXT = 0x8D90;
+ public static final int GL_INTENSITY8I_EXT = 0x8D91;
+ public static final int GL_LUMINANCE8I_EXT = 0x8D92;
+ public static final int GL_LUMINANCE_ALPHA8I_EXT = 0x8D93;
+ public static final int GL_RED_INTEGER_EXT = 0x8D94;
+ public static final int GL_GREEN_INTEGER_EXT = 0x8D95;
+ public static final int GL_BLUE_INTEGER_EXT = 0x8D96;
+ public static final int GL_ALPHA_INTEGER_EXT = 0x8D97;
+ public static final int GL_RGB_INTEGER_EXT = 0x8D98;
+ public static final int GL_RGBA_INTEGER_EXT = 0x8D99;
+ public static final int GL_BGR_INTEGER_EXT = 0x8D9A;
+ public static final int GL_BGRA_INTEGER_EXT = 0x8D9B;
+ public static final int GL_LUMINANCE_INTEGER_EXT = 0x8D9C;
+ public static final int GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D;
+ public static final int GL_RGBA_INTEGER_MODE_EXT = 0x8D9E;
+ public static final int GL_DEPTH_COMPONENT32F_NV = 0x8DAB;
+ public static final int GL_DEPTH32F_STENCIL8_NV = 0x8DAC;
+ public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD;
+ public static final int GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF;
+ public static final int GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70;
+ public static final int GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71;
+ public static final int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72;
+ public static final int GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73;
+ public static final int GL_BACK_PRIMARY_COLOR_NV = 0x8C77;
+ public static final int GL_BACK_SECONDARY_COLOR_NV = 0x8C78;
+ public static final int GL_TEXTURE_COORD_NV = 0x8C79;
+ public static final int GL_CLIP_DISTANCE_NV = 0x8C7A;
+ public static final int GL_VERTEX_ID_NV = 0x8C7B;
+ public static final int GL_PRIMITIVE_ID_NV = 0x8C7C;
+ public static final int GL_GENERIC_ATTRIB_NV = 0x8C7D;
+ public static final int GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E;
+ public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F;
+ public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80;
+ public static final int GL_ACTIVE_VARYINGS_NV = 0x8C81;
+ public static final int GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82;
+ public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83;
+ public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84;
+ public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85;
+ public static final int GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86;
+ public static final int GL_PRIMITIVES_GENERATED_NV = 0x8C87;
+ public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88;
+ public static final int GL_RASTERIZER_DISCARD_NV = 0x8C89;
+ public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = 0x8C8A;
+ public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B;
+ public static final int GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C;
+ public static final int GL_SEPARATE_ATTRIBS_NV = 0x8C8D;
+ public static final int GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E;
+ public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F;
+ public static final int GL_GEOMETRY_PROGRAM_NV = 0x8C26;
+ public static final int GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27;
+ public static final int GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28;
+ public static final int GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904;
+ public static final int GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905;
+ public static final int GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906;
+ public static final int GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907;
+ public static final int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908;
+ public static final int GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909;
+ public static final int GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5;
+ public static final int GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6;
+ public static final int GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB;
+ public static final int GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10;
+ public static final int GL_MAX_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8D57;
+ public static final int GL_MAX_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E11;
+ public static final int GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12;
+ public static final int GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E13;
+ public static final int GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB;
+ public static final int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC;
+ public static final int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD;
+ public static final int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE;
+ public static final int GL_MESAX_texture_stack = 1;
+
+
+
+Add methods:
+ public void glActiveVaryingNV(int program, java.nio.ByteBuffer name);
+ public void glActiveVaryingNV(int program, byte[] name, int name_offset);
+ public void glBeginTransformFeedbackNV(int primitiveMode);
+ public void glBindBufferBaseNV(int target, int index, int buffer);
+ public void glBindBufferOffsetNV(int target, int index, int buffer, int offset);
+ public void glBindBufferRangeNV(int target, int index, int buffer, int offset, int size);
+ public void glBindFragDataLocationEXT(int program, int color, java.nio.ByteBuffer name);
+ public void glBindFragDataLocationEXT(int program, int color, byte[] name, int name_offset);
+ public void glBlitFramebufferEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter);
+ public void glBufferParameteriAPPLE(int target, int pname, int params);
+ public void glClearColorIiEXT(int red, int green, int blue, int alpha);
+ public void glClearColorIuiEXT(int red, int green, int blue, int alpha);
+ public void glClearDepthdNV(double depth);
+ public void glColorMaskIndexedEXT(int index, boolean r, boolean g, boolean b, boolean a);
+ public void glDepthBoundsdNV(double zmin, double zmax);
+ public void glDepthRangedNV(double zNear, double zFar);
+ public void glDisableIndexedEXT(int target, int index);
+ public void glDrawArraysInstancedEXT(int mode, int start, int count, int primcount);
+ public void glDrawElementsInstancedEXT(int mode, int count, int type, java.nio.Buffer indices, int primcount);
+ public void glEnableIndexedEXT(int target, int index);
+ public void glEndTransformFeedbackNV();
+ public void glFlushMappedBufferRangeAPPLE(int target, int s, int t);
+ public void glFramebufferTextureEXT(int target, int attachment, int texture, int level);
+ public void glFramebufferTextureFaceEXT(int target, int attachment, int texture, int level, int face);
+ public void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer);
+ public void glGetActiveVaryingNV(int program, int index, int bufSize, java.nio.IntBuffer length, java.nio.IntBuffer size, java.nio.IntBuffer type, java.nio.ByteBuffer name);
+ public void glGetActiveVaryingNV(int program, int index, int bufSize, int[] length, int length_offset, int[] size, int size_offset, int[] type, int type_offset, byte[] name, int name_offset);
+ public void glGetBooleanIndexedvEXT(int target, int index, java.nio.ByteBuffer data);
+ public void glGetBooleanIndexedvEXT(int target, int index, byte[] data, int data_offset);
+ public int glGetFragDataLocationEXT(int program, java.nio.ByteBuffer name);
+ public int glGetFragDataLocationEXT(int program, byte[] name, int name_offset);
+ public void glGetIntegerIndexedvEXT(int target, int index, java.nio.IntBuffer data);
+ public void glGetIntegerIndexedvEXT(int target, int index, int[] data, int data_offset);
+ public void glGetProgramEnvParameterIivNV(int target, int index, java.nio.IntBuffer params);
+ public void glGetProgramEnvParameterIivNV(int target, int index, int[] params, int params_offset);
+ public void glGetProgramEnvParameterIuivNV(int target, int index, java.nio.IntBuffer params);
+ public void glGetProgramEnvParameterIuivNV(int target, int index, int[] params, int params_offset);
+ public void glGetProgramLocalParameterIivNV(int target, int index, java.nio.IntBuffer params);
+ public void glGetProgramLocalParameterIivNV(int target, int index, int[] params, int params_offset);
+ public void glGetProgramLocalParameterIuivNV(int target, int index, java.nio.IntBuffer params);
+ public void glGetProgramLocalParameterIuivNV(int target, int index, int[] params, int params_offset);
+ public void glGetQueryObjecti64vEXT(int id, int pname, java.nio.LongBuffer params);
+ public void glGetQueryObjecti64vEXT(int id, int pname, long[] params, int params_offset);
+ public void glGetQueryObjectui64vEXT(int id, int pname, java.nio.LongBuffer params);
+ public void glGetQueryObjectui64vEXT(int id, int pname, long[] params, int params_offset);
+ public void glGetTexParameterIivEXT(int target, int pname, java.nio.IntBuffer params);
+ public void glGetTexParameterIivEXT(int target, int pname, int[] params, int params_offset);
+ public void glGetTexParameterIuivEXT(int target, int pname, java.nio.IntBuffer params);
+ public void glGetTexParameterIuivEXT(int target, int pname, int[] params, int params_offset);
+ public void glGetTransformFeedbackVaryingNV(int program, int index, java.nio.IntBuffer location);
+ public void glGetTransformFeedbackVaryingNV(int program, int index, int[] location, int location_offset);
+ public int glGetUniformBufferSizeEXT(int program, int location);
+ public int glGetUniformOffsetEXT(int program, int location);
+ public void glGetUniformuivEXT(int program, int location, java.nio.IntBuffer params);
+ public void glGetUniformuivEXT(int program, int location, int[] params, int params_offset);
+ public int glGetVaryingLocationNV(int program, java.nio.ByteBuffer name);
+ public int glGetVaryingLocationNV(int program, byte[] name, int name_offset);
+ public void glGetVertexAttribIivEXT(int index, int pname, java.nio.IntBuffer params);
+ public void glGetVertexAttribIivEXT(int index, int pname, int[] params, int params_offset);
+ public void glGetVertexAttribIuivEXT(int index, int pname, java.nio.IntBuffer params);
+ public void glGetVertexAttribIuivEXT(int index, int pname, int[] params, int params_offset);
+ public boolean glIsEnabledIndexedEXT(int target, int index);
+ public void glProgramBufferParametersIivNV(int target, int buffer, int index, int count, java.nio.IntBuffer params);
+ public void glProgramBufferParametersIivNV(int target, int buffer, int index, int count, int[] params, int params_offset);
+ public void glProgramBufferParametersIuivNV(int target, int buffer, int index, int count, java.nio.IntBuffer params);
+ public void glProgramBufferParametersIuivNV(int target, int buffer, int index, int count, int[] params, int params_offset);
+ public void glProgramBufferParametersfvNV(int target, int buffer, int index, int count, java.nio.FloatBuffer params);
+ public void glProgramBufferParametersfvNV(int target, int buffer, int index, int count, float[] params, int params_offset);
+ public void glProgramEnvParameterI4iNV(int target, int index, int x, int y, int z, int w);
+ public void glProgramEnvParameterI4ivNV(int target, int index, java.nio.IntBuffer params);
+ public void glProgramEnvParameterI4ivNV(int target, int index, int[] params, int params_offset);
+ public void glProgramEnvParameterI4uiNV(int target, int index, int x, int y, int z, int w);
+ public void glProgramEnvParameterI4uivNV(int target, int index, java.nio.IntBuffer params);
+ public void glProgramEnvParameterI4uivNV(int target, int index, int[] params, int params_offset);
+ public void glProgramEnvParameters4fvEXT(int target, int filter, int n, java.nio.FloatBuffer weights);
+ public void glProgramEnvParameters4fvEXT(int target, int filter, int n, float[] weights, int weights_offset);
+ public void glProgramEnvParametersI4ivNV(int target, int index, int count, java.nio.IntBuffer params);
+ public void glProgramEnvParametersI4ivNV(int target, int index, int count, int[] params, int params_offset);
+ public void glProgramEnvParametersI4uivNV(int target, int index, int count, java.nio.IntBuffer params);
+ public void glProgramEnvParametersI4uivNV(int target, int index, int count, int[] params, int params_offset);
+ public void glProgramLocalParameterI4iNV(int target, int index, int x, int y, int z, int w);
+ public void glProgramLocalParameterI4ivNV(int target, int index, java.nio.IntBuffer params);
+ public void glProgramLocalParameterI4ivNV(int target, int index, int[] params, int params_offset);
+ public void glProgramLocalParameterI4uiNV(int target, int index, int x, int y, int z, int w);
+ public void glProgramLocalParameterI4uivNV(int target, int index, java.nio.IntBuffer params);
+ public void glProgramLocalParameterI4uivNV(int target, int index, int[] params, int params_offset);
+ public void glProgramLocalParameters4fvEXT(int target, int filter, int n, java.nio.FloatBuffer weights);
+ public void glProgramLocalParameters4fvEXT(int target, int filter, int n, float[] weights, int weights_offset);
+ public void glProgramLocalParametersI4ivNV(int target, int index, int count, java.nio.IntBuffer params);
+ public void glProgramLocalParametersI4ivNV(int target, int index, int count, int[] params, int params_offset);
+ public void glProgramLocalParametersI4uivNV(int target, int index, int count, java.nio.IntBuffer params);
+ public void glProgramLocalParametersI4uivNV(int target, int index, int count, int[] params, int params_offset);
+ public void glProgramParameteriEXT(int program, int pname, int value);
+ public void glProgramVertexLimitNV(int target, int limit);
+ public void glRenderbufferStorageMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalformat, int width, int height);
+ public void glRenderbufferStorageMultisampleEXT(int target, int samples, int internalformat, int width, int height);
+ public void glStencilClearTagEXT(int stencilTagBits, int stencilClearTag);
+ public void glTexBufferEXT(int target, int internalformat, int buffer);
+ public void glTexParameterIivEXT(int target, int pname, java.nio.IntBuffer params);
+ public void glTexParameterIivEXT(int target, int pname, int[] params, int params_offset);
+ public void glTexParameterIuivEXT(int target, int pname, java.nio.IntBuffer params);
+ public void glTexParameterIuivEXT(int target, int pname, int[] params, int params_offset);
+ public void glTransformFeedbackAttribsNV(int count, java.nio.IntBuffer attribs, int bufferMode);
+ public void glTransformFeedbackAttribsNV(int count, int[] attribs, int attribs_offset, int bufferMode);
+ public void glTransformFeedbackVaryingsNV(int program, int count, java.nio.IntBuffer locations, int bufferMode);
+ public void glTransformFeedbackVaryingsNV(int program, int count, int[] locations, int locations_offset, int bufferMode);
+ public void glUniform1uiEXT(int location, int v0);
+ public void glUniform1uivEXT(int location, int count, java.nio.IntBuffer value);
+ public void glUniform1uivEXT(int location, int count, int[] value, int value_offset);
+ public void glUniform2uiEXT(int location, int v0, int v1);
+ public void glUniform2uivEXT(int location, int count, java.nio.IntBuffer value);
+ public void glUniform2uivEXT(int location, int count, int[] value, int value_offset);
+ public void glUniform3uiEXT(int location, int v0, int v1, int v2);
+ public void glUniform3uivEXT(int location, int count, java.nio.IntBuffer value);
+ public void glUniform3uivEXT(int location, int count, int[] value, int value_offset);
+ public void glUniform4uiEXT(int location, int v0, int v1, int v2, int v3);
+ public void glUniform4uivEXT(int location, int count, java.nio.IntBuffer value);
+ public void glUniform4uivEXT(int location, int count, int[] value, int value_offset);
+ public void glUniformBufferEXT(int program, int location, int buffer);
+ public void glUniformMatrix2x3fv(int location, int count, boolean transpose, java.nio.FloatBuffer value);
+ public void glUniformMatrix2x3fv(int location, int count, boolean transpose, float[] value, int value_offset);
+ public void glUniformMatrix2x4fv(int location, int count, boolean transpose, java.nio.FloatBuffer value);
+ public void glUniformMatrix2x4fv(int location, int count, boolean transpose, float[] value, int value_offset);
+ public void glUniformMatrix3x2fv(int location, int count, boolean transpose, java.nio.FloatBuffer value);
+ public void glUniformMatrix3x2fv(int location, int count, boolean transpose, float[] value, int value_offset);
+ public void glUniformMatrix3x4fv(int location, int count, boolean transpose, java.nio.FloatBuffer value);
+ public void glUniformMatrix3x4fv(int location, int count, boolean transpose, float[] value, int value_offset);
+ public void glUniformMatrix4x2fv(int location, int count, boolean transpose, java.nio.FloatBuffer value);
+ public void glUniformMatrix4x2fv(int location, int count, boolean transpose, float[] value, int value_offset);
+ public void glUniformMatrix4x3fv(int location, int count, boolean transpose, java.nio.FloatBuffer value);
+ public void glUniformMatrix4x3fv(int location, int count, boolean transpose, float[] value, int value_offset);
+ public void glVertexAttribI1iEXT(int index, int x);
+ public void glVertexAttribI1ivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI1ivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI1uiEXT(int index, int x);
+ public void glVertexAttribI1uivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI1uivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI2iEXT(int index, int x, int y);
+ public void glVertexAttribI2ivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI2ivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI2uiEXT(int index, int x, int y);
+ public void glVertexAttribI2uivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI2uivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI3iEXT(int index, int x, int y, int z);
+ public void glVertexAttribI3ivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI3ivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI3uiEXT(int index, int x, int y, int z);
+ public void glVertexAttribI3uivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI3uivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI4bvEXT(int index, java.nio.ByteBuffer v);
+ public void glVertexAttribI4bvEXT(int index, byte[] v, int v_offset);
+ public void glVertexAttribI4iEXT(int index, int x, int y, int z, int w);
+ public void glVertexAttribI4ivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI4ivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI4svEXT(int index, java.nio.ShortBuffer v);
+ public void glVertexAttribI4svEXT(int index, short[] v, int v_offset);
+ public void glVertexAttribI4ubvEXT(int index, java.nio.ByteBuffer v);
+ public void glVertexAttribI4ubvEXT(int index, byte[] v, int v_offset);
+ public void glVertexAttribI4uiEXT(int index, int x, int y, int z, int w);
+ public void glVertexAttribI4uivEXT(int index, java.nio.IntBuffer v);
+ public void glVertexAttribI4uivEXT(int index, int[] v, int v_offset);
+ public void glVertexAttribI4usvEXT(int index, java.nio.ShortBuffer v);
+ public void glVertexAttribI4usvEXT(int index, short[] v, int v_offset);
+ public void glVertexAttribIPointerEXT(int index, int size, int type, int stride, java.nio.Buffer pointer);</PRE><P STYLE="margin-bottom: 0in">
+<BR>
+</P>
+<H2 CLASS="western" STYLE="font-style: normal"><FONT FACE="Thorndale, serif"><a name="opengl2.1DebugGLTraceGL"></a>4.
+We propose the following changes to the DebugGL and TraceGL classes
+which are required for the OpenGL 2.1 binding</FONT></H2>
+<P STYLE="margin-bottom: 0in"><FONT SIZE=3 STYLE="font-size: 13pt">The
+list of added methods for the TraceGL and DebugGL classes is exactly
+the same as the list above for GL. There are no field additions to
+TraceGL and DebugGL, however, just method additions.</FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H1 CLASS="western"><FONT FACE="Thorndale, serif"><FONT SIZE=4 STYLE="font-size: 16pt">II.
+Accepted Changes</FONT></FONT></H1>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H1 CLASS="western"><FONT FACE="Thorndale, serif">III. Deferred
+Changes</FONT></H1>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+</BODY>
+</HTML>
diff --git a/doc/userguide/index.html b/doc/userguide/index.html
new file mode 100644
index 000000000..aa0645bf9
--- /dev/null
+++ b/doc/userguide/index.html
@@ -0,0 +1,1016 @@
+<!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <link href="../../../style.css" rel="stylesheet" type="text/css"/>
+ <title>JOGL Userguide</title>
+ </head>
+ <body>
+ <div id="container">
+ <div id="header">
+ <div id="slogan">JOGL Userguide</div>
+ <div id="logo"><a href="http://jogamp.org/">JOGL Userguide</a></div>
+ </div>
+ <div id="menu">
+ <ul>
+ <li><a href="http://jogamp.org/">Home</a></li>
+ <li><a href="../../../gluegen/www/">Gluegen</a></li>
+ <li><a href="../../../joal/www/">JOAL</a></li>
+ <li><a href="../../../jocl/www/">JOCL</a></li>
+ <li><a href="../../../jogl/www/">JOGL</a></li>
+ <li><a href="../../../demos/www/">Demos</a></li>
+ <li><a href="../../../wiki/">Wiki</a></li>
+ <li><a href="../../../deployment/jogl-next/javadoc_public/">JavaDoc</a></li>
+ </ul>
+ </div>
+ <div id="main">
+ <div id="text" class="fill">
+ <h2><font color="red">WARNING: This document has not been updated for a long time.</font></h2>
+ <br/>
+ <br/>
+<UL>
+
+ <LI> Overview
+ <LI> Developing with JOGL
+ <UL>
+ <LI> Building the source tree
+ <LI> Local installation for development
+ <LI> Java Web Start integration
+ <LI> Applet support
+ </UL>
+ <LI> GLDrawable and GLContext
+ <LI> Creating a GLAutoDrawable
+ <LI> Writing a GLEventListener
+ <LI> Using the Composable Pipeline
+ <LI> Heavyweight and Lightweight Issues
+ <LI> Multithreading Issues
+ <LI> Pbuffers
+ <LI> GLU
+ <LI> More Resources
+ <LI> Platform notes
+ <UL>
+ <LI> All Platforms
+ <LI> Windows
+ <LI> Linux
+ <LI> Solaris, Linux (X11 platforms)
+ <LI> Macintosh OS X
+ </UL>
+ <LI> Version History
+
+</UL>
+
+<H2> Overview </H2>
+
+<P>
+
+Jogl is a Java programming language binding for the OpenGL 3D graphics
+API. It supports integration with the Java platform's AWT and Swing
+widget sets while providing a minimal and easy-to-use API that handles
+many of the issues associated with building multithreaded OpenGL
+applications. Jogl provides access to the latest OpenGL routines
+(OpenGL 2.0 with vendor extensions) as well as platform-independent
+access to hardware-accelerated offscreen rendering ("pbuffers"). Jogl
+also provides some of the most popular features introduced by other
+Java bindings for OpenGL like GL4Java, LWJGL and Magician, including a
+composable pipeline model which can provide faster debugging for
+Java-based OpenGL applications than the analogous C program.
+
+</P>
+<P>
+
+Jogl was designed for the most recent versions of the Java platform
+and for this reason supports only J2SE 1.4 and later. It also only
+supports truecolor (15 bits per pixel and higher) rendering; it does
+not support color-indexed modes. It was designed with New I/O (NIO) in
+mind and uses NIO internally in the implementation. The Jogl binding
+is itself written almost completely in the Java programming language.
+There are roughly 150 lines of handwritten C code in the entire Jogl
+source base (100 of which work around bugs in older OpenGL drivers on
+Windows); the rest of the native code is autogenerated during the
+build process by a new tool called <a
+href="http://kenai.com/projects/gluegen/pages/Home/">GlueGen</a>, the source code of
+which is available from its own java.net project.
+
+</P>
+<P>
+
+The JOGL source tree in its current form is an experimental workspace
+for the <a href="http://jcp.org/en/jsr/detail?id=231">JSR-231</a> Java
+Bindings for OpenGL JSR. JOGL is not the official reference
+implementation, but an evolving workspace. Snapshots of the JOGL
+source tree are run through the JSR-231 Technology Compatibility Kit
+(TCK) to become the official reference implementation (RI). As of this
+writing the JSR has not been finalized, so the first official RI of
+the JSR has not yet been produced.
+
+</P>
+
+<H2> Developing with JOGL </H2>
+
+<H3> Building the source tree </H3>
+
+<P>
+
+Most developers using JOGL will download the most current
+<a href="http://download.java.net/media/jogl/builds/archive/">release build</a>.
+Separate instructions are available on how to
+<a href="http://download.java.net/media/jogl/doc/HowToBuild.html">build the source tree</a>.
+
+</P>
+
+<H3> Local installation for development </H3>
+
+<P>
+
+The JOGL distribution for developers comes in the form of a zip
+archive which contains the Java classes to call OpenGL from Java, as
+well as the associated JNI native libraries. JOGL depends on some
+run-time support classes and native code provided by the GlueGen
+project; these classes and native code are also provided in the zip
+bundles.
+
+</P>
+<P>
+
+If you are developing a new application which uses JOGL, download the
+zip archive for your platform (for example.,
+jogl-[version]-windows-i586.zip) and unzip it. Modify your CLASSPATH
+environment variable to include the full paths to jogl.all.jar,
+nativewindow.all.jar, gluegen-rt.jar, and optionally newt.all.jar; for
+example,
+".;C:\Some\Other\Package\foo.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\jogl.all.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\nativewindow.all.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\gluegen-rt.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\newt.all.jar".
+(If you did not previously set the CLASSPATH environment variable, you
+may want to make sure that ".", the current directory, is on your new
+CLASSPATH.) Modify your PATH environment variable (Windows),
+LD_LIBRARY_PATH environment variable (Solaris and Linux), or
+DYLD_LIBRARY_PATH environment variable (Mac OS X) to contain the full
+path to the "lib" directory; for example, on Windows, add
+"C:\Users\myhome\jogl-[version]-windows-i586\lib" to your PATH using
+the System control panel, Advanced tab, Environment Variables
+button. At this point your Java installation should be able to see the
+JOGL class files. Users of IDEs such as NetBeans and Eclipse should
+consult the IDE's documentation to see how to add jar files and native
+libraries to their current project.
+
+</P>
+<P>
+
+Note that the per-platform zip archives contain many more jar files
+than just the three or four mentioned above. The additional jars
+illustrate how JOGL may be partitioned to achieve a smaller deployment
+size, in particular on smaller devices.
+
+</P>
+<P>
+
+Dropping the JOGL jars and native libraries into the extension
+directory of the JRE is <b>strongly discouraged</b>. Doing so will
+cause conflicts with third-party applications launched via Java Web
+Start, and causes confusion later when upgrading the distribution.
+
+</P>
+<P>
+
+If you are on the Linux platform, please see the Linux-specific
+platform notes, below, with information on incompatibility between the
+JPackage Java RPMs and JOGL.
+
+</P>
+
+<H3> Java Web Start integration </H3>
+
+<P>
+
+The recommended distribution vehicle for applications using JOGL is
+Java Web Start. JOGL-based applications do not even need to be signed;
+all that is necessary is to reference the JOGL extension JNLP file.
+Because the JOGL jar files are signed, an unsigned application can
+reference the signed JOGL library and continue to run inside the
+sandbox.
+
+</P>
+<P>
+
+Please read <a href="../deployment/JOGL-DEPLOYMENT.html">JOGL Deployment</a>.
+
+<H3> Applet support </H3>
+
+<P>
+
+Lilian Chamontin, in conjunction with several other members of the
+JOGL community, has contributed a JOGL applet installer. This
+installer uses some clever tricks to allow deployment of unsigned
+applets which use JOGL into existing web browsers and JREs as far back
+as 1.4.2, which is the earliest version of Java supported by JOGL.
+
+</P>
+<P>
+
+The JOGLAppletInstaller is distributed inside jogl.jar as a utility
+class in com.jogamp.opengl.util. It requires that the developer host a
+local, signed copy of jogl.jar and all of the jogl-natives jars; the
+certificates must be the same on all of these jars. Note that in the
+release builds of JOGL all of these jars are signed by Sun
+Microsystems, so the developer can deploy applets without needing any
+certificates.
+
+</P>
+<P>
+
+The JOGLAppletInstaller javadoc describes the basic steps for
+deployment of an applet utilizing JOGL. Please refer to this
+documentation for more information. A live example of deploying an
+unsigned JOGL applet will be added to this documentation shortly once
+the first signed build of the JOGLAppletInstaller has been shipped.
+
+</P>
+
+<H2> GLDrawable and GLContext </H2>
+
+<P>
+
+The JSR-231 APIs specify interfaces two low-level OpenGL abstractions:
+drawables and contexts. An OpenGL drawable is effectively a surface
+upon which OpenGL rendering will be performed. In order to perform
+rendering, an OpenGL rendering context is needed. Contexts and
+drawables typically go hand-in-hand. More than one context may be
+created for a particular drawable. In the JSR-231 abstractions, a
+context is always associated with exactly one drawable.
+
+</P>
+<P>
+
+Most end users will not need to use these abstractions directly.
+However, when sharing textures, display lists and other OpenGL objects
+between widgets, the concrete identifier for the "namespace" for these
+objects is the GLContext.
+
+</P>
+
+<H2> Creating a GLAutoDrawable </H2>
+
+<P>
+
+Jogl provides two basic widgets into which OpenGL rendering can be
+performed. The GLCanvas is a heavyweight AWT widget which supports
+hardware acceleration and which is intended to be the primary widget
+used by applications. The GLJPanel is a fully Swing-compatible
+lightweight widget which supports hardware acceleration but which is
+not as fast as the GLCanvas because it typically reads back the frame
+buffer in order to draw it using Java2D. The GLJPanel is intended to
+provide 100% correct Swing integration in the circumstances where a
+GLCanvas can not be used. See <a href =
+"http://java.sun.com/products/jfc/tsc/articles/mixing/">this
+article</a> on <a href = "http://java.sun.com/products/jfc/tsc/">The
+Swing Connection</a> for more information about mixing lightweight and
+heavyweight widgets. See also the section on "Heavyweight and
+Lightweight Issues" below. Recent work in the Mustang release of the
+JDK has sped up the GLJPanel significantly when the Java2D OpenGL
+pipeline is enabled; see <a
+href="http://www.javagaming.org/forums/index.php?topic=10813.0">this
+forum discussion</a> for more details.
+
+</P>
+<P>
+
+Both the GLCanvas and GLJPanel implement a common interface called
+GLAutoDrawable so applications can switch between them with minimal
+code changes. The GLAutoDrawable interface provides
+
+<UL>
+
+ <LI> access to the GL object for calling OpenGL routines
+
+ <LI> a callback mechanism (GLEventListener) for performing OpenGL
+ rendering
+
+ <LI> a <CODE>display()</CODE> method for forcing OpenGL rendering to
+ be performed synchronously
+
+ <LI> AWT- and Swing-independent abstractions for getting and setting
+ the size of the widget and adding and removing event listeners
+
+</UL>
+
+</P>
+<P>
+
+When creating GLCanvas and GLJPanel instances, the user may request a
+certain set of OpenGL parameters in the form of a GLCapabilities
+object, customize the format selection algorithm by specifying a
+GLCapabilitiesChooser, share textures and display lists with other
+GLDrawables, and specify the display device on which the
+GLAutoDrawable will be created (GLCanvas only).
+
+</P>
+<P>
+
+A GLCapabilities object specifies the OpenGL parameters for a
+newly-created widget, such as the color, alpha,, z-buffer and
+accumulation buffer bit depths and whether the widget is
+double-buffered. The default capabilities are loosely specified but
+provide for truecolor RGB, a reasonably large depth buffer,
+double-buffered, with no alpha, stencil, or accumulation buffers.
+
+</P>
+<P>
+
+An application can override the default pixel format selection
+algorithm by providing a GLCapabilitiesChooser to the GLCanvas or
+GLJPanel constructor. (Not all platforms support the
+GLCapabilitiesChooser mechanism, however; it may be ignored, in
+particular on Mac OS X where pixel format selection is very different
+than on other platforms.) The chooseCapabilities method will be called
+with all of the available pixel formats as an array of GLCapabilities
+objects, as well as the index indicating the window system's
+recommended choice; it should return an integer index into this
+array. The DefaultGLCapabilitiesChooser uses the window system's
+recommendation when it is available, and otherwise attempts to use a
+platform-independent selection algorithm.
+
+</P>
+<P>
+
+The GLJPanel can be made non-opaque according to Swing's rendering
+model, so it can act as an overlay to other Swing or Java2D drawing.
+In order to enable this, set up your GLCapabilities object with a
+non-zero alpha depth (a common value is 8 bits) and call
+setOpaque(false) on the GLJPanel once it has been created. Java2D
+rendering underneath it will then show through areas where OpenGL has
+produced an alpha value less than 1.0. See the JGears and JRefract
+demos for examples of how to use this functionality.
+
+</P>
+
+<H2> Writing a GLEventListener </H2>
+
+<P>
+
+Applications implement the GLEventListener interface to perform OpenGL
+drawing via callbacks. When the methods of the GLEventListener are
+called, the underlying OpenGL context associated with the drawable is
+already current. The listener fetches the GL object out of the
+GLAutoDrawable and begins to perform rendering.
+
+</P>
+<P>
+
+The <CODE>init()</CODE> method is called when a new OpenGL context is
+created for the given GLAutoDrawable. Any display lists or textures
+used during the application's normal rendering loop can be safely
+initialized in <CODE>init()</CODE>. It is important to note that
+because the underlying AWT window may be destroyed and recreated while
+using the same GLCanvas and GLEventListener, the GLEventListener's
+<CODE>init()</CODE> method may be called more than once during the
+lifetime of the application. The init() method should therefore be
+kept as short as possible and only contain the OpenGL initialization
+required for the <CODE>display()</CODE> method to run properly. It is
+the responsibility of the application to keep track of how its various
+OpenGL contexts share display lists, textures and other OpenGL objects
+so they can be either be reinitialized or so that reinitialization can
+be skipped when the <CODE>init()</CODE> callback is called.
+
+</P>
+<P>
+
+Note also that the GLEventListener should be added to the
+GLAutoDrawable before the GLAutoDrawable is shown or rendered to for
+the first time. If this is not done, it is possible that the init()
+method will not be called on the GLEventListener. JOGL does not
+maintain internal state to keep track of whether init() has been
+called on a particular GLEventListener since the last time an OpenGL
+context was created for that GLAutoDrawable.
+
+</P>
+<P>
+
+The <CODE>display()</CODE> method is called to perform per-frame
+rendering. The <CODE>reshape()</CODE> method is called when the
+drawable has been resized; the default implementation automatically
+resizes the OpenGL viewport so often it is not necessary to do any
+work in this method. The <CODE>displayChanged()</CODE> method is
+designed to allow applications to support on-the-fly screen mode
+switching, but support for this is not yet implemented so the body of
+this method should remain empty.
+
+</P>
+<P>
+
+It is strongly recommended that applications always refetch the GL
+object out of the GLAutoDrawable upon each call to the
+<CODE>init()</CODE>, <CODE>display()</CODE> and <CODE>reshape()</CODE>
+methods and pass the GL object down on the stack to any drawing
+routines, as opposed to storing the GL in a field and referencing it
+from there. The reason is that multithreading issues inherent to the
+AWT toolkit make it difficult to reason about which threads certain
+operations are occurring on, and if the GL object is stored in a field
+it is unfortunately too easy to accidentally make OpenGL calls from a
+thread that does not have a current context. This will usually cause
+the application to crash. For more information please see the section
+on multithreading.
+
+</P>
+
+<H2> Using the Composable Pipeline </H2>
+
+<P>
+
+Jogl supports the "composable pipeline" paradigm introduced by the
+Magician Java binding for OpenGL. The DebugGL pipeline calls
+<CODE>glGetError</CODE> after each OpenGL call, reporting any errors
+found. It can greatly speed up development time because of its
+fine-grained error checking as opposed to the manual error checking
+usually required in OpenGL programs written in C. The TraceGL prints
+logging information upon each OpenGL call and is helpful when an
+application crash makes it difficult to see where the error occurred.
+
+</P>
+<P>
+
+To use these pipelines, call <CODE>GLAutoDrawable.setGL</CODE> at the
+beginning of the <CODE>init</CODE> method in your GLEventListener. For
+example,
+
+<PRE>
+class MyListener implements GLEventListener {
+ public void init(GLDrawable drawable) {
+ drawable.setGL(new DebugGL(drawable.getGL()));
+ // ...
+ }
+
+ // ...
+}
+</PRE>
+
+</P>
+<P>
+
+Note that the GLAutoDrawable.setGL() method simply calls setGL() on
+the default OpenGL context created by the GLAutoDrawable, so
+sophisticated applications creating their own OpenGL contexts can use
+the composable pipeline with these contexts by setting the GL object
+in the context object itself. The composable pipeline needs to be
+re-installed every time GLContext.makeCurrent() returns
+CONTEXT_CURRENT_NEW.
+
+</P>
+
+<H2> Heavyweight and Lightweight Issues </H2>
+
+<P>
+
+As mentioned above, JOGL supplies both a heavyweight (GLCanvas) and a
+lightweight (GLJPanel) widget to be able to provide the fastest
+possible performance for applications which need it as well as 100%
+correct Swing integration, again for applications which need it. The
+GLCanvas usually provides higher performance than the GLJPanel, though
+in recent releases the GLJPanel's speed has been improved when the
+Java2D/OpenGL pipeline is active as described in <a
+href="http://www.javagaming.org/forums/index.php?topic=10813.0">this
+forum discussion</a>. Nonetheless, the GLCanvas can be used in almost
+every kind of application except those using JInternalFrames. Please
+see the Swing Connection article mentioned above for details on mixing
+heavyweight and lightweight widgets. A couple of common pitfalls are
+described here.
+
+</P>
+<P>
+
+When using JPopupMenus or Swing tool tips in conjunction with the
+GLCanvas, it is necessary to disable the use of lightweight widgets
+for the popups. See the methods
+<CODE>ToolTipManager.setLightWeightPopupEnabled</CODE>,
+<CODE>JPopupMenu.setLightWeightPopupEnabled</CODE>, and
+<CODE>JPopupMenu.setDefaultLightWeightPopupEnabled</CODE>.
+
+</P>
+<P>
+
+There are occasionally problems with certain LayoutManagers and
+component configurations where if a GLCanvas is placed in the middle
+of a set of lightweight widgets then it may only grow and never
+shrink. These issues are documented somewhat in <a href =
+"https://jogl.dev.java.net/issues/show_bug.cgi?id=135">JOGL Issue
+135</a> and most recently in the thread <a
+href="http://javagaming.org/forums/index.php?topic=8699.0">"Resize
+behaviour"</a> in the JOGL forum. The root cause is behavior of the
+Canvas, and in particular its ComponentPeer. The implementation of
+getPreferredSize() calls getMinimumSize() and getMinimumSize() turns
+around and calls Component.getSize(). This effectively means that the
+Canvas will report its preferred size as being as large as the
+component has ever been. For some layout managers this doesn't seem to
+matter, but for others like the BoxLayout it does. See the test case
+attached to Issue 135 for an example. Replacing the GLCanvas with an
+ordinary Canvas yields the same behavior.
+
+</P>
+<P>
+
+One suggestion was to override getPreferredSize() so that if a
+preferred size has not been set by the user, to default to (0,
+0). This works fine for some test cases but breaks all of the other
+JOGL demos because they use a different LayoutManager. There appear to
+be a lot of interactions between heavyweight vs. lightweight widgets
+and layout managers. One experiment which was done was to override
+setSize() in GLCanvas to update the preferred size. This works down
+to the size specified by the user; if the window is resized any
+smeller the same problem appears. If reshape() (the base routine of
+setSize(), setBounds(), etc.) is changed to do the same thing, the
+demo breaks in the same way it originally did. Therefore this solution
+is fragile because it isn't clear which of these methods are used
+internally by the AWT and for what purposes.
+
+</P>
+<P>
+
+There are two possible solutions, both application-specific. The best
+and most portable appears to be to put the GLCanvas into a JPanel and
+set the JPanel's preferred size to (0, 0). The JPanel will cause this
+constraint to be enforced on its contained GLCanvas. The other
+workaround is to call <CODE>setPreferredSize(new Dimension(0,
+0))</CODE> on a newly-created GLCanvas; this method is new in 1.5.
+
+</P>
+<P>
+
+Another issue that occasionally arises on Windows is flickering during
+live resizing of a GLCanvas. This is caused by the AWT's repainting
+the background of the Canvas and can not be overridden on a per-Canvas
+basis, for example when subclassing Canvas into GLCanvas. The
+repainting of the background of Canvases on Windows can be disabled by
+specifying the system property
+<CODE>-Dsun.awt.noerasebackground=true</CODE>. Whether to specify this
+flag depends on the application and should not be done universally,
+but instead on a case-by-case basis. Some more detail is in the thread
+<a href="http://javagaming.org/forums/index.php?topic=8770.0">"TIP:
+JOGL + Swing flicker"</a> in the JOGL forum.
+
+</P>
+
+<H2> Multithreading Issues </H2>
+
+<P>
+
+Jogl was designed to interoperate with the AWT, an inherently
+multithreaded GUI toolkit. OpenGL, in contrast, was originally
+designed in single-threaded C programming environments. For this
+reason Jogl provides a framework in which it is possible to write
+correct multithreaded OpenGL applications using the GLEventListener
+paradigm.
+
+</P>
+<P>
+
+If an application written using Jogl interacts in any way with the
+mouse or keyboard, the AWT is processing these events and the
+multithreaded aspects of the program must be considered.
+
+</P>
+<P>
+
+OpenGL applications usually behave in one of two ways: either they
+repaint only on demand, for example when mouse input comes in, or they
+repaint continually, regardless of whether user input is coming in. In
+the repaint-on-demand model, the application can merely call
+<CODE>GLAutoDrawable.display()</CODE> manually at the end of the mouse
+or keyboard listener to cause repainting to be done. Alternatively if
+the application knows the concrete type of the GLDrawable it can call
+repaint() to have the painting scheduled for a later time.
+
+</P>
+<P>
+
+In the continuous repaint model, the application typically has a main
+loop which is calling <CODE>GLAutoDrawable.display()</CODE>
+repeatedly, or is using the Animator class, which does this
+internally. In both of these cases the OpenGL rendering will be done
+on this thread rather than the internal AWT event queue thread which
+dispatches mouse and keyboard events.
+
+</P>
+<P>
+
+Both of these models (repaint-on-demand and repaint continually) still
+require the user to think about which thread keyboard and mouse events
+are coming in on, and which thread is performing the OpenGL rendering.
+OpenGL rendering <B>may not</B> occur directly inside the mouse or
+keyboard handlers, because the OpenGL context for the drawable is not
+current at this point (hence the warning about storing a GL object in
+a field, where it can be fetched and accidentally used by another
+thread). However, a mouse or keyboard listener may invoke
+<CODE>GLAutoDrawable.display()</CODE>.
+
+</P>
+<P>
+
+It is generally recommended that applications perform as little work
+as possible inside their mouse and keyboard handlers to keep the GUI
+responsive. However, since OpenGL commands can not be run from
+directly within the mouse or keyboard event listener, the best
+practice is to store off state when the listener is entered and
+retrieve this state during the next call to
+<CODE>GLEventListener.display()</CODE>.
+
+</P>
+<P>
+
+Furthermore, it is recommended that if there are long computational
+sequences in the GLEventListener's <CODE>display</CODE> method which
+reference variables which may be being simultaneously modified by the
+AWT thread (mouse and keyboard listeners) that copies of these
+variables be made upon entry to <CODE>display</CODE> and these copies
+be referenced throughout display() and the methods it calls. This will
+prevent the values from changing while the OpenGL rendering is being
+performed. Errors of this kind show up in many ways, including certain
+kinds of flickering of the rendered image as certain pieces of objects
+are rendered in one place and other pieces are rendered elsewhere in
+the scene. Restructuring the display() method as described has solved
+all instances of this kind of error that have been seen with Jogl to
+date.
+
+</P>
+<P>
+
+Prior to Jogl 1.1 b10, the Jogl library attempted to give applications
+strict control over which thread or threads performed OpenGL
+rendering. The <CODE>setRenderingThread()</CODE>,
+<CODE>setNoAutoRedrawMode()</CODE> and <CODE>display()</CODE> APIs
+were originally designed to allow the application to create its own
+animation thread and avoid OpenGL context switching on platforms that
+supported it. Unfortunately, serious stability issues caused by
+multithreading bugs in either vendors' OpenGL drivers or in the Java
+platform implementation have arisen on three of Jogl's major supported
+platforms: Windows, Linux and Mac OS X. In order to address these
+bugs, the threading model in Jogl 1.1 b10 and later has changed.
+
+</P>
+<P>
+
+All GLEventListener callbacks and other internal OpenGL context
+management are now performed on one thread. (In the current
+implementation, this thread is the AWT event queue thread, which is a
+thread internal to the implementation of the AWT and which is always
+present when the AWT is being used. Future versions of Jogl may change
+the thread on which the OpenGL work is performed.) When the
+<CODE>GLAutoDrawable.display()</CODE> method is called from user code,
+it now performs the work synchronously on the AWT event queue thread,
+even if the calling thread is a different thread. The
+<CODE>setRenderingThread()</CODE> optimization is now a no-op. The
+<CODE>setNoAutoRedrawMode()</CODE> API still works as previously
+advertised, though now that all work is done on the AWT event queue
+thread it no longer needs to be used in most cases. (It was previously
+useful for working around certain kinds of OpenGL driver bugs.)
+
+</P>
+<P>
+
+Most applications will not see a change in behavior from this change
+in the Jogl implementation. Applications which use thread-local
+storage or complex multithreading and synchronization may see a change
+in their control flow requiring code changes. While it is strongly
+recommended to change such applications to work under the new
+threading model, the old threading model can be used by specifying the
+system property <CODE>-Djogl.1thread=auto</CODE> or
+<CODE>-Djogl.1thread=false</CODE>. The "auto" setting is equivalent to
+the behavior in 1.1 b09 and before, where on ATI cards the
+single-threaded mode would be used. The "false" setting is equivalent
+to disabling the single-threaded mode. "true" is now the default
+setting.
+
+</P>
+<P>
+
+In the JSR-231 APIs the single-threaded behavior continues to be the
+default and the <CODE>setRenderingThread()</CODE> and
+<CODE>setNoAutoRedrawMode()</CODE> APIs have been removed. The public
+<CODE>Threading</CODE> class still provides some control over the
+internal use of threads in the library as well as external access to
+these mechanisms.
+
+</P>
+
+<H2> Pbuffers </H2>
+
+<P>
+
+Jogl exposes hardware-accelerated offscreen rendering (pbuffers) with
+a minimal and platform-agnostic API. Several recent demos have been
+successfully ported from C/C++ to Java using Jogl's pbuffer APIs.
+However, the pbuffer support in Jogl remains one of the more
+experimental aspects of the package and the APIs may need to change in
+the future.
+
+</P>
+<P>
+
+To create a pbuffer, call
+<CODE>GLDrawableFactory.createGLPbuffer()</CODE>. It is wise to call
+<CODE>GLDrawableFactory.canCreateGLPbuffer()</CODE> first to ensure
+the graphics card has pbuffer support first. The pbuffer is created
+immediately and is available for rendering as soon as
+<CODE>createGLPbuffer</CODE> returns.
+
+</P>
+<P>
+
+A pbuffer is used in conjunction with the GLEventListener mechanism by
+calling its display() method. Rendering, as always, occurs while the
+pbuffer's OpenGL context is current. There are render-to-texture
+options that can be specified in the GLCapabilities for the pbuffer
+which can make it easier to operate upon the resulting pixels. These
+APIs are however highly experimental and not yet implemented on all
+platforms.
+
+</P>
+
+<H2> GLU </H2>
+
+<P>
+
+Jogl contains support for the GLU (OpenGL Utility Library) version
+1.3. Jogl originally supported GLU by wrapping the C version of the
+APIs, but over time, and thanks to the contributions of several
+individuals, it now uses a pure-Java version of SGI's GLU library. The
+pure Java port is enabled by default, and addresses stability issues
+on certain Linux distributions as well as the lack of native GLU 1.3
+support on the Windows platform. In case of problems with the Java
+port, the C version of the GLU library may be used by specifying the
+system property <CODE>-Djogl.glu.nojava</CODE> on the command
+line. All of the same functionality is exposed with both the Java and
+C versions of the GLU library; currently NURBS support is the only
+missing feature on both sides. If you run into problems with the Java
+port of the GLU library please file a bug using the Issue Tracker on
+the Jogl home page.
+
+</P>
+<P>
+
+To use the GLU, simply instantiate a GLU object via <CODE>new
+GLU()</CODE> at the beginning of your program. The methods on the GLU
+object may be called at any point when an OpenGL context is current.
+Because the GLU implementation is not thread-safe, one GLU object
+should be created for each GLEventListener or other entity performing
+OpenGL rendering in a given thread.
+
+</P>
+
+<H2> More Resources </H2>
+
+<P>
+
+The <A HREF="http://javagaming.org/forums/index.php?board=25.0">JOGL
+forum</A> on <A HREF="http://javagaming.org/">javagaming.org</A> is
+the best place to ask questions about the library. Many users, as well
+as the Jogl developers, read this forum frequently, and the archived
+threads contain a lot of useful information (which still needs to be
+distilled into documentation).
+
+</P>
+<P>
+
+The <A HREF="http://download.java.net/media/jogl/demos/www/">JOGL demos</A> provide
+several examples of usage of the library.
+
+</P>
+<P>
+
+Pepijn Van Eeckhoudt, Kevin Duling and Abdul Bezrati have done <A
+HREF="http://pepijn.fab4.be/software/nehe-java-ports/">JOGL ports of
+many of the the NeHe demos</A>. These are small examples of various
+pieces of OpenGL functionality. See also the <A
+HREF="http://nehe.gamedev.net/">NeHe web site</A>.
+
+</P>
+<P>
+
+Pepijn also did a <A
+HREF="http://www.glexcess.com/files/glexcess.jar">JOGL port</a> of
+Paolo Martella's <A HREF="http://www.glexcess.com/">GLExcess</A>
+demo. To see the news update about this port, go to the main GLExcess
+site and scroll down.
+
+</P>
+<P>
+
+Gregory Pierce's <A
+HREF="http://javagaming.org/forums/index.php?topic=1474.0">introduction
+to JOGL</a> is a useful tutorial on starting to use the JOGL library.
+
+</P>
+<P>
+
+For release information about the JOGL library, please see the <A
+HREF="http://javagaming.org/forums/index.php?topic=1596.0">JOGL Release
+Information</A> thread on the JOGL forum on javagaming.org.
+
+</P>
+<P>
+
+Please post on the JOGL forum if you have a resource you'd like to add
+to this documentation.
+
+</P>
+
+<H2> Platform Notes </H2>
+
+<H3> All Platforms </H3>
+
+<P>
+
+The following issues, among others, are outstanding on all platforms:
+
+</P>
+
+<UL>
+
+<LI> A few remaining stability issues, mostly on older graphics cards.
+
+<LI> JOGL now supports experimental integration and interoperability
+with the Java2D/OpenGL pipeline in Java SE 6 (Mustang), enabling a
+much faster GLJPanel as well as other features. Please see <a
+href="http://www.javagaming.org/forums/index.php?topic=10813.0">this
+forum discussion</a> for more details.
+
+</UL>
+
+<H3> Windows </H3>
+
+<P>
+
+For correct operation, it is necessary to specify the system property
+<CODE>-Dsun.java2d.noddraw=true</CODE> when running JOGL applications
+on Windows; this system property disables the use of DirectDraw by
+Java2D. There are driver-level incompatibilities between DirectDraw
+and OpenGL which manifest themselves as application crashes, poor
+performance, bad flickering, and other artifacts. This poor behavior
+may exhibit itself when OpenGL and DirectDraw are simply used in the
+same application, not even just in the same window, so disabling
+Java2D's DirectDraw pipeline and forcing it to use its GDI pipeline is
+the only way to work around these issues. Java Web Start applications
+may set this system property by adding the following line to the
+<CODE>&lt;resources&gt;</CODE> section of the JNLP file: <PRE>
+&lt;property name="sun.java2d.noddraw" value="true"/&gt; </PRE>
+
+</P>
+<P>
+
+There is a serious memory leak in ATI's OpenGL drivers which is
+exhibited on Windows XP on Mobility Radeon 9700 hardware. It's
+possible it will be present on other hardware as well though it was
+not reproducible at the time of this writing on desktop Radeon
+hardware or older ATI mobile chips. The bug is documented in <A
+HREF="https://jogl.dev.java.net/issues/show_bug.cgi?id=166">JOGL Issue
+166</A> and a bug has been filed with ATI. You can confirm the
+presence of the bug either with the test case in that bug report or by
+simply running the Gears demo; if the process size grows over time in
+the Task Manager, the memory leak is present on your hardware. For the
+time being, you can work around this memory leak by specifying the
+system property <CODE>-Djogl.GLContext.nofree</CODE> on the command
+line when launching your JOGL applications. There is no good
+general-purpose workaround for this bug which behaves well on all
+hardware.
+
+</P>
+
+<H3> Linux </H3>
+
+<P>
+
+The Sun JDK "compatibility" RPMs (java-1.5.0-sun-compat,
+java-1.6.0-sun-compat) provided by jpackage.org are incompatible with
+JOGL. These RPMs symlink an internal JDK directory to /usr/lib, which
+overrides how both NVidia and ATI currently provide their drivers to
+some Linux distributions, which is through an override in
+/etc/ld.so.conf (actually, in /etc/ld.so.conf.d). The implicit
+presence of /usr/lib on LD_LIBRARY_PATH forces the /usr/lib/libGL.so.1
+version of OpenGL to be used, which is typically Mesa and which will
+provide only software rendering.
+
+</P>
+<P>
+
+Unfortunately the JPackage maintainers have so far been unreceptive to
+changing their installation mechanism; see <a
+href="https://www.zarb.org/pipermail/jpackage-discuss/2007-January/010871.html">this
+mailing list posting</a>. Until this is resolved, we strongly
+discourage the use of the JPackage installers for the Sun JDK.
+Instead, download the JRE or JDK installers directly from Sun's
+website.
+
+</P>
+<P>
+
+Archived forum postings illustrating this problem are <a
+href="http://www.javagaming.org/forums/index.php?topic=15610.0">here</a>
+and <a
+href="http://www.javagaming.org/forums/index.php?topic=16105.0">here</a>.
+
+</P>
+
+<H3> Solaris, Linux (X11 platforms) </H3>
+
+<P>
+
+Support has been added to the JOGL library for allowing multiple
+threads to each have an OpenGL context current simultaneously, for
+example to implement multi-head CAVE-like environments. Normally a
+global AWT lock is held between calls to GLContext.makeCurrent() /
+release() for on-screen heavyweight contexts (for example, those
+associated with a Canvas or GLCanvas). We have found this to be
+necessary for stability purposes on all supported X11 platforms, even
+with relatively robust drivers such as those from NVidia.
+
+</P>
+<P>
+
+To enable multiple GLContexts to be made current simultaneously on X11
+platforms, specify the command line argument
+<CODE>-Djogl.GLContext.optimize</CODE> when starting the JVM. Note
+that this may incur robustness problems, in particular when resizing
+or moving windows. We have also found that ATI's proprietary drivers
+do not work at all with this flag, apparently because they cause GLX
+tokens to be sent to the X server for various GL calls even for direct
+contexts. For this reason if the GLX vendor is ATI then this flag
+currently has no effect.
+
+</P>
+
+<H3> Mac OS X </H3>
+
+<P>
+
+There are some problems with visual artifacts and stability problems
+with some of the Jogl demos on Mac OS X. It appears that at least some
+of these problems are due to bugs in Apple's OpenGL support. Bugs have
+been filed about these problems and it is hoped they will be addressed
+in the near future.
+
+</P>
+<P>
+
+The Mac OS X port of Jogl, in particular the GL interface and its
+implementation, can be used either with the provided GLCanvas widget
+or with the Cocoa NSOpenGLView. In order to use it with Cocoa the
+following steps should be taken:
+
+<UL>
+
+<LI> Create an "external" OpenGL context using the
+<CODE>GLDrawableFactory.createExternalGLContext()</CODE> API. The
+context object must be created while a real underlying OpenGL context
+is current.
+
+<LI> Fetch the GL instance out of the context using getGL() as usual.
+Only use the GL instance when the OpenGL context from the NSOpenGLView
+is current.
+
+</UL>
+
+<B>NOTE:</B> the Cocoa interoperability has not been retested
+recently, though similar interoperability has been tested on other
+platforms. Please report any problems found with using Jogl with an
+NSOpenGLView.
+
+</P>
+<P>
+
+The following issues remain with the Mac OS X port:
+
+<UL>
+
+<LI> Due to the mechanism by which the Cocoa graphics system selects
+OpenGL pixel formats, the GLCapabilitiesChooser mechanism can not be
+implemented on Mac OS X as on other platforms. Currently the
+underlying Cocoa pixel format selection is used on an
+NSOpenGLPixelFormat derived from the settings in the GLCapabilities,
+and the GLCapabilitiesChooser is ignored.
+
+</UL>
+
+</P>
+
+<H2> Version History </H2>
+
+<P>
+
+JOGL's version history can be found online in the <a
+href="http://javagaming.org/forums/index.php?topic=1596.0">"JOGL Release
+Information"</a> thread in the JOGL forum. Comments about the 1.1
+release train are in the thread <a
+href="http://javagaming.org/forums/index.php?topic=4217.0">"JOGL 1.1
+released"</a>.
+
+
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer_left">
+ <span xmlns:dc="http://purl.org/dc/elements/1.1/" property="dc:title">JogAmp.org</span>
+ by <a xmlns:cc="http://creativecommons.org/ns#" href="http://jogamp.org" property="cc:attributionName" rel="cc:attributionURL">http://jogamp.org</a>
+ is licensed under a <br/>
+ <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>.
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/doc/wiki/FAQ.xml b/doc/wiki/FAQ.xml
new file mode 100644
index 000000000..d01413d50
--- /dev/null
+++ b/doc/wiki/FAQ.xml
@@ -0,0 +1,417 @@
+<h1>JOGL FAQ</h1>
+
+Please read and edit this page ..
+
+__TOC__
+
+== Get the Source Code ==
+
+Create a local copy/branch of the git repository,
+either anonymous:
+
+* git clone git://github.com/sgothel/gluegen.git gluegen
+* git clone git://github.com/sgothel/jogl.git jogl
+* git clone git://github.com/sgothel/jogl-demos.git jogl-demos
+
+or via SSH and your user credential, so you can easily push back your
+changes to the github server:
+
+* git clone [email protected]:username/gluegen.git gluegen
+* git clone [email protected]:username/jogl.git jogl
+* git clone [email protected]:username/jogl-demos.git jogl-demos
+
+== How to participate and use git ==
+
+Yes, gluegen, jogl and all the stuff has been [http://blog.jausoft.com/2009/07/08/svn-to-git-migration-1/ migrated to git],
+thanks to the great git toolchain.
+
+In the past we were using a centralized repository only, ''SVN'',
+and you really needed access to it as a developer.
+
+Thanks to the distributed nature of git, this is no more a real issue.
+The only thing left is to provide a media to offer your branch to one of us,
+this can be via [http://www.kernel.org/pub/software/scm/git/docs/everyday.html#Individual%20Developer%20%28Participant%29 email], [http://weblog.masukomi.org/wp-content/uploads/2008/03/config_remote_repo.svg http], [http://kernel.org/pub/software/scm/git/docs/howto/use-git-daemon.txt git], ssh, whatever you wish - it's easy.
+For bigger projects maintained in a branch or if you don't have your own public server
+to offer yours, ''we are pleased to grant you write access'' to our repository!
+
+However, '''don't just modify the master branch without our permission''',
+or any other existing branch which is not assigned to you!
+''We will just trust you here'', but if you misbehave, your privileges will be removed.
+Instead, '''create a branch of your own and push it to the server''', then you will ask
+one of us to pull your branch, which we will verify and merge, if it's fine. Thanks to git, this is so easy now.
+And this is the current way [http://whygitisbetterthanx.com/#any-workflow how you collaborate] using a [http://whygitisbetterthanx.com/#distributed distributed SCM].
+
+== How to develop Cross-Device Applications ==
+First you have to pick your lowest common denominator of an OpenGL profile, ie OpenGL ES1 or ES2.
+For either we offer an intersecting desktop GL profile, GL2ES1 or GL2ES2.
+Use the latter while creating your GLCapabilities.
+Build and run your application with the minimum GL profile JARS, e.g. on the desktop use:
+
+ ~/jogl-demos> . ./setenv-jogl.sh JOGL_GL2ES12_MIN ../jogl/build
+
+Here you are on a Unix platform (not Window) and your common build subdirectory is 'build'.
+''jogl-demos/setenv-jogl.sh'' is provided within ''jogl-demos'', which itself utilizes ''jogl/etc/profile.jogl''.
+
+This uses the GlueGen/JOGL JARS:
+* gluegen-rt.jar
+* nativewindow.core.jar
+* jogl.core.jar
+* jogl.util.jar
+* jogl.gl2es12.x11.jar
+* jogl.util.fixedfuncemu.jar
+* newt.core.jar
+* newt.ogl.jar
+
+On a mobile device using CVM, you would use:
+* gluegen-rt-cdc.jar
+* nativewindow.core.cdc.jar
+* jogl.core.cdc.jar
+* jogl.util.cdc.jar
+* jogl.egl.cdc.jar
+* jogl.gles1.cdc.jar or jogl.gles2.cdc.jar
+* jogl.util.fixedfuncemu.cdc.jar
+* newt.core.cdc.jar
+* newt.ogl.cdc.jar
+
+Now, the same Java application shall run on all devices, desktop and mobile.
+See ''demos.es1.RedSquare'' of the ''jogl-demos'' repository.
+
+On the desktop you may run the ES1 demo:
+
+ ~/jogl-demos> sh java-run-newt.sh demos.es1.RedSquare -GL2ES1
+
+and the output is:
+ null RedSquare.run() 0
+ User screen size 0x0
+ Detected screen size 1920x1200
+ GLProfile[GL2ES1/GL2ES12] Entering initialization
+ GLProfile[GL2ES1/GL2ES12] GL Profile: GLProfile[GL2ES1/GL2ES12]
+ GLProfile[GL2ES1/GL2ES12] GL:com.jogamp.opengl.impl.gl2es12.GL2ES12Impl@b815859
+ GLProfile[GL2ES1/GL2ES12] GL_VERSION=3.0.0 NVIDIA 185.18.14
+ GLProfile[GL2ES1/GL2ES12] GL_EXTENSIONS: ..
+
+== What are the Runtime OpenGL Version Requirements ? ==
+The current JOGL2 spec is in WIP state, but mostly finished.
+We do not require any extra features of GL versions > 1.1,
+hence it shall just work.
+
+E.g. if you want to
+* support OpenGL platforms not supporting a version &gt; 1.2
+* use GL &ge; 1.3 features optionally
+Just query their availability e.g.:
+ gl.isExtensionAvailable("GL_VERSION_1_3")
+
+If you call a &gt; 1.2 GL function where it is not available,
+a GLException is thrown.
+
+'''JOGL requires at least an OpenGL version 1.1''',
+due to it's dynamical function binding starting with OpenGL 1.2.
+
+== Bugreports & Testing ==
+For all bug reports, please add the following information to your email:
+* Test case
+** Source code, or reference to it
+** Invocation command-line
+* Platform
+** OS & version
+** Architecture
+** Java version (java -version)
+* JOGL Source/build versions
+** GIT revision incl. URL and/or
+** Autobuild version (date, filename and URL)
+** Exceptions, stdout/stderr log file
+
+If possible, please add the following system properties to enable DEBUG logging:
+''-Dnewt.debug=all -Dnativewindow.debug=all -Djogl.debug=all''
+
+For example:
+
+ java -Djava.awt.headless=true -Dnewt.debug=all -Dnativewindow.debug=all \
+ -Djogl.debug=all demos.es2.RedSquare 2>&1 | tee RedSquare.report.log
+
+To test applets use the jcontrol panel or edit ''~/.java/deployment.properties'' directly and
+
+* Add JRE Arguments: <pre>-Djava.awt.headless=true -Dnewt.debug=all -Dnativewindow.debug=all -Djogl.debug=all</pre>
+* Enable logging/trace
+* Show the console window, or just use th latest log-file in <pre>~/.java/deployment/log/</pre>
+
+
+== Test Autobuilds & Shell Scripts ==
+I like to summarize how to manually test the JOGL autobuilds, starting with 2009-07-02.
+
+The general nightly download sites are
+* http://download.java.net/media/jogl/builds/nightly/
+
+Let’s assume we are in the test directory ‘test’, from which we operate from this point.
+
+* Get [http://download.java.net/media/jogl/builds/nightly/jogl-demos.zip jogl-demos.zip]. Extract the archive, i.e. <pre>unzip jogl-demos.zip</pre>
+
+* Get [http://download.java.net/media/jogl/builds/nightly/ jogl-2.0-pre-20090702-linux-amd64.zip]. In case we have build a reference implementation (RI) the substring ‘pre-yyyymmdd-’ will be dropped. Replace the version 2.0 with the latest available and the OS/arch linux-amd64 with your test platform. Extract the archive, ie <pre>unzip jogl-2.0-pre-20090702-linux-amd64.zip</pre>. Create a symbolic link or rename the archive directory from ''jogl-2.0-pre-20090702-linux-amd64'' to ''jogl'', ie <pre>ln -s jogl-2.0-pre-20090702-linux-amd64 jogl</pre>.
+* If you like to test the binding to NV’s Cg, [http://developer.nvidia.com/object/cg_download.html download and install]
+
+We assume java is in your binary search path.
+
+On X11/Unix and MaxOSX you can test the build as follows:
+
+ sh java-run-newt.sh demos.es2.RedSquare -GL2 -GL2 -GL2
+ sh java-run.sh demos.gears.Gears
+
+and with debug output
+
+ sh java-dbg-newt.sh demos.es2.RedSquare -GL2 -GL2 -GL2
+ sh java-dbg.sh demos.gears.Gears
+
+On Windows you shall be able to run:
+
+ java-win32.bat demos.es2.RedSquare -GL2 -GL2 -GL2
+ java-win32.bat demos.gears.Gears
+
+and with debug output
+
+ java-win32-dbg.bat demos.es2.RedSquare -GL2 -GL2 -GL2
+ java-win32-dbg.bat demos.gears.Gears
+
+The windows scripts are pretty simple and flat.
+
+The magic unix scripts offer more features and can be used either in the autobuild environment or in your development one.
+* <pre>setenv-jogl.sh <JOGL-PROFILE> [<jogl-build-dir>]</pre>
+Looks up and invokes profile.jogl, finds gluegen, sets the environment variables (CLASSPATH, LD_LIBRARY_PATH & PATH).
+* <pre>jogl/etc/profile.jogl <JOGL-PROFILE> [<jogl-build-dir>]</pre>
+JOGL profiles are one of JOGL_ALL, JOGL_ES1_MIN, JOGL_ES1_MAX, JOGL_ES2_MIN, JOGL_ES2_MAX,
+JOGL_GL2ES12_MIN, JOGL_GL2ES12_MAX, JOGL_GL2_MIN, JOGL_GL2_MAX.
+Looks up the set of JAR files necessary to satisfy the chosen JOGL-PROFILE.
+
+This allows you to test a specific environment, ie ES2 without GL2 and AWT, using JOGL_ES2_MIN.
+For this case I would recommend the native ES2 implementation from imageon SDK_OGLES2_LINUX_PCEMULATION_2.02.22.0756.
+
+
+== How to use JOGL in Applets (part 1) ==
+A Java Applet using JOGL may utilize 2 methods
+* [https://jdk6.dev.java.net/plugin2/jnlp/ New JNLP Applet]
+* [https://applet-launcher.dev.java.net/ Applet-Launcher]
+
+Standard JNLP Applets are supported starting with Java 6u14, however, if you run MacOSX or an older version of Java,
+you may need to use the Applet-Launcher.
+
+Below we utilize both, the standard JNLP mechanism of 6u14 as the default,
+or falling back to our Applet-Launcher.
+
+You will find the JNLP file applet-gears.jnlp further below, which is being used in case of a JNLP launch,
+otherwise it is ignored and the archive tags are being used, hence the applet-launcher will be started.
+
+The below demo is [http://download.java.net/media/jogl/demos/www/applettest-jnlp.html online here].
+
+Note: It is important for the startup time to have the same JVM arguments in the applet tags,
+as well as within the JNLP applet description, here see property sun.java2d.noddraw.
+Only if JVM arguments of the JNLP applet description are satisfied by the applet tag’s JVM,
+the plugin will not need to start a new JVM. OF course, the applet tag’s JVM spec may exceed the JNLP applet’s one.
+
+Note: A bug on MacOSX is known, launching 2 JOGL applets in 2 tabs.
+
+<pre>
+<applet code="org.jdesktop.applet.util.JNLPAppletLauncher"
+ width=600
+ height=400
+ archive="http://download.java.net/media/applet-launcher/applet-launcher.jar,
+ http://download.java.net/media/jogl/jsr-231-2.x-webstart/nativewindow.all.jar,
+ http://download.java.net/media/jogl/jsr-231-2.x-webstart/jogl.all.jar,
+ http://download.java.net/media/gluegen/webstart-2.x/gluegen-rt.jar,
+ http://download.java.net/media/jogl/jsr-231-2.x-demos-webstart/jogl-demos.jar">
+ <param name="codebase_lookup" value="false">
+ <param name="subapplet.classname" value="demos.applets.GearsApplet">
+ <param name="subapplet.displayname" value="JOGL Gears Applet">
+ <param name="noddraw.check" value="true">
+ <param name="progressbar" value="true">
+ <param name="jnlpNumExtensions" value="1">
+ <param name="jnlpExtension1"
+ value="http://download.java.net/media/jogl/jsr-231-2.x-webstart/jogl-core.jnlp">
+ <param name="java_arguments" value="-Dsun.java2d.noddraw=true">
+ <param name="jnlp_href" value="applet-gears.jnlp">
+</applet>
+</pre>
+
+Where the referenced JNLP file applet-gears.jnlp looks as follow:
+
+<pre>
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp href="applet-gears.jnlp">
+ <information>
+ <title>JOGL JNLP Applet Gears Demo</title>
+ <vendor>Sun Microsystems, Inc.</vendor>
+ <homepage href="http://jogl-demos.dev.java.net/"/>
+ <description>Gears Demo</description>
+ <description kind="short">Brian Paul's Gears demo ported to Java and JOGL.</description>
+ <offline-allowed/>
+ </information>
+
+ <resources>
+ <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>
+ <property name="sun.java2d.noddraw" value="true"/>
+ <jar href="http://download.java.net/media/jogl/jsr-231-2.x-demos-webstart/jogl-demos.jar" main="true"/>
+ <jar href="http://download.java.net/media/jogl/jsr-231-2.x-demos-webstart/jogl-demos-util.jar"/>
+ <extension name="jogl-all-awt" href="http://download.java.net/media/jogl/jsr-231-2.x-webstart/jogl-all-awt.jnlp" />
+ </resources>
+
+ <applet-desc
+ name="Gears-Applet"
+ main-class="demos.applets.GearsApplet"
+ width="640"
+ height="480">
+ </applet-desc>
+</jnlp>
+</pre>
+
+== What is ''Newt's'' Threading Model for native window events ? ==
+As of today, Newt's default threading model to handle native events
+is the event dispatch thread (EDT) model.
+
+It's introduction was necessary to allow a 'peace of mind',
+high performance and reactive solution of the dispatch event problem.
+Some OS, especially MS-Windows, require one to create the native Window
+and dispatch it's events from the same native thread.
+As it was easy to handle these requirements from a simple test application,
+as it is difficult to solve this from a framework operating with multiple temporary threads,
+a web browser for example.
+
+Newt's EDT impl. creates one EDT per Display and calling thread,
+as the Display instance is unique per thread.
+
+Using EDT is not mandatory, and you can turn it off in the NewtFactory,
+and deal with the event dispatch manually.
+
+== How to use ''Newt'' with multiple Windows & Threads ==
+Newt is capable of handling multiple threads and windows.
+
+For best performance, you may create one thread per window, if possible.
+
+Below you see the invocation of the ES2 RedSquare jogl-demos utilizing multiple threads.
+
+* Single thread (Unix, Win32) <pre>java -Djava.awt.headless=true demos.es2.RedSquare -GL2</pre>
+* Single thread (MacOSX) <pre>java -XstartOnFirstThread -Djava.awt.headless=true demos.es2.RedSquare -GL2</pre>
+* Multiple threads & windows (Unix, Win32) <pre>java -Djava.awt.headless=true demos.es2.RedSquare -GL2 -GL2 -GL2 -GL2</pre>
+* Multiple threads & windows (MacOSX) <pre>java -XstartOnFirstThread -Djava.awt.headless=true com.jogamp.newt.util.MainThread demos.es2.RedSquare -GL2 -GL2 -GL2 -GL2</pre>
+
+The serialization of the main Java class through ''com.jogamp.newt.util.MainThread''
+may be used for all platforms, since it only takes effect on ''MacOSX''.
+This allows you an almost platform independent invocation of your multithreaded Java applications.
+
+On ''MacOSX'', ''com.jogamp.newt.util.MainThread'' will occupy the main thread and
+serializes all native window related tasks through it.
+This mechanism is thread safe utilizes reentrant locking.
+
+== Why using AWT for high performance is not a good idea ? ==
+
+AWT (on many implementations) holds the lock to the underlying native resources,
+e.g. X11 display, screen and window surface, hence we have to obey these
+locks for any GL action bound to such.
+
+This is still pretty standard matter as long these locks only have to be applied to
+the actual resource in use.
+
+On AWT, it turns out that we have to use the global JAWT toolkit lock
+for any native operation, ie OpenGL.
+This might not be a problem for a single threaded GL application,
+but if you start a multithreaded beast, you will recognize that it will
+stumble around.
+
+You can verify this behavior with the ES1 RedSquare demo:
+
+* AWT - No VSync - One Thread
+<pre>
+ java demos.es1.RedSquare -awt -swapi 0 -GL2
+ 5s: 3379f, 675 fps, 1 ms/f; total: 5s, 675 fps, 1 ms/f
+</pre>
+Even here you may experience some stuttering ..
+
+If you force disabling the toolkit lock:
+<pre>
+ java -Dnativewindow.nolocking=true demos.es1.RedSquare -awt -swapi 0 -GL2
+</pre>
+The demo may freeze forever .. due to native locking.
+
+* NEWT - No VSync - One Thread
+<pre>
+ java -Djava.awt.headless=true demos.es1.RedSquare -swapi 0 -GL2
+ 5s: 5958f, 1191 fps, 0 ms/f; total: 5s, 1191 fps, 0 ms/f
+</pre>
+Runs much smoother .. without the stuttering locking experience ..
+
+This becomes much clearer with more threads:
+
+* AWT - No VSync - Three Threads
+<pre>
+ java demos.es1.RedSquare -awt -swapi 0 -GL2 -GL2 -GL2
+ 5s: 772f, 151 fps, 6 ms/f; total: 5s, 151 fps, 6 ms/f
+</pre>
+
+* NEWT - No VSync - Three Threads
+<pre>
+ java -Djava.awt.headless=true demos.es1.RedSquare -swapi 0 -GL2 -GL2 -GL2
+ 5s: 1669f, 333 fps, 2 ms/f; total: 5s, 333 fps, 2 ms/f
+</pre>
+
+== Why using Swing for high performance is not a good idea ? ==
+First, all this inherents all arguments from '''Why using AWT for high performance is not a good idea ?''
+
+Second, it involves compositioning using different methods,
+some may not be available on some platforms.
+
+From fast to slow:
+
+<h5> 1.) External Java2D's GLContext and FBO object. </h5>
+* GL stuff HW accelerated.
+* Available on some platforms: Linux/Windows Sun's Java2D impl.
+* Setup with System property 'sun.java2d.opengl' to 'true'.
+* Renders directly into Java2D's FBO object, if available.
+
+<h5> 2.) Own PBuffer GLContext, which has to be composed. </h5>
+* GL stuff HW accelerated.
+* Available on most platforms: No dependency to Java2D implementation.
+* Renders into an own offscreen drawable, and copies it over to AWT's BufferedImage.
+
+<h5> 3.) Own Pixmap GLContext, which has to be composed. </h5>
+* GL stuff unlikely hw accelerated.
+* Available on most platforms: No dependency to Java2D impl.
+* Renders into an own offscreen drawable, and copies it over to AWT's BufferedImage.
+
+As you see, no straight forward HW rendering is involved,
+assuming that even the windowing manager is using offscreen
+surfaces - you would have 2 compositions here already.
+
+At least (1) would be 'acceptable' here, if available,
+but if only (2) is available - the performance would
+not match the state of the art!
+
+Sure, it might be enough for some UIs or static pictures .. or so,
+otherwise, I would prefer the 'overlay' method, ie using a
+GLCanvas within a Swing component, while no menu is being shown.
+
+However you do it .. the generic AWT 'restrictions' apply here
+as well.
+
+== OpenGL Profiles explained ==
+Copied from Michael Bien's [http://michael-bien.com/mbien/entry/jogl_2_opengl_profiles_explained original article].
+
+[http://download.java.net/media/jogl/doc/bouml/html/ JOGL 2 supports several OpenGL Profiles]. This entry explains what profiles are and why they are needed.
+
+<h5> History </h5>
+SGI released the first OpenGL specification 1992. Since this point OpenGL 1.x constantly evolved (under the ARB and later Khronos Group) by adding new functions to the core API. This went well until programmable graphics hardware became mainstream and shaders became suddenly more flexible and efficient as the generic fixed function pipeline.
+
+<h5>OpenGL 2.x </h5>
+It was the last version in which you could freely mix the fixed function pipeline with the programmable pipeline (as a core feature).
+
+With the release of OpenGL 3.0 the whole fixed function pipeline has been deprecated but you could still use it if you haven't requested a forward compatible context.
+
+<h5>OpenGL ES 1.x and ES 2.x</h5>
+It specifies a subset of OpenGL intended to be used on embedded devices.
+ES 1.x is a subset of the OpenGL fixed function pipeline, where ES 2.x is a subset of the
+programmable shader hardware only.
+
+<h5>OpenGL 3.1 and 3.2 </h5>
+It removed most deprecated functionality from core specification, however some implementations (e.g. Nvidia drivers) still allow to get them back via an optional compatibility extension. Since 3.1 was the first release which broke compatibility, it is often seen as major OpenGL 3 release.
+
+<h5>JOGL 2</h5>
+
+JOGL 1.1.1 lived in the timeframe up to OpenGL 2.1 which made it easy to stay in sync with the spec. To be able to solve the issue with the deprecation of functionality,
+JOGL 2 [http://download.java.net/media/jogl/doc/bouml/html/ introduces an abstraction] of the original OpenGL versioning called Profile. Profiles allow Java applications to be written in a way which allows compatibility with multiple OpenGL versions at the same time. Since OpenGL ES (GL for embedded systems) has overlapping functionality with OpenGL itself it opened the opportunity to add even Profiles which bridge desktop and embedded implementations. The class diagram below shows the dependencies between all available Profiles.
+