aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/HowToBuild.html59
-rw-r--r--doc/Implementation/AWTPrinting.txt99
-rw-r--r--doc/Implementation/MultiThreading.txt31
-rw-r--r--doc/Overview-OpenGL-Evolution-And-JOGL.html37
-rw-r--r--doc/Platform.GLES.txt4
-rw-r--r--doc/TODO.txt29
l---------doc/bouml1
-rw-r--r--doc/bouml/html-svg/fig128069.svg437
-rw-r--r--doc/bouml/html/fig128069.pngbin80497 -> 0 bytes
-rw-r--r--doc/bouml/jogl/128069.diagram286
-rw-r--r--doc/bouml/jogl/2.session11
-rw-r--r--doc/deployment/JOGL-DEPLOYMENT.html113
-rw-r--r--doc/uml/html-svg/classdiagrams.html (renamed from doc/bouml/html-svg/classdiagrams.html)3
-rw-r--r--doc/uml/html-svg/classes.html (renamed from doc/bouml/html-svg/classes.html)6
-rw-r--r--doc/uml/html-svg/classes_list.html (renamed from doc/bouml/html-svg/classes_list.html)6
-rw-r--r--doc/uml/html-svg/fig128069.svg502
-rw-r--r--doc/uml/html-svg/fig134786.svg356
-rw-r--r--doc/uml/html-svg/index-withframe.html (renamed from doc/bouml/html-svg/index-withframe.html)2
-rw-r--r--doc/uml/html-svg/index.html (renamed from doc/bouml/html-svg/index.html)53
-rw-r--r--doc/uml/html-svg/index_65.html (renamed from doc/bouml/html-svg/index_65.html)0
-rw-r--r--doc/uml/html-svg/index_67.html (renamed from doc/bouml/html-svg/index_67.html)0
-rw-r--r--doc/uml/html-svg/index_71.html (renamed from doc/bouml/html-svg/index_71.html)6
-rw-r--r--doc/uml/html-svg/index_74.html (renamed from doc/bouml/html-svg/index_74.html)0
-rw-r--r--doc/uml/html-svg/index_78.html (renamed from doc/bouml/html-svg/index_78.html)0
-rw-r--r--doc/uml/html-svg/index_79.html (renamed from doc/bouml/html-svg/index_79.html)3
-rw-r--r--doc/uml/html-svg/index_82.html (renamed from doc/bouml/html-svg/index_82.html)0
-rw-r--r--doc/uml/html-svg/navig.html (renamed from doc/bouml/html-svg/navig.html)2
-rw-r--r--doc/uml/html-svg/packages.html (renamed from doc/bouml/html-svg/packages.html)0
-rw-r--r--doc/uml/html-svg/style.css (renamed from doc/bouml/html-svg/style.css)0
-rw-r--r--doc/uml/html/classdiagrams.html (renamed from doc/bouml/html/classdiagrams.html)3
-rw-r--r--doc/uml/html/classes.html (renamed from doc/bouml/html/classes.html)6
-rw-r--r--doc/uml/html/classes_list.html (renamed from doc/bouml/html/classes_list.html)6
-rw-r--r--doc/uml/html/fig128069.pngbin0 -> 103943 bytes
-rw-r--r--doc/uml/html/fig134786.pngbin0 -> 85886 bytes
-rw-r--r--doc/uml/html/index-withframe.html (renamed from doc/bouml/html/index-withframe.html)2
-rw-r--r--doc/uml/html/index.html (renamed from doc/bouml/html/index.html)51
-rw-r--r--doc/uml/html/index_65.html (renamed from doc/bouml/html/index_65.html)0
-rw-r--r--doc/uml/html/index_67.html (renamed from doc/bouml/html/index_67.html)0
-rw-r--r--doc/uml/html/index_71.html (renamed from doc/bouml/html/index_71.html)6
-rw-r--r--doc/uml/html/index_74.html (renamed from doc/bouml/html/index_74.html)0
-rw-r--r--doc/uml/html/index_78.html (renamed from doc/bouml/html/index_78.html)0
-rw-r--r--doc/uml/html/index_79.html (renamed from doc/bouml/html/index_79.html)3
-rw-r--r--doc/uml/html/index_82.html (renamed from doc/bouml/html/index_82.html)0
-rw-r--r--doc/uml/html/navig.html (renamed from doc/bouml/html/navig.html)2
-rw-r--r--doc/uml/html/packages.html (renamed from doc/bouml/html/packages.html)0
-rw-r--r--doc/uml/html/style.css (renamed from doc/bouml/html/style.css)0
-rw-r--r--doc/uml/jogl/128069.diagram330
-rw-r--r--doc/uml/jogl/134786.diagram238
-rw-r--r--doc/uml/jogl/2.session15
-rw-r--r--doc/uml/jogl/69.session (renamed from doc/bouml/jogl/69.session)0
-rw-r--r--doc/uml/jogl/cpp_includes (renamed from doc/bouml/jogl/cpp_includes)0
-rw-r--r--doc/uml/jogl/generation_settings (renamed from doc/bouml/jogl/generation_settings)0
-rw-r--r--doc/uml/jogl/idl_includes (renamed from doc/bouml/jogl/idl_includes)0
-rw-r--r--doc/uml/jogl/java_imports (renamed from doc/bouml/jogl/java_imports)0
-rw-r--r--doc/uml/jogl/jogl.prj (renamed from doc/bouml/jogl/jogl.prj)159
-rw-r--r--doc/uml/jogl/python_imports (renamed from doc/bouml/jogl/python_imports)0
-rw-r--r--doc/uml/jogl/stereotypes (renamed from doc/bouml/jogl/stereotypes)1
-rw-r--r--doc/uml/jogl/tools (renamed from doc/bouml/jogl/tools)0
-rw-r--r--doc/userguide/index.html9
59 files changed, 2033 insertions, 844 deletions
diff --git a/doc/HowToBuild.html b/doc/HowToBuild.html
index ad965e194..8b5d27efc 100644
--- a/doc/HowToBuild.html
+++ b/doc/HowToBuild.html
@@ -76,7 +76,7 @@
<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
+ <li> <b>Debian</b> 5.00 or later
<ul>
<li>git</li>
<li>gcc</li>
@@ -91,8 +91,23 @@
<li>libxinerama-dev</li>
<li>libxrandr-dev</li>
<li>libxrender-dev</li>
+ <li>libxcursor-dev</li>
<li>Optional: Your card vendor's proprietary driver</li>
</ul>
+ One liner install command:
+ <pre>
+apt-get install git-all gcc libgl1-mesa-dev libglu1-mesa-dev xorg-dev libice-dev libsm-dev libx11-dev libxext-dev libxxf86vm-dev libxinerama-dev libxrandr-dev libxrender-dev libxcursor-dev libc6-dev g++ libstdc++6 libstdc++6-4.7-dev
+ </pre>
+ Optional: Add <i>kernel</i> build utilities:
+ <pre>
+apt-get install kernel-package build-essential
+ </pre>
+ Optional: Add <i>multiarch</i> i386 next to amd64, requires Debian 7.00 or later:
+ <pre>
+dpkg --add-architecture i386
+apt-get update
+apt-get install ia32-libs ia32-libs-gtk gcc-multilib lib32gcc1 lib32gomp1 lib32itm1 lib32quadmath0 libc6-i386 libc6-dev-i386 g++-multilib lib32stdc++6
+ </pre>
</li>
<li> <b>OpenSuSE</b> 10.2 or later
<ul>
@@ -119,6 +134,7 @@
<li>libXinerama-devel</li>
<li>libXrandr-devel</li>
<li>libXrender-devel</li>
+ <li>libXcursor-devel</li>
<li>Optional: Your card vendor's proprietary driver</li>
</ul>
</li>
@@ -136,25 +152,44 @@
<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)
+ <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>
+ <li> <a href="http://mingw-w64.sourceforge.net/">MinGW64</a>
+ <ul>
+ <li> <a href="http://sourceforge.net/projects/mingwbuilds/files/mingw-builds-install/mingw-builds-install.exe/download">Installer</a>
+ <ul>
+ <li>mingw-build-install</li>
+ <li>version: 4.8.1</li>
+ <li>host: x32</li>
+ <li>threading: win32</li>
+ <li>exceptions: SJLJ</li>
+ <li>revision: 5</li>
+ </ul></li>
+ <li> or <a href="http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/">manual</a>
+ via <a href="http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/32-bit/threads-win32/sjlj/">7z archive file</a></li>
+ </ul></li>
</ul>
</li>
- <li> <b>Windows</b>/x86_64 (64-bit)<br/>
+ <li> <b>Windows</b>/x86_64 (64-bit)
<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>
+ <li> <a href="http://mingw-w64.sourceforge.net/">MinGW64</a>
+ <ul>
+ <li> <a href="http://sourceforge.net/projects/mingwbuilds/files/mingw-builds-install/mingw-builds-install.exe/download">Installer</a>
+ <ul>
+ <li>mingw-build-install</li>
+ <li>version: 4.8.1</li>
+ <li>host: x64</li>
+ <li>threading: win32</li>
+ <li>exceptions: SJLJ</li>
+ <li>revision: 5</li>
+ </ul></li>
+ <li> or <a href="http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/">manual</a>
+ via <a href="http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-win32/sjlj/">7z archive file</a></li>
+ </ul></li>
</ul>
</li>
</ul>
diff --git a/doc/Implementation/AWTPrinting.txt b/doc/Implementation/AWTPrinting.txt
new file mode 100644
index 000000000..f2fcbbdd9
--- /dev/null
+++ b/doc/Implementation/AWTPrinting.txt
@@ -0,0 +1,99 @@
+Screenshots of unit tests:
+ <http://jogamp.org/files/screenshots/printing/test01-awt/>
+
+Unit test producing the results:
+ Base Test Class:
+ <http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/tile/TiledPrintingAWTBase.java;hb=HEAD>
+ AWT:
+ <http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsAWT.java;hb=HEAD>
+ Swing:
+ <http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsSwingAWT.java;hb=HEAD>
+
+Print code:
+ AWTPrintLifecycle:
+ <http://jogamp.org/git/?p=jogl.git;a=blob;f=src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTPrintLifecycle.java;hb=HEAD>
+ GLCanvas:
+ <http://jogamp.org/git/?p=jogl.git;a=blob;f=src/jogl/classes/javax/media/opengl/awt/GLCanvas.java;hb=HEAD#l731>
+ ...
+ AWTTilePainter (common code):
+ <http://jogamp.org/git/?p=jogl.git;a=blob;f=src/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java;hb=HEAD>
+
++++
+
+Enhance lifecycle for AWT printing via AWTPrintLifecycle:
+
+We fit the frame into the imageable area with for 72 dpi,
+assuming that is the default AWT painting density.
+The frame borders are considered.
+
+The frame's scale factor 'scaleComp72' is used for the graphics print matrix
+of the overall print-job, hence no frame resize is required.
+
+The GL scale factor 'scaleGLMatXY', 72dpi/glDPI, is passed to the GL object
+which locally scales the print matrix and renders the scene with 1/scaleGLMatXY pixels.
+
+Before printing, we setup the GLCanvas, ..:
+ - move GLContext and GLEventListener -> offscreen
+ - offscreen is of tile-size
+
+this is performed w/ AWTPrintLifecycle.setupPrint(..).
+Impl. in GLCanvas, etc.
+
+After printing, AWTPrintLifecycle.releasePrint() shall be called. Impl. in GLCanvas .. etc.
+
+To perform AWTPrintLifecycle on all components in one container decorating PrinterJob.job(),
+one may use:
+
+ Container cont;
+ double scaleGLMatXY = 72.0/glDPI;
+ int numSamples = 0; // leave multisampling as-is
+ PrinterJob job;
+ ...
+ final AWTPrintLifecycle.Context ctx = AWTPrintLifecycle.Context.setupPrint(cont, scaleGLMatXY, scaleGLMatXY, numSamples);
+ try {
+ AWTEDTExecutor.singleton.invoke(true, new Runnable() {
+ public void run() {
+ try {
+ job.print();
+ } catch (PrinterException ex) {
+ ex.printStackTrace();
+ }
+ } });
+ } finally {
+ ctx.releasePrint();
+ }
+
++++
+
+Tiled rendering is used, i.e. at print(Graphics g),
+the clip bounds is used to setup the TiledRenderer's
+image size and the impl. renders all tiles.
+
+For the tiled reshape, a user component,
+i.e. GLEventListener reshape(x, y, width, height),
+needs to know about the current tile's position and image size.
+The tile size itself is passed as width and height
+as this is being used to set the current viewport.
+
+Hence the GLEventListener shall implement the
+TileRendererBase.TileRendererNotify interface!
+
++++
+
+Bugs:
+ - None in results
+
+ - GLCanvas: Workaround Bug 830 where onscreen MSAA cannot switch to offscreen FBO,
+ i.e. stay 'onscreen'
+
++++
+
+OSX local 'virtual' printer installation,
+i.e. print-to-file printer using cups:
+
+cupsctl FileDevice=Yes
+killall -HUP cupsd
+mkdir /data/lp
+chown jogamp /data/lp
+chmod ugo+rwx /data/lp
+lpadmin -p lprint -E -v file:/data/lp/out.ps -P /Library/Printers/PPDs/Contents/Resources/HP\ LaserJet\ 4\ Plus.gz
diff --git a/doc/Implementation/MultiThreading.txt b/doc/Implementation/MultiThreading.txt
index fb586e1ec..272204d94 100644
--- a/doc/Implementation/MultiThreading.txt
+++ b/doc/Implementation/MultiThreading.txt
@@ -1,4 +1,9 @@
+Don't miss
+ Current 'violations' of synchronization/memory-barriers
+ using explicit locking:
+below ..
+
Locking
=========
@@ -92,3 +97,29 @@ Summary:
- swapBuffersImpl
- [Surface i/o] - if not locked already
++++
+
+Complying with synchronization/memory-barriers
+using explicit locking:
+
+- NativeSurface's handle access
+
+Current 'violations' of synchronization/memory-barriers
+using explicit locking:
+
+- Using 'volatile' to avoid locking for read-only access
+ with rare write access
+
+ - GLAutoDrawable's drawable reference
+
+ - GLAutoDrawable's context reference
+ Since 7f7a23dd0ddf106e6f0c69fc2a05ff92ac56200e
+
+ - GLContext's contextHandle
+ Since 7f7a23dd0ddf106e6f0c69fc2a05ff92ac56200e
+
+ - GLDrawableImpl's realized
+ Used for Pre-locking queries, whether drawable is realized
+
+- Misc 'volatile' usage:
+
diff --git a/doc/Overview-OpenGL-Evolution-And-JOGL.html b/doc/Overview-OpenGL-Evolution-And-JOGL.html
index 86b5b180e..c191b5272 100644
--- a/doc/Overview-OpenGL-Evolution-And-JOGL.html
+++ b/doc/Overview-OpenGL-Evolution-And-JOGL.html
@@ -101,6 +101,12 @@ In July 2010 OpenGL 4.1 was released and it's core profile
is fully compatible to OpenGL ES 2.0.</p>
<p>
+In July 2012 OpenGL 4.3 and OpenGL ES 3.0 were released.
+OpenGL's 4.3 core profile is fully compatible to OpenGL ES 3.0.<br/>
+Some OpenGL 3.x implementations implementing <i>GL_ARB_ES3_compatibility</i>
+are OpenGL ES 3.0 compatible as well, e.g. Mesa 9.1.</p>
+
+<p>
Today, desktop and embedded GPU's implement the programmatic shader (PSP)
based rendering.</p>
@@ -115,8 +121,8 @@ to avoid the FFP, but using the PSP. This allows the implementor
to utilize application level optimization which usually cannot be reached
by the very generic implemented FFP in the OpenGL drivers.</p>
- <h3>JOGL &amp; The OpenGL Evolution</h3>
- <hr/>
+<h3>JOGL &amp; The OpenGL Evolution</h3>
+<hr/>
<p>
Like <a href="http://jausoft.com/gl4java/">GL4Java</a>, the 1st JOGL release 1.x
mapped OpenGL in one interface. This architecture was feasible and correct until the new OpenGL
@@ -124,7 +130,7 @@ profiles surfaced. There was only one unique way to create an OpenGL context for
OpenGL versions.</p>
<p>
-The continously developed <a href="http://jogamp.org/">JOGL 2.x</a> reflects the aforementioned OpenGL evolution
+The continously developed <a href="/jogl/www/">JOGL project</a> reflects the aforementioned OpenGL evolution
by <a href="/deployment/jogamp-next/javadoc/jogl/javadoc/overview-summary.html#overview_description">mapping the OpenGL profiles to interfaces</a>.
This is essential since creating an OpenGL context for each class of OpenGL profiles
requires it's <a href="/deployment/jogamp-next/javadoc/jogl/javadoc/overview-summary.html#GLAPIInclusionCriteria">specific initialisation</a>.<br/>
@@ -140,6 +146,7 @@ Fixed Function (FFP) Only Profiles:
Programmable Shader (PSP) Only Profiles:
<ul>
<li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GLES2.html">GLES2</a></li>
+ <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GLES3.html">GLES3</a></li>
<li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL3.html">GL3</a></li>
<li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL4.html">GL4</a></li>
</ul><br/>
@@ -158,9 +165,17 @@ to allow easy development of multiple target profiles.</p>
Common OpenGL Profile Subsets:
<ul>
<li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL.html">GL</a></li>
- <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL2ES1.html">GL2ES1</a></li>
- <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL2ES2.html">GL2ES2</a></li>
- <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL2GL3.html">GL2GL3</a></li>
+ <li>Fixed Function (FFP) Only:
+ <ul>
+ <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL2ES1.html">GL2ES1</a></li>
+ <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL2GL3.html">GL2GL3</a></li>
+ </ul></li>
+ <li>Programmable Shader (PSP) Only:
+ <ul>
+ <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL2ES2.html">GL2ES2</a></li>
+ <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL3ES3.html">GL3ES3</a></li>
+ <li><a href="/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/GL4ES3.html">GL4ES3</a></li>
+ </ul></li>
</ul><br/>
<br/>
@@ -185,10 +200,14 @@ ensures the code complies with the GL2 and GLES2 profile and an implementation m
}
</pre>
-<h4><a href="bouml/html-svg/fig128069.svg">OpenGL Profile Model (UML)</a> (<a href="bouml/html-svg/index-withframe.html">with frames</a>)</h4>
-<embed src="bouml/html-svg/fig128069.svg" width="1024" height="800" />
+<h4>OpenGL Profile Models (UML)</h4>
+<a href="uml/html/index-withframe.html">Complete UML with frames</a>.
+<h5><a href="uml/html/fig128069.png">Compatibility (Fixed Function and Programmable)</a></h5>
+<embed src="uml/html/fig128069.png" width="1024" height="1000" />
+<h5><a href="uml/html/fig134786.png">Core Only (Programmable)</a></h5>
+<embed src="uml/html/fig134786.png" width="1024" height="1000" />
- <h3>References</h3>
+<h3>References</h3>
<ul>
<li><a href="http://en.wikipedia.org/wiki/OpenGL">OpenGL on Wikipedia</a></li>
<li><a href="http://en.wikipedia.org/wiki/OpenGL_ES">OpenGL ES on Wikipedia</a></li>
diff --git a/doc/Platform.GLES.txt b/doc/Platform.GLES.txt
index 0bcd3bc8b..901e040c4 100644
--- a/doc/Platform.GLES.txt
+++ b/doc/Platform.GLES.txt
@@ -33,7 +33,7 @@ a request for e.g. GL2ES2 will utilize the highest common desktop profile.
...>
Linux:
- PVRVFrame 2.09.29.0649
+ PVRVFrame 2.09.29.0649, Version_REL_2.10
Debian Wheezy/testing x64, NV 290.10, 32bit libraries: OK
GL_VENDOR Imagination Technologies (Host GL: `NVIDIA Corporation`)
GL_RENDERER PowerVR PVRVFrame 8.1 SGX (Host GL: `GeForce GTX 460/PCI/SSE2`)
@@ -75,7 +75,7 @@ Linux:
Ubuntu 11.10 x64, AMD Catalyst 12.1, 64bit libraries, libgles2-mesa 7.11-0ubuntu3: Error (swrast error, null values)
Windows:
- PVRVFrame 2.09.29.0649
+ PVRVFrame 2.09.29.0649, Version_REL_2.10
Windows7 64bit, NV 290.10, 32bit libraries: OK
GL_VENDOR Imagination Technologies (Host GL: `NVIDIA Corporation`)
GL_RENDERER PowerVR PVRVFrame 8.1 SGX (Host GL: `GeForce GTX 460/PCIe/SSE2`)
diff --git a/doc/TODO.txt b/doc/TODO.txt
index f86d31e4c..80eb7ba4a 100644
--- a/doc/TODO.txt
+++ b/doc/TODO.txt
@@ -1,16 +1,33 @@
+Version 2.0:
+
+- SIGG slides / video
+- ES3 / GL 4.3
+
+
++++
+
+NVIDIA Tegra: discard problem (still exist?):
+ OK:
+ GL_RENDERER: NVIDIA Tegra
+ GL_VERSION: OpenGL ES 2.0 14.01002
+
++++
+
+TestSharedContextVBOES2NEWT crashes the NV driver sporadically.
+
+++
+
WIP:
+- Optimize/Fix NIO caching of glMapBuffer/glUnmapBuffer
+ - optimize the NIO caching, i.e. memory range, incr. reference count
+ - _remove_ the cached object w/ decr. ref count, remove object
+
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.
-- 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
diff --git a/doc/bouml b/doc/bouml
new file mode 120000
index 000000000..3490e7a1d
--- /dev/null
+++ b/doc/bouml
@@ -0,0 +1 @@
+uml \ No newline at end of file
diff --git a/doc/bouml/html-svg/fig128069.svg b/doc/bouml/html-svg/fig128069.svg
deleted file mode 100644
index 77e4a0941..000000000
--- a/doc/bouml/html-svg/fig128069.svg
+++ /dev/null
@@ -1,437 +0,0 @@
-<?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/fig128069.png b/doc/bouml/html/fig128069.png
deleted file mode 100644
index 8acf16a2c..000000000
--- a/doc/bouml/html/fig128069.png
+++ /dev/null
Binary files differ
diff --git a/doc/bouml/jogl/128069.diagram b/doc/bouml/jogl/128069.diagram
deleted file mode 100644
index 41c5df023..000000000
--- a/doc/bouml/jogl/128069.diagram
+++ /dev/null
@@ -1,286 +0,0 @@
-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
deleted file mode 100644
index 35dd532b9..000000000
--- a/doc/bouml/jogl/2.session
+++ /dev/null
@@ -1,11 +0,0 @@
-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/deployment/JOGL-DEPLOYMENT.html b/doc/deployment/JOGL-DEPLOYMENT.html
index abaa6613c..81a028e87 100644
--- a/doc/deployment/JOGL-DEPLOYMENT.html
+++ b/doc/deployment/JOGL-DEPLOYMENT.html
@@ -28,10 +28,51 @@
<div id="main">
<div id="text" class="fill">
+ <h1><a name="NApplets">New Applets</a></h1>
+
+ <p>
+ You may choose to use traditional <a href="http://java.sun.com/applets/">Java Applets</a> to deploy your
+ in-browser applet and reference the JOGL resources.<p/>
+
+ <p>
+ This method simply requires a Java plugin and uses JogAmp's
+ <a href="../userguide/index.html#automatednativelibraryloading">build-in method to automatically load</a>
+ the <a href="#NativeJARFiles">native JAR files</a>.
+ </p>
+
+ <a href="http://jogamp.org/deployment/jogamp-current/jogl-demos/applet-gears-napplet.html">AWT/JOGL NApplet Example</a>:
+ <pre>
+ &lt;object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+ width="600" height="400"&gt;
+ &lt;param name="code" value="demos.applets.GearsApplet"&gt;
+ &lt;param name="archive" value="../jar/gluegen-rt.jar,
+ ../jar/jogl-all.jar,
+ jar/jogl-demos.jar"&gt;
+ &lt;comment&gt;
+ &lt;embed code="demos.applets.GearsApplet"
+ width="600" height="400"
+ type="application/x-java-applet;version=1.6"
+ pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+ archive="../jar/gluegen-rt.jar,
+ ../jar/jogl-all.jar,
+ jar/jogl-demos.jar"&gt;
+ &lt;noembed&gt;Sorry, no Java support detected.&lt;/noembed&gt;
+ &lt;/embed&gt;
+ &lt;/comment&gt;
+ &lt;/object&gt;
+ </pre>
+ <p>
+ NEWT/JOGL NApplet Examples:
+ <ul>
+ <li><a href="http://jausoft.com/jogamp/jogl-applet-runner-newt-gears-normal-napplet.html">Demo on jausoft.com and modules on jogamp.org</a></li>
+ <li><a href="http://jogamp.org/deployment/jogamp-current/jogl-applet-runner-newt-gears-normal-napplet.html">Demo and modules on jogamp.org</a></li>
+ </ul>
+ </p>
+
<h1><a name="JNLPFiles">JNLP Files</a></h1>
<p>
- You may choose to use JNLP to deploy your application
+ You may choose to use JNLP to deploy your application or in-browser applet
and reference the JOGL resources.<p/>
<p>
@@ -45,7 +86,7 @@
<ul>
<li> <code><b> http://jogamp.org/deployment/jogamp-current/ </b></code> Current Version </li>
<li> <code><b> http://jogamp.org/deployment/jogamp-next/ </b></code> Next Version </li>
- <li> <code><b> http://jogamp.org/deployment/v2.0-rc3/ </b></code> Specific Version </li>
+ <li> <code><b> http://jogamp.org/deployment/v2.0-rc10/ </b></code> Specific Version </li>
</ul>
<h2>Desktop All in One</h2>
@@ -103,8 +144,9 @@
<li>linux-amd64</li>
<li>linux-ia64</li>
<li>linux-i586</li>
- <li>linux-armv7</li>
- <li>android-armv7</li>
+ <li>linux-armv6</li>
+ <li>linux-armv6hf</li>
+ <li>android-armv6</li>
<li>macosx-universal</li>
<li>solaris-sparc</li>
<li>solaris-sparcv9</li>
@@ -138,7 +180,7 @@
<a name="JOGLAllInOneJARsAWT">With AWT</a>:
<ul>
- <li><code>jogl.all.jar</code><br/>
+ <li><code>jogl-all.jar</code><br/>
<ul>
<li><code>jogl-all-natives-<b><i>os.and.arch</i></b>.jar</code></li>
</ul>
@@ -147,7 +189,7 @@
<a name="JOGLAllInOneJARsNoAWT">Without AWT</a>:
<ul>
- <li><code>jogl.all-noawt.jar</code><br/>
+ <li><code>jogl-all-noawt.jar</code><br/>
<ul>
<li><code>jogl-all-natives-<b><i>os.and.arch</i></b>.jar</code></li>
</ul>
@@ -156,7 +198,7 @@
<a name="JOGLAllInOneJARsMobile">Mobile</a>:
<ul>
- <li><code>jogl.all-mobile.jar</code><br/>
+ <li><code>jogl-all-mobile.jar</code><br/>
<ul>
<li><code>jogl-all-natives-<b><i>os.and.arch</i></b>.jar</code></li>
</ul>
@@ -165,7 +207,7 @@
<a name="JOGLAllInOneJARsAndroid">Android</a>:
<ul>
- <li><code>jogl.all-android.jar</code><br/>
+ <li><code>jogl-all-android.jar</code><br/>
<ul>
<li><code>jogl-all-natives-<b><i>os.and.arch</i></b>.jar</code></li>
</ul>
@@ -185,14 +227,14 @@
<ul>
<li>Mandatory:<br/>
<ul>
- <li>nativewindow.core.jar</li>
- <li>jogl.core.jar</li>
+ <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>
+ <li>newt-core.jar</li>
+ <li>newt-ogl.jar (to use NEWT with JOGL)</li>
</ul></li>
</ul>
@@ -203,23 +245,26 @@
<ul>
<li>NativeWindow [pick your platfrom, if available]:<br/>
<ul>
- <li>nativewindow.os.x11.jar</li>
+ <li>nativewindow-os-x11.jar</li>
</ul></li>
<li>JOGL [pick your platform]:<br/>
<ul>
- <li>jogl.os.x11.jar</li>
- <li>jogl.os.win.jar</li>
- <li>jogl.os.osx.jar</li>
+ <li>jogl-os-x11.jar</li>
+ <li>jogl-os-win.jar</li>
+ <li>jogl-os-osx.jar</li>
<li>none</li>
</ul></li>
<li>Newt [pick your platform] (optional):<br/>
<ul>
- <li>newt.driver.x11.jar</li>
- <li>newt.driver.win.jar</li>
- <li>newt.driver.osx.jar</li>
- <li>newt.driver.kd.jar</li>
+ <li>newt-driver-x11.jar</li>
+ <li>newt-driver-win.jar</li>
+ <li>newt-driver-osx.jar</li>
+ <li>newt-driver-kd.jar</li>
+ <li>newt-driver-bcm-vc.jar</li>
+ <li>newt-driver-bcm-old.jar</li>
+ <li>newt-driver-intelgdl.jar</li>
<li>none</li>
</ul></li>
</ul>
@@ -231,17 +276,17 @@
<ul>
<li>Embedded Device Profiles<br/>
<ul>
- <li>jogl.glmobile.jar<br/>
+ <li>jogl-glmobile.jar<br/>
<ul>
- <li>jogl.glmobile.dbg.jar</li>
+ <li>jogl-glmobile-dbg.jar</li>
</ul></li>
</ul></li>
<li>Desktop Profiles<br/>
<ul>
- <li>jogl.gldesktop.jar<br/>
+ <li>jogl-gldesktop.jar<br/>
<ul>
- <li>jogl.gldesktop.dbg.jar</li>
+ <li>jogl-gldesktop-dbg.jar</li>
</ul></li>
</ul></li>
</ul>
@@ -249,26 +294,26 @@
<h4>JOGL Toolkits/Misc (optional)</h4>
<ul>
- <li>jogl.util.jar</li>
- <li>jogl.util.gl2.jar</li>
- <li>jogl.util.fixedfuncemu.jar</li>
+ <li>jogl-util.jar</li>
+ <li>jogl-util-gldesktop.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>
+ <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>
+ <li>jogl-glu-tess.jar</li>
+ <li>jogl-glu-mipmap.jar</li>
+ <li>jogl-glu-gldesktop.jar</li>
</ul>
<h2><a name="NativeLibraryFiles">Native Library Files</a></h2>
diff --git a/doc/bouml/html-svg/classdiagrams.html b/doc/uml/html-svg/classdiagrams.html
index 4f4efc693..3ba85a150 100644
--- a/doc/bouml/html-svg/classdiagrams.html
+++ b/doc/uml/html-svg/classdiagrams.html
@@ -16,7 +16,8 @@
<!-- ============================================================= -->
<table>
-<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces - All</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram134786" target = "projectFrame"><b>OpenGL Interfaces - Core Only</b></a></td><td></td><td></td></tr>
</table>
</body>
</html>
diff --git a/doc/bouml/html-svg/classes.html b/doc/uml/html-svg/classes.html
index dd1a230ed..0e0ae36f9 100644
--- a/doc/bouml/html-svg/classes.html
+++ b/doc/uml/html-svg/classes.html
@@ -23,12 +23,15 @@
<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#refmetaclass135298" target = "projectFrame"><b>GL2ES3</b></a></td><td>metaclass</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#refclass135170" target = "projectFrame"><b>GL3ES3</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#refclass135042" target = "projectFrame"><b>GL4ES3</b></a></td><td>@interface</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>
@@ -36,7 +39,8 @@
<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#refclass134914" target = "projectFrame"><b>GLES3</b></a></td><td>@interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES3Impl</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>
diff --git a/doc/bouml/html-svg/classes_list.html b/doc/uml/html-svg/classes_list.html
index 69e77a5ad..4882e6a65 100644
--- a/doc/bouml/html-svg/classes_list.html
+++ b/doc/uml/html-svg/classes_list.html
@@ -24,12 +24,15 @@
<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#refmetaclass135298" target = "projectFrame"><b>GL2ES3</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#refclass135170" target = "projectFrame"><b>GL3ES3</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#refclass135042" target = "projectFrame"><b>GL4ES3</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 />
@@ -37,7 +40,8 @@
<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#refclass134914" target = "projectFrame"><b>GLES3</b></a><br />
+<a href="index.html#refclass130629" target = "projectFrame"><b>GLES3Impl</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>
diff --git a/doc/uml/html-svg/fig128069.svg b/doc/uml/html-svg/fig128069.svg
new file mode 100644
index 000000000..3c3372bff
--- /dev/null
+++ b/doc/uml/html-svg/fig128069.svg
@@ -0,0 +1,502 @@
+<?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="1232" height="1178" 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="235" height="971" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="53" y="212">Fixed Function</text>
+ <line stroke="black" stroke-opacity="1" x1="2" y1="221" x2="104" y2="221" />
+ <line stroke="black" stroke-opacity="1" x1="104" y1="221" x2="117" y2="208" />
+ <line stroke="black" stroke-opacity="1" x1="117" y1="208" x2="117" y2="195" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="2" y1="476" x2="237" y2="476" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="2" y1="707" x2="237" y2="707" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="2" y1="390" x2="237" y2="390" />
+</g>
+<g>
+ <rect fill="#c0ffff" stroke="black" stroke-width="1" stroke-opacity="1" x="237" y="195" width="743" height="971" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="313" y="212">Programmable Shader</text>
+ <line stroke="black" stroke-opacity="1" x1="237" y1="221" x2="389" y2="221" />
+ <line stroke="black" stroke-opacity="1" x1="389" y1="221" x2="402" y2="208" />
+ <line stroke="black" stroke-opacity="1" x1="402" y1="208" x2="402" y2="195" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="237" y1="476" x2="980" y2="476" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="237" y1="707" x2="980" y2="707" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="237" y1="390" x2="980" y2="390" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="136" y1="233" x2="175" y2="186" />
+ <line stroke="black" stroke-opacity="1" x1="179" y1="182" x2="170" y2="182" />
+ <line stroke="black" stroke-opacity="1" x1="179" y1="182" x2="179" y2="190" />
+ <line stroke="black" stroke-opacity="1" x1="170" y1="182" x2="179" y2="190" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="305" y1="234" x2="253" y2="186" />
+ <line stroke="black" stroke-opacity="1" x1="249" y1="182" x2="249" y2="190" />
+ <line stroke="black" stroke-opacity="1" x1="249" y1="182" x2="257" y2="181" />
+ <line stroke="black" stroke-opacity="1" x1="249" y1="190" x2="257" y2="181" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="108" y1="491" x2="108" y2="306" />
+ <line stroke="black" stroke-opacity="1" x1="108" y1="300" x2="102" y2="306" />
+ <line stroke="black" stroke-opacity="1" x1="108" y1="300" x2="114" y2="306" />
+ <line stroke="black" stroke-opacity="1" x1="102" y1="306" x2="114" y2="306" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="343" y1="488" x2="343" y2="307" />
+ <line stroke="black" stroke-opacity="1" x1="343" y1="301" x2="337" y2="307" />
+ <line stroke="black" stroke-opacity="1" x1="343" y1="301" x2="349" y2="307" />
+ <line stroke="black" stroke-opacity="1" x1="337" y1="307" x2="349" y2="307" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="650" y1="855" x2="509" y2="468" />
+ <line stroke="black" stroke-opacity="1" x1="507" y1="463" x2="503" y2="470" />
+ <line stroke="black" stroke-opacity="1" x1="507" y1="463" x2="514" y2="466" />
+ <line stroke="black" stroke-opacity="1" x1="503" y1="470" x2="514" y2="466" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="261" y1="745" x2="465" y2="467" />
+ <line stroke="black" stroke-opacity="1" x1="469" y1="463" x2="460" y2="464" />
+ <line stroke="black" stroke-opacity="1" x1="469" y1="463" x2="470" y2="471" />
+ <line stroke="black" stroke-opacity="1" x1="460" y1="464" x2="470" y2="471" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="227" y1="745" x2="116" y2="305" />
+ <line stroke="black" stroke-opacity="1" x1="115" y1="300" x2="110" y2="307" />
+ <line stroke="black" stroke-opacity="1" x1="115" y1="300" x2="122" y2="304" />
+ <line stroke="black" stroke-opacity="1" x1="110" y1="307" x2="122" y2="304" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="712" y1="99" x2="523" y2="50" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="108" y1="577" x2="108" y2="564" />
+ <line stroke="black" stroke-opacity="1" x1="108" y1="558" x2="102" y2="564" />
+ <line stroke="black" stroke-opacity="1" x1="108" y1="558" x2="114" y2="564" />
+ <line stroke="black" stroke-opacity="1" x1="102" y1="564" x2="114" y2="564" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="514" y1="1087" x2="632" y2="926" />
+ <line stroke="black" stroke-opacity="1" x1="636" y1="922" x2="627" y2="923" />
+ <line stroke="black" stroke-opacity="1" x1="636" y1="922" x2="637" y2="930" />
+ <line stroke="black" stroke-opacity="1" x1="627" y1="923" x2="637" y2="930" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1107" y1="443" x2="1107" y2="409" />
+ <line stroke="black" stroke-opacity="1" x1="1107" y1="403" x2="1101" y2="409" />
+ <line stroke="black" stroke-opacity="1" x1="1107" y1="403" x2="1113" y2="409" />
+ <line stroke="black" stroke-opacity="1" x1="1101" y1="409" x2="1113" y2="409" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1068" y1="303" x2="1070" y2="360" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1105" y1="260" x2="1105" y2="236" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1051" y1="187" x2="807" y2="123" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1107" y1="547" x2="1107" y2="486" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1136" y1="360" x2="1135" y2="303" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1107" y1="547" x2="1107" y2="486" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="212" y1="115" x2="212" y2="79" />
+ <line stroke="black" stroke-opacity="1" x1="212" y1="73" x2="206" y2="79" />
+ <line stroke="black" stroke-opacity="1" x1="212" y1="73" x2="218" y2="79" />
+ <line stroke="black" stroke-opacity="1" x1="206" y1="79" x2="218" y2="79" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="262" y1="40" x2="436" y2="40" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="282" y="860" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="192" y="918" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="188" y="856" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="235" y="865">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="235" y="888">GL3bc</text>
+ <line stroke="black" stroke-opacity="1" x1="188" y1="902" x2="282" y2="902" />
+ <line stroke="black" stroke-opacity="1" x1="188" y1="910" x2="282" y2="910" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="153" y="238" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="63" y="296" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="59" y="234" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="106" y="243">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="106" y="266">GL2ES1</text>
+ <line stroke="black" stroke-opacity="1" x1="59" y1="280" x2="153" y2="280" />
+ <line stroke="black" stroke-opacity="1" x1="59" y1="288" x2="153" y2="288" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="257" y="120" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="167" y="178" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="163" y="116" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="210" y="125">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="210" y="148">GL</text>
+ <line stroke="black" stroke-opacity="1" x1="163" y1="162" x2="257" y2="162" />
+ <line stroke="black" stroke-opacity="1" x1="163" y1="170" x2="257" y2="170" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="880" y="989" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="790" y="1047" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="786" y="985" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="833" y="994">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="833" y="1017">GL4</text>
+ <line stroke="black" stroke-opacity="1" x1="786" y1="1031" x2="880" y2="1031" />
+ <line stroke="black" stroke-opacity="1" x1="786" y1="1039" x2="880" y2="1039" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="519" y="23" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="441" y="57" width="81" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="437" y="19" width="82" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="478" y="28">GLContext</text>
+ <line stroke="black" stroke-opacity="1" x1="437" y1="42" x2="519" y2="42" />
+ <line stroke="black" stroke-opacity="1" x1="437" y1="50" x2="519" y2="50" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="803" y="95" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="717" y="129" width="89" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="713" y="91" width="90" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="758" y="100">GLDrawable</text>
+ <line stroke="black" stroke-opacity="1" x1="713" y1="114" x2="803" y2="114" />
+ <line stroke="black" stroke-opacity="1" x1="713" y1="122" x2="803" y2="122" />
+</g>
+<g>
+ <rect fill="none" stroke="black" stroke-width="1" stroke-opacity="1" x="444" y="258" width="104" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="496" y="267">&lt;&lt;metaclass&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="496" y="290">GL2ES3</text>
+ <line stroke="black" stroke-opacity="1" x1="444" y1="304" x2="548" y2="304" />
+ <line stroke="black" stroke-opacity="1" x1="444" y1="312" x2="548" y2="312" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="508">Mobile final public</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="527">OpenGL Interfaces</text>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="483" y1="1108" x2="503" y2="1108" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="493" cy="1098" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="493" y="1117">GL4bcImpl</text>
+ <line stroke="black" stroke-opacity="1" x1="452" y1="1131" x2="534" y2="1131" />
+ <line stroke="black" stroke-opacity="1" x1="452" y1="1139" x2="534" y2="1139" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="755" y1="676" x2="775" y2="676" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="765" cy="666" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="765" y="685">GLES3Impl</text>
+ <line stroke="black" stroke-opacity="1" x1="724" y1="699" x2="806" y2="699" />
+ <line stroke="black" stroke-opacity="1" x1="724" y1="707" x2="806" y2="707" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="17" y="1113">Private implementation</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="17" y="1132">(detail)</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="224">Desktop/Mobile</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="243">Common Interfaces</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1158" y="174" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1056" y="232" width="105" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1052" y="170" width="106" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="1105" y="179">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1105" y="202">NativeWindow</text>
+ <line stroke="black" stroke-opacity="1" x1="1052" y1="216" x2="1158" y2="216" />
+ <line stroke="black" stroke-opacity="1" x1="1052" y1="224" x2="1158" y2="224" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1216" y="265" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="998" y="299" width="221" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="994" y="261" width="222" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="1105" y="270">AbstractGraphicsConfiguration</text>
+ <line stroke="black" stroke-opacity="1" x1="994" y1="284" x2="1216" y2="284" />
+ <line stroke="black" stroke-opacity="1" x1="994" y1="292" x2="1216" y2="292" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1159" y="448" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1055" y="482" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1051" y="444" width="108" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1105" y="453">GLCapabilities</text>
+ <line stroke="black" stroke-opacity="1" x1="1051" y1="467" x2="1159" y2="467" />
+ <line stroke="black" stroke-opacity="1" x1="1051" y1="475" x2="1159" y2="475" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="845" y="28">Lifecycle: From the lower right to</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="845" y="47">the top, left step where the</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="845" y="66">GLContext is created with a</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="845" y="85">suitable GL implementation</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="845" y="104">matching the GLProfile.</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1141" y="552" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1073" y="586" width="71" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1069" y="548" width="72" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1105" y="557">GLProfile</text>
+ <line stroke="black" stroke-opacity="1" x1="1069" y1="571" x2="1141" y2="571" />
+ <line stroke="black" stroke-opacity="1" x1="1069" y1="579" x2="1141" y2="579" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="258" y="11" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="168" y="69" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="164" y="7" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="211" y="16">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="211" y="39">GLBase</text>
+ <line stroke="black" stroke-opacity="1" x1="164" y1="53" x2="258" y2="53" />
+ <line stroke="black" stroke-opacity="1" x1="164" y1="61" x2="258" y2="61" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="271" y="153">Common GL</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="271" y="172">Stuff</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="419">Common Desktop</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="438">Profile</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="887" y="317" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="783" y="375" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="779" y="313" width="108" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="833" y="322">&lt;&lt;@interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="833" y="345">GL4ES3</text>
+ <line stroke="black" stroke-opacity="1" x1="779" y1="359" x2="887" y2="359" />
+ <line stroke="black" stroke-opacity="1" x1="779" y1="367" x2="887" y2="367" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="282" y="989" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="192" y="1047" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="188" y="985" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="235" y="994">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="235" y="1017">GL4bc</text>
+ <line stroke="black" stroke-opacity="1" x1="188" y1="1031" x2="282" y2="1031" />
+ <line stroke="black" stroke-opacity="1" x1="188" y1="1039" x2="282" y2="1039" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="153" y="496" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="63" y="554" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="59" y="492" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="106" y="501">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="106" y="524">GLES1</text>
+ <line stroke="black" stroke-opacity="1" x1="59" y1="538" x2="153" y2="538" />
+ <line stroke="black" stroke-opacity="1" x1="59" y1="546" x2="153" y2="546" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="282" y="750" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="192" y="808" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="188" y="746" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="235" y="755">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="235" y="778">GL2</text>
+ <line stroke="black" stroke-opacity="1" x1="188" y1="792" x2="282" y2="792" />
+ <line stroke="black" stroke-opacity="1" x1="188" y1="800" x2="282" y2="800" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="388" y="239" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="298" y="297" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="294" y="235" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="341" y="244">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="341" y="267">GL2ES2</text>
+ <line stroke="black" stroke-opacity="1" x1="294" y1="281" x2="388" y2="281" />
+ <line stroke="black" stroke-opacity="1" x1="294" y1="289" x2="388" y2="289" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="736">Desktop final public</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="851" y="755">OpenGL Interfaces</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="709" y="860" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="619" y="918" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="615" y="856" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="662" y="865">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="662" y="888">GL3</text>
+ <line stroke="black" stroke-opacity="1" x1="615" y1="902" x2="709" y2="902" />
+ <line stroke="black" stroke-opacity="1" x1="615" y1="910" x2="709" y2="910" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="388" y="493" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="298" y="551" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="294" y="489" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="341" y="498">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="341" y="521">GLES2</text>
+ <line stroke="black" stroke-opacity="1" x1="294" y1="535" x2="388" y2="535" />
+ <line stroke="black" stroke-opacity="1" x1="294" y1="543" x2="388" y2="543" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="460" y1="1087" x2="279" y2="925" />
+ <line stroke="black" stroke-opacity="1" x1="275" y1="922" x2="275" y2="930" />
+ <line stroke="black" stroke-opacity="1" x1="275" y1="922" x2="283" y2="921" />
+ <line stroke="black" stroke-opacity="1" x1="275" y1="930" x2="283" y2="921" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="451" y1="1100" x2="291" y2="1038" />
+ <line stroke="black" stroke-opacity="1" x1="286" y1="1036" x2="289" y2="1043" />
+ <line stroke="black" stroke-opacity="1" x1="286" y1="1036" x2="293" y2="1032" />
+ <line stroke="black" stroke-opacity="1" x1="289" y1="1043" x2="293" y2="1032" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="472" y1="1087" x2="265" y2="816" />
+ <line stroke="black" stroke-opacity="1" x1="262" y1="812" x2="260" y2="820" />
+ <line stroke="black" stroke-opacity="1" x1="262" y1="812" x2="270" y2="813" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="820" x2="270" y2="813" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="534" y1="1104" x2="779" y2="1031" />
+ <line stroke="black" stroke-opacity="1" x1="785" y1="1030" x2="777" y2="1025" />
+ <line stroke="black" stroke-opacity="1" x1="785" y1="1030" x2="780" y2="1037" />
+ <line stroke="black" stroke-opacity="1" x1="777" y1="1025" x2="780" y2="1037" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="237" y1="855" x2="237" y2="818" />
+ <line stroke="black" stroke-opacity="1" x1="237" y1="812" x2="231" y2="818" />
+ <line stroke="black" stroke-opacity="1" x1="237" y1="812" x2="243" y2="818" />
+ <line stroke="black" stroke-opacity="1" x1="231" y1="818" x2="243" y2="818" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="286" y1="889" x2="608" y2="889" />
+ <line stroke="black" stroke-opacity="1" x1="614" y1="889" x2="608" y2="883" />
+ <line stroke="black" stroke-opacity="1" x1="614" y1="889" x2="608" y2="895" />
+ <line stroke="black" stroke-opacity="1" x1="608" y1="883" x2="608" y2="895" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="791" y1="984" x2="713" y2="925" />
+ <line stroke="black" stroke-opacity="1" x1="709" y1="922" x2="710" y2="930" />
+ <line stroke="black" stroke-opacity="1" x1="709" y1="922" x2="717" y2="920" />
+ <line stroke="black" stroke-opacity="1" x1="710" y1="930" x2="717" y2="920" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="237" y1="984" x2="237" y2="928" />
+ <line stroke="black" stroke-opacity="1" x1="237" y1="922" x2="231" y2="928" />
+ <line stroke="black" stroke-opacity="1" x1="237" y1="922" x2="243" y2="928" />
+ <line stroke="black" stroke-opacity="1" x1="231" y1="928" x2="243" y2="928" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="286" y1="1018" x2="779" y2="1018" />
+ <line stroke="black" stroke-opacity="1" x1="785" y1="1018" x2="779" y2="1012" />
+ <line stroke="black" stroke-opacity="1" x1="785" y1="1018" x2="779" y2="1024" />
+ <line stroke="black" stroke-opacity="1" x1="779" y1="1012" x2="779" y2="1024" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="443" y1="280" x2="397" y2="273" />
+ <line stroke="black" stroke-opacity="1" x1="392" y1="273" x2="397" y2="279" />
+ <line stroke="black" stroke-opacity="1" x1="392" y1="273" x2="398" y2="267" />
+ <line stroke="black" stroke-opacity="1" x1="397" y1="279" x2="398" y2="267" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="835" y1="984" x2="835" y2="385" />
+ <line stroke="black" stroke-opacity="1" x1="835" y1="379" x2="829" y2="385" />
+ <line stroke="black" stroke-opacity="1" x1="835" y1="379" x2="841" y2="385" />
+ <line stroke="black" stroke-opacity="1" x1="829" y1="385" x2="841" y2="385" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="723" y1="668" x2="397" y2="542" />
+ <line stroke="black" stroke-opacity="1" x1="392" y1="540" x2="395" y2="547" />
+ <line stroke="black" stroke-opacity="1" x1="392" y1="540" x2="399" y2="536" />
+ <line stroke="black" stroke-opacity="1" x1="395" y1="547" x2="399" y2="536" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="817" y="573" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="713" y="631" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="709" y="569" width="108" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="763" y="578">&lt;&lt;@interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="763" y="601">GLES3</text>
+ <line stroke="black" stroke-opacity="1" x1="709" y1="615" x2="817" y2="615" />
+ <line stroke="black" stroke-opacity="1" x1="709" y1="623" x2="817" y2="623" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="98" y1="598" x2="118" y2="598" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="108" cy="588" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="108" y="607">GLES1Impl</text>
+ <line stroke="black" stroke-opacity="1" x1="67" y1="621" x2="149" y2="621" />
+ <line stroke="black" stroke-opacity="1" x1="67" y1="629" x2="149" y2="629" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1149" y="365" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1065" y="399" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1061" y="361" width="88" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1105" y="370">Capabilities</text>
+ <line stroke="black" stroke-opacity="1" x1="1061" y1="384" x2="1149" y2="384" />
+ <line stroke="black" stroke-opacity="1" x1="1061" y1="392" x2="1149" y2="392" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="541" y="401" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="451" y="459" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="447" y="397" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="494" y="406">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="494" y="429">GL2GL3</text>
+ <line stroke="black" stroke-opacity="1" x1="447" y1="443" x2="541" y2="443" />
+ <line stroke="black" stroke-opacity="1" x1="447" y1="451" x2="541" y2="451" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="773" y1="568" x2="823" y2="384" />
+ <line stroke="black" stroke-opacity="1" x1="825" y1="379" x2="817" y2="383" />
+ <line stroke="black" stroke-opacity="1" x1="825" y1="379" x2="829" y2="386" />
+ <line stroke="black" stroke-opacity="1" x1="817" y1="383" x2="829" y2="386" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="765" y1="655" x2="765" y2="641" />
+ <line stroke="black" stroke-opacity="1" x1="765" y1="635" x2="759" y2="641" />
+ <line stroke="black" stroke-opacity="1" x1="765" y1="635" x2="771" y2="641" />
+ <line stroke="black" stroke-opacity="1" x1="759" y1="641" x2="771" y2="641" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="708" y1="591" x2="397" y2="531" />
+ <line stroke="black" stroke-opacity="1" x1="392" y1="530" x2="396" y2="537" />
+ <line stroke="black" stroke-opacity="1" x1="392" y1="530" x2="399" y2="525" />
+ <line stroke="black" stroke-opacity="1" x1="396" y1="537" x2="399" y2="525" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="496" y1="396" x2="496" y2="326" />
+ <line stroke="black" stroke-opacity="1" x1="496" y1="320" x2="490" y2="326" />
+ <line stroke="black" stroke-opacity="1" x1="496" y1="320" x2="502" y2="326" />
+ <line stroke="black" stroke-opacity="1" x1="490" y1="326" x2="502" y2="326" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="718" y="286" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="614" y="344" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="610" y="282" width="108" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="664" y="291">&lt;&lt;@interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="664" y="314">GL3ES3</text>
+ <line stroke="black" stroke-opacity="1" x1="610" y1="328" x2="718" y2="328" />
+ <line stroke="black" stroke-opacity="1" x1="610" y1="336" x2="718" y2="336" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="778" y1="335" x2="727" y2="326" />
+ <line stroke="black" stroke-opacity="1" x1="722" y1="325" x2="726" y2="331" />
+ <line stroke="black" stroke-opacity="1" x1="722" y1="325" x2="728" y2="320" />
+ <line stroke="black" stroke-opacity="1" x1="726" y1="331" x2="728" y2="320" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="609" y1="305" x2="553" y2="296" />
+ <line stroke="black" stroke-opacity="1" x1="548" y1="296" x2="553" y2="302" />
+ <line stroke="black" stroke-opacity="1" x1="548" y1="296" x2="554" y2="290" />
+ <line stroke="black" stroke-opacity="1" x1="553" y1="302" x2="554" y2="290" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="664" y1="855" x2="664" y2="353" />
+ <line stroke="black" stroke-opacity="1" x1="665" y1="348" x2="658" y2="353" />
+ <line stroke="black" stroke-opacity="1" x1="665" y1="348" x2="670" y2="354" />
+ <line stroke="black" stroke-opacity="1" x1="658" y1="353" x2="670" y2="354" />
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="533" y="68">0..1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="694" y="117">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1080" y="343">chosen</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1052" y="343">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1146" y="343">requested</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1118" y="343">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="418" y="56">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="272" y="56">1</text>
+</g>
+</svg>
diff --git a/doc/uml/html-svg/fig134786.svg b/doc/uml/html-svg/fig134786.svg
new file mode 100644
index 000000000..ef7e7e5ba
--- /dev/null
+++ b/doc/uml/html-svg/fig134786.svg
@@ -0,0 +1,356 @@
+<?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="1220" height="1060" version="1.1" xmlns="http://www.w3.org/2000/svg">
+<g>
+ <rect fill="#c0ffff" stroke="black" stroke-width="1" stroke-opacity="1" x="9" y="206" width="939" height="835" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="85" y="223">Programmable Shader</text>
+ <line stroke="black" stroke-opacity="1" x1="9" y1="232" x2="161" y2="232" />
+ <line stroke="black" stroke-opacity="1" x1="161" y1="232" x2="174" y2="219" />
+ <line stroke="black" stroke-opacity="1" x1="174" y1="219" x2="174" y2="206" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="9" y1="740" x2="948" y2="740" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="9" y1="486" x2="948" y2="486" />
+</g>
+<g>
+ <line stroke="black" stroke-dasharray="20,4" stroke-opacity="1" x1="9" y1="404" x2="948" y2="404" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="211" y1="245" x2="211" y2="192" />
+ <line stroke="black" stroke-opacity="1" x1="211" y1="186" x2="205" y2="192" />
+ <line stroke="black" stroke-opacity="1" x1="211" y1="186" x2="217" y2="192" />
+ <line stroke="black" stroke-opacity="1" x1="205" y1="192" x2="217" y2="192" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="211" y1="499" x2="211" y2="318" />
+ <line stroke="black" stroke-opacity="1" x1="211" y1="312" x2="205" y2="318" />
+ <line stroke="black" stroke-opacity="1" x1="211" y1="312" x2="217" y2="318" />
+ <line stroke="black" stroke-opacity="1" x1="205" y1="318" x2="217" y2="318" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="514" y1="773" x2="379" y2="480" />
+ <line stroke="black" stroke-opacity="1" x1="377" y1="475" x2="374" y2="482" />
+ <line stroke="black" stroke-opacity="1" x1="377" y1="475" x2="384" y2="477" />
+ <line stroke="black" stroke-opacity="1" x1="374" y1="482" x2="384" y2="477" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="702" y1="114" x2="522" y2="60" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="687" y1="989" x2="562" y2="844" />
+ <line stroke="black" stroke-opacity="1" x1="559" y1="840" x2="558" y2="848" />
+ <line stroke="black" stroke-opacity="1" x1="559" y1="840" x2="567" y2="840" />
+ <line stroke="black" stroke-opacity="1" x1="558" y1="848" x2="567" y2="840" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1095" y1="481" x2="1095" y2="447" />
+ <line stroke="black" stroke-opacity="1" x1="1095" y1="441" x2="1089" y2="447" />
+ <line stroke="black" stroke-opacity="1" x1="1095" y1="441" x2="1101" y2="447" />
+ <line stroke="black" stroke-opacity="1" x1="1089" y1="447" x2="1101" y2="447" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1056" y1="341" x2="1058" y2="398" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1093" y1="298" x2="1093" y2="274" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1039" y1="222" x2="797" y2="144" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1095" y1="584" x2="1095" y2="524" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1124" y1="398" x2="1123" y2="341" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="1095" y1="584" x2="1095" y2="524" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="211" y1="119" x2="211" y2="87" />
+ <line stroke="black" stroke-opacity="1" x1="211" y1="81" x2="205" y2="87" />
+ <line stroke="black" stroke-opacity="1" x1="211" y1="81" x2="217" y2="87" />
+ <line stroke="black" stroke-opacity="1" x1="205" y1="87" x2="217" y2="87" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="260" y1="48" x2="435" y2="48" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="256" y="124" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="166" y="182" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="162" y="120" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="209" y="129">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="209" y="152">GL</text>
+ <line stroke="black" stroke-opacity="1" x1="162" y1="166" x2="256" y2="166" />
+ <line stroke="black" stroke-opacity="1" x1="162" y1="174" x2="256" y2="174" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="758" y="883" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="668" y="941" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="664" y="879" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="711" y="888">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="711" y="911">GL4</text>
+ <line stroke="black" stroke-opacity="1" x1="664" y1="925" x2="758" y2="925" />
+ <line stroke="black" stroke-opacity="1" x1="664" y1="933" x2="758" y2="933" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="256" y="250" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="166" y="308" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="162" y="246" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="209" y="255">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="209" y="278">GL2ES2</text>
+ <line stroke="black" stroke-opacity="1" x1="162" y1="292" x2="256" y2="292" />
+ <line stroke="black" stroke-opacity="1" x1="162" y1="300" x2="256" y2="300" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="575" y="778" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="485" y="836" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="481" y="774" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="528" y="783">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="528" y="806">GL3</text>
+ <line stroke="black" stroke-opacity="1" x1="481" y1="820" x2="575" y2="820" />
+ <line stroke="black" stroke-opacity="1" x1="481" y1="828" x2="575" y2="828" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="256" y="504" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="166" y="562" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="162" y="500" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="209" y="509">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="209" y="532">GLES2</text>
+ <line stroke="black" stroke-opacity="1" x1="162" y1="546" x2="256" y2="546" />
+ <line stroke="black" stroke-opacity="1" x1="162" y1="554" x2="256" y2="554" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="765" y="328" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="661" y="386" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="657" y="324" width="108" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="711" y="333">&lt;&lt;@interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="711" y="356">GL4ES3</text>
+ <line stroke="black" stroke-opacity="1" x1="657" y1="370" x2="765" y2="370" />
+ <line stroke="black" stroke-opacity="1" x1="657" y1="378" x2="765" y2="378" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="518" y="31" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="440" y="65" width="81" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="436" y="27" width="82" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="477" y="36">GLContext</text>
+ <line stroke="black" stroke-opacity="1" x1="436" y1="50" x2="518" y2="50" />
+ <line stroke="black" stroke-opacity="1" x1="436" y1="58" x2="518" y2="58" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="793" y="113" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="707" y="147" width="89" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="703" y="109" width="90" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="748" y="118">GLDrawable</text>
+ <line stroke="black" stroke-opacity="1" x1="703" y1="132" x2="793" y2="132" />
+ <line stroke="black" stroke-opacity="1" x1="703" y1="140" x2="793" y2="140" />
+</g>
+<g>
+ <rect fill="none" stroke="black" stroke-width="1" stroke-opacity="1" x="312" y="269" width="104" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="364" y="278">&lt;&lt;metaclass&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="364" y="301">GL2ES3</text>
+ <line stroke="black" stroke-opacity="1" x1="312" y1="315" x2="416" y2="315" />
+ <line stroke="black" stroke-opacity="1" x1="312" y1="323" x2="416" y2="323" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="703" y1="1010" x2="723" y2="1010" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="713" cy="1000" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="713" y="1019">GL4bcImpl</text>
+ <line stroke="black" stroke-opacity="1" x1="672" y1="1033" x2="754" y2="1033" />
+ <line stroke="black" stroke-opacity="1" x1="672" y1="1041" x2="754" y2="1041" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="627" y1="709" x2="647" y2="709" />
+ <ellipse fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" cx="637" cy="699" rx="10" ry="10" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="637" y="718">GLES3Impl</text>
+ <line stroke="black" stroke-opacity="1" x1="596" y1="732" x2="678" y2="732" />
+ <line stroke="black" stroke-opacity="1" x1="596" y1="740" x2="678" y2="740" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="817" y="514">Mobile final public</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="817" y="533">OpenGL Interfaces</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="817" y="233">Desktop/Mobile</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="817" y="252">Common Interfaces</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1146" y="212" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1044" y="270" width="105" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1040" y="208" width="106" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="1093" y="217">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1093" y="240">NativeWindow</text>
+ <line stroke="black" stroke-opacity="1" x1="1040" y1="254" x2="1146" y2="254" />
+ <line stroke="black" stroke-opacity="1" x1="1040" y1="262" x2="1146" y2="262" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1204" y="303" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="986" y="337" width="221" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="982" y="299" width="222" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" font-style="italic" text-anchor="middle" x="1093" y="308">AbstractGraphicsConfiguration</text>
+ <line stroke="black" stroke-opacity="1" x1="982" y1="322" x2="1204" y2="322" />
+ <line stroke="black" stroke-opacity="1" x1="982" y1="330" x2="1204" y2="330" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="817" y="767">Desktop final public</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="817" y="786">OpenGL Interfaces</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1147" y="486" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1043" y="520" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1039" y="482" width="108" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1093" y="491">GLCapabilities</text>
+ <line stroke="black" stroke-opacity="1" x1="1039" y1="505" x2="1147" y2="505" />
+ <line stroke="black" stroke-opacity="1" x1="1039" y1="513" x2="1147" y2="513" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1129" y="589" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1061" y="623" width="71" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1057" y="585" width="72" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1093" y="594">GLProfile</text>
+ <line stroke="black" stroke-opacity="1" x1="1057" y1="608" x2="1129" y2="608" />
+ <line stroke="black" stroke-opacity="1" x1="1057" y1="616" x2="1129" y2="616" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="853" y="34">Lifecycle: From the lower right to</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="853" y="53">the top, left step where the</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="853" y="72">GLContext is created with a</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="853" y="91">suitable GL implementation</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="853" y="110">matching the GLProfile.</text>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="256" y="19" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="166" y="77" width="93" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="162" y="15" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="209" y="24">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="209" y="47">GLBase</text>
+ <line stroke="black" stroke-opacity="1" x1="162" y1="61" x2="256" y2="61" />
+ <line stroke="black" stroke-opacity="1" x1="162" y1="69" x2="256" y2="69" />
+</g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="271" y="153">Common GL</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="271" y="172">Stuff</text>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="711" y1="989" x2="711" y2="950" />
+ <line stroke="black" stroke-opacity="1" x1="712" y1="945" x2="705" y2="950" />
+ <line stroke="black" stroke-opacity="1" x1="712" y1="945" x2="717" y2="951" />
+ <line stroke="black" stroke-opacity="1" x1="705" y1="950" x2="717" y2="951" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="663" y1="882" x2="584" y2="836" />
+ <line stroke="black" stroke-opacity="1" x1="579" y1="834" x2="581" y2="842" />
+ <line stroke="black" stroke-opacity="1" x1="579" y1="834" x2="587" y2="831" />
+ <line stroke="black" stroke-opacity="1" x1="581" y1="842" x2="587" y2="831" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="311" y1="291" x2="265" y2="284" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="284" x2="265" y2="290" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="284" x2="266" y2="278" />
+ <line stroke="black" stroke-opacity="1" x1="265" y1="290" x2="266" y2="278" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="713" y1="878" x2="713" y2="396" />
+ <line stroke="black" stroke-opacity="1" x1="713" y1="390" x2="707" y2="396" />
+ <line stroke="black" stroke-opacity="1" x1="713" y1="390" x2="719" y2="396" />
+ <line stroke="black" stroke-opacity="1" x1="707" y1="396" x2="719" y2="396" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="595" y1="699" x2="265" y2="555" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="553" x2="263" y2="560" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="553" x2="267" y2="549" />
+ <line stroke="black" stroke-opacity="1" x1="263" y1="560" x2="267" y2="549" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="689" y="590" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="585" y="648" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="581" y="586" width="108" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="635" y="595">&lt;&lt;@interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="635" y="618">GLES3</text>
+ <line stroke="black" stroke-opacity="1" x1="581" y1="632" x2="689" y2="632" />
+ <line stroke="black" stroke-opacity="1" x1="581" y1="640" x2="689" y2="640" />
+</g>
+<g>
+ <rect fill="none" stroke="black" stroke-width="1" stroke-opacity="1" x="317" y="413" width="94" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="364" y="422">&lt;&lt;interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="364" y="445">GL2GL3</text>
+ <line stroke="black" stroke-opacity="1" x1="317" y1="459" x2="411" y2="459" />
+ <line stroke="black" stroke-opacity="1" x1="317" y1="467" x2="411" y2="467" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1137" y="403" width="3" height="37" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="1053" y="437" width="87" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="1049" y="399" width="88" height="38" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="1093" y="408">Capabilities</text>
+ <line stroke="black" stroke-opacity="1" x1="1049" y1="422" x2="1137" y2="422" />
+ <line stroke="black" stroke-opacity="1" x1="1049" y1="430" x2="1137" y2="430" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="646" y1="585" x2="700" y2="395" />
+ <line stroke="black" stroke-opacity="1" x1="702" y1="390" x2="694" y2="394" />
+ <line stroke="black" stroke-opacity="1" x1="702" y1="390" x2="706" y2="397" />
+ <line stroke="black" stroke-opacity="1" x1="694" y1="394" x2="706" y2="397" />
+</g>
+<g>
+ <line stroke-dasharray="4,4" stroke="black" stroke-opacity="1" x1="637" y1="688" x2="637" y2="658" />
+ <line stroke="black" stroke-opacity="1" x1="637" y1="652" x2="631" y2="658" />
+ <line stroke="black" stroke-opacity="1" x1="637" y1="652" x2="643" y2="658" />
+ <line stroke="black" stroke-opacity="1" x1="631" y1="658" x2="643" y2="658" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="580" y1="607" x2="265" y2="543" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="542" x2="264" y2="549" />
+ <line stroke="black" stroke-opacity="1" x1="260" y1="542" x2="267" y2="537" />
+ <line stroke="black" stroke-opacity="1" x1="264" y1="549" x2="267" y2="537" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="364" y1="412" x2="364" y2="337" />
+ <line stroke="black" stroke-opacity="1" x1="364" y1="331" x2="358" y2="337" />
+ <line stroke="black" stroke-opacity="1" x1="364" y1="331" x2="370" y2="337" />
+ <line stroke="black" stroke-opacity="1" x1="358" y1="337" x2="370" y2="337" />
+</g>
+<g>
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="586" y="296" width="3" height="61" />
+ <rect fill="#808080" stroke="none" stroke-opacity="1" x="482" y="354" width="107" height="3" />
+ <rect fill="#ffffc0" stroke="black" stroke-width="1" stroke-opacity="1" x="478" y="292" width="108" height="62" />
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" text-anchor="middle" x="532" y="301">&lt;&lt;@interface&gt;&gt;</text>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" font-weight="bold" text-anchor="middle" x="532" y="324">GL3ES3</text>
+ <line stroke="black" stroke-opacity="1" x1="478" y1="338" x2="586" y2="338" />
+ <line stroke="black" stroke-opacity="1" x1="478" y1="346" x2="586" y2="346" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="656" y1="347" x2="595" y2="335" />
+ <line stroke="black" stroke-opacity="1" x1="590" y1="334" x2="594" y2="341" />
+ <line stroke="black" stroke-opacity="1" x1="590" y1="334" x2="597" y2="329" />
+ <line stroke="black" stroke-opacity="1" x1="594" y1="341" x2="597" y2="329" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="477" y1="315" x2="421" y2="306" />
+ <line stroke="black" stroke-opacity="1" x1="416" y1="306" x2="421" y2="312" />
+ <line stroke="black" stroke-opacity="1" x1="416" y1="306" x2="422" y2="300" />
+ <line stroke="black" stroke-opacity="1" x1="421" y1="312" x2="422" y2="300" />
+</g>
+<g>
+ <line stroke="black" stroke-opacity="1" x1="530" y1="773" x2="532" y2="363" />
+ <line stroke="black" stroke-opacity="1" x1="533" y1="358" x2="526" y2="363" />
+ <line stroke="black" stroke-opacity="1" x1="533" y1="358" x2="538" y2="364" />
+ <line stroke="black" stroke-opacity="1" x1="526" y1="363" x2="538" y2="364" />
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="532" y="79">0..1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="684" y="133">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1068" y="381">chosen</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1040" y="381">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1134" y="381">requested</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="1106" y="381">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="417" y="64">1</text>
+</g>
+<g>
+ <text font-family="Helvetica" font-size="7" fill="#000000" xml:space="preserve" x="270" y="64">1</text>
+</g>
+</svg>
diff --git a/doc/bouml/html-svg/index-withframe.html b/doc/uml/html-svg/index-withframe.html
index 96f19466e..a1a0a52cb 100644
--- a/doc/bouml/html-svg/index-withframe.html
+++ b/doc/uml/html-svg/index-withframe.html
@@ -4,7 +4,7 @@
<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>
+<title>/usr/local/projects/JOGL/jogl/doc/uml/html-svg/index-withframe</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<FRAMESET cols="20%,80%">
diff --git a/doc/bouml/html-svg/index.html b/doc/uml/html-svg/index.html
index c25ed5182..2cb031be5 100644
--- a/doc/bouml/html-svg/index.html
+++ b/doc/uml/html-svg/index.html
@@ -18,14 +18,17 @@ Documentation</title>
<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>
+<li>html dir:<br /><div class="sub">/usr/local/projects/JOGL/jogl/doc/uml/html-svg/</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>
+<p align="center"><embed src="fig128069.svg" width="1232" height="1178"/></p>
+ <p align="center"><b>OpenGL Interfaces - All</b></p><p><br /></p><p><br /></p>
+<a name="refclass diagram134786"></a>
+<p align="center"><embed src="fig134786.svg" width="1220" height="1060"/></p>
+ <p align="center"><b>OpenGL Interfaces - Core Only</b></p><p><br /></p><p><br /></p>
<a name="refclass128069"></a>
<h2 class ="class">1.1 Class GL</h2>
<p>Declaration :</p><ul>
@@ -65,7 +68,7 @@ Documentation</title>
<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>
+<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#refmetaclass135298"><b>GL2ES3</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">
@@ -92,7 +95,7 @@ Documentation</title>
<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>
+<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#refclass134914"><b>GLES3</b></a> <a href="index.html#refclass130629"><b>GLES3Impl</b></a> </p>
<p>Stereotype: interface</p>
<div class="sub">
<div class="sub">
@@ -125,9 +128,9 @@ Documentation</title>
</div>
</div>
<a name="refclass130629"></a>
-<h2 class ="class">1.12 Class GLES2Impl</h2>
+<h2 class ="class">1.12 Class GLES3Impl</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>
+<li>Java : private class GLES3Impl extends <a href="index.html#refclass134914"><b>GLES3</b></a> implements <a href="index.html#refclass128965"><b>GLES2</b></a> </li></ul><p>Stereotype: entity</p>
<div class="sub">
<div class="sub">
</div>
@@ -233,6 +236,42 @@ Documentation</title>
<div class="sub">
</div>
</div>
+<a name="refclass134914"></a>
+<h2 class ="class">1.24 Class GLES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public @interface GLES3 extends <a href="index.html#refclass135042"><b>GL4ES3</b></a> </li></ul><p>Directly inherited by : <a href="index.html#refclass130629"><b>GLES3Impl</b></a> </p>
+<p>Stereotype: @interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass135042"></a>
+<h2 class ="class">1.25 Class GL4ES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public @interface GL4ES3 extends <a href="index.html#refclass135170"><b>GL3ES3</b></a> </li></ul><p>Directly inherited by : <a href="index.html#refclass128130"><b>GL4</b></a> <a href="index.html#refclass134914"><b>GLES3</b></a> </p>
+<p>Stereotype: @interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass135170"></a>
+<h2 class ="class">1.26 Class GL3ES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public @interface GL3ES3 extends <a href="index.html#refmetaclass135298"><b>GL2ES3</b></a> </li></ul><p>Directly inherited by : <a href="index.html#refclass128837"><b>GL3</b></a> <a href="index.html#refclass135042"><b>GL4ES3</b></a> </p>
+<p>Stereotype: @interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass135298"></a>
+<h2 class ="metaclass">1.27 Metaclass GL2ES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : package @interface GL2ES3 </li></ul><p>Directly inherited by : <a href="index.html#refclass128709"><b>GL2GL3</b></a> <a href="index.html#refclass135170"><b>GL3ES3</b></a> </p>
+<p>Stereotype: metaclass</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
</div>
</body>
</html>
diff --git a/doc/bouml/html-svg/index_65.html b/doc/uml/html-svg/index_65.html
index 9a6dedcaa..9a6dedcaa 100644
--- a/doc/bouml/html-svg/index_65.html
+++ b/doc/uml/html-svg/index_65.html
diff --git a/doc/bouml/html-svg/index_67.html b/doc/uml/html-svg/index_67.html
index 630cc4999..630cc4999 100644
--- a/doc/bouml/html-svg/index_67.html
+++ b/doc/uml/html-svg/index_67.html
diff --git a/doc/bouml/html-svg/index_71.html b/doc/uml/html-svg/index_71.html
index f09f91321..2f84ff7b7 100644
--- a/doc/bouml/html-svg/index_71.html
+++ b/doc/uml/html-svg/index_71.html
@@ -22,12 +22,15 @@
<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#refmetaclass135298" target = "projectFrame"><b>GL2ES3</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#refclass135170" target = "projectFrame"><b>GL3ES3</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#refclass135042" target = "projectFrame"><b>GL4ES3</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>
@@ -35,7 +38,8 @@
<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#refclass134914" target = "projectFrame"><b>GLES3</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES3Impl</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>
diff --git a/doc/bouml/html-svg/index_74.html b/doc/uml/html-svg/index_74.html
index 14ff3bec2..14ff3bec2 100644
--- a/doc/bouml/html-svg/index_74.html
+++ b/doc/uml/html-svg/index_74.html
diff --git a/doc/bouml/html-svg/index_78.html b/doc/uml/html-svg/index_78.html
index 3273a2e71..3273a2e71 100644
--- a/doc/bouml/html-svg/index_78.html
+++ b/doc/uml/html-svg/index_78.html
diff --git a/doc/bouml/html-svg/index_79.html b/doc/uml/html-svg/index_79.html
index 7474a3309..dc8c42a44 100644
--- a/doc/bouml/html-svg/index_79.html
+++ b/doc/uml/html-svg/index_79.html
@@ -17,7 +17,8 @@
<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>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces - All</b></a></td><td>class diagram</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram134786" target = "projectFrame"><b>OpenGL Interfaces - Core Only</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/uml/html-svg/index_82.html
index c5dcd1dcd..c5dcd1dcd 100644
--- a/doc/bouml/html-svg/index_82.html
+++ b/doc/uml/html-svg/index_82.html
diff --git a/doc/bouml/html-svg/navig.html b/doc/uml/html-svg/navig.html
index 66b446d18..e4f122334 100644
--- a/doc/bouml/html-svg/navig.html
+++ b/doc/uml/html-svg/navig.html
@@ -4,7 +4,7 @@
<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>
+<title>/usr/local/projects/JOGL/jogl/doc/uml/html-svg/navig</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
diff --git a/doc/bouml/html-svg/packages.html b/doc/uml/html-svg/packages.html
index 61017a207..61017a207 100644
--- a/doc/bouml/html-svg/packages.html
+++ b/doc/uml/html-svg/packages.html
diff --git a/doc/bouml/html-svg/style.css b/doc/uml/html-svg/style.css
index 3a10a8149..3a10a8149 100644
--- a/doc/bouml/html-svg/style.css
+++ b/doc/uml/html-svg/style.css
diff --git a/doc/bouml/html/classdiagrams.html b/doc/uml/html/classdiagrams.html
index 0763bd4c6..df3dd93ee 100644
--- a/doc/bouml/html/classdiagrams.html
+++ b/doc/uml/html/classdiagrams.html
@@ -16,7 +16,8 @@
<!-- ============================================================= -->
<table>
-<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces - All</b></a></td><td></td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram134786" target = "projectFrame"><b>OpenGL Interfaces - Core Only</b></a></td><td></td><td></td></tr>
</table>
</body>
</html>
diff --git a/doc/bouml/html/classes.html b/doc/uml/html/classes.html
index c0eff2e35..7b4525b84 100644
--- a/doc/bouml/html/classes.html
+++ b/doc/uml/html/classes.html
@@ -23,12 +23,15 @@
<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#refmetaclass135298" target = "projectFrame"><b>GL2ES3</b></a></td><td>metaclass</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#refclass135170" target = "projectFrame"><b>GL3ES3</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#refclass135042" target = "projectFrame"><b>GL4ES3</b></a></td><td>@interface</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>
@@ -36,7 +39,8 @@
<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#refclass134914" target = "projectFrame"><b>GLES3</b></a></td><td>@interface</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES3Impl</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>
diff --git a/doc/bouml/html/classes_list.html b/doc/uml/html/classes_list.html
index 717f1b1c0..8d1e417b8 100644
--- a/doc/bouml/html/classes_list.html
+++ b/doc/uml/html/classes_list.html
@@ -24,12 +24,15 @@
<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#refmetaclass135298" target = "projectFrame"><b>GL2ES3</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#refclass135170" target = "projectFrame"><b>GL3ES3</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#refclass135042" target = "projectFrame"><b>GL4ES3</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 />
@@ -37,7 +40,8 @@
<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#refclass134914" target = "projectFrame"><b>GLES3</b></a><br />
+<a href="index.html#refclass130629" target = "projectFrame"><b>GLES3Impl</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>
diff --git a/doc/uml/html/fig128069.png b/doc/uml/html/fig128069.png
new file mode 100644
index 000000000..08e08f458
--- /dev/null
+++ b/doc/uml/html/fig128069.png
Binary files differ
diff --git a/doc/uml/html/fig134786.png b/doc/uml/html/fig134786.png
new file mode 100644
index 000000000..70b0f50b9
--- /dev/null
+++ b/doc/uml/html/fig134786.png
Binary files differ
diff --git a/doc/bouml/html/index-withframe.html b/doc/uml/html/index-withframe.html
index 2410daaaf..f3a66480c 100644
--- a/doc/bouml/html/index-withframe.html
+++ b/doc/uml/html/index-withframe.html
@@ -4,7 +4,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<title>/usr/local/projects/JOGL/jogl/doc/bouml/html/index-withframe</title>
+<title>/usr/local/projects/JOGL/jogl/doc/uml/html/index-withframe</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<FRAMESET cols="20%,80%">
diff --git a/doc/bouml/html/index.html b/doc/uml/html/index.html
index 952c4518b..2b67bd325 100644
--- a/doc/bouml/html/index.html
+++ b/doc/uml/html/index.html
@@ -18,14 +18,17 @@ Documentation</title>
<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>
+<li>html dir:<br /><div class="sub">/usr/local/projects/JOGL/jogl/doc/uml/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>
+ <p align="center"><b>OpenGL Interfaces - All</b></p><p><br /></p><p><br /></p>
+<a name="refclass diagram134786"></a>
+<p align="center"><img src="fig134786.png" alt="" /></p>
+ <p align="center"><b>OpenGL Interfaces - Core Only</b></p><p><br /></p><p><br /></p>
<a name="refclass128069"></a>
<h2 class ="class">1.1 Class GL</h2>
<p>Declaration :</p><ul>
@@ -65,7 +68,7 @@ Documentation</title>
<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>
+<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#refmetaclass135298"><b>GL2ES3</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">
@@ -92,7 +95,7 @@ Documentation</title>
<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>
+<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#refclass134914"><b>GLES3</b></a> <a href="index.html#refclass130629"><b>GLES3Impl</b></a> </p>
<p>Stereotype: interface</p>
<div class="sub">
<div class="sub">
@@ -125,9 +128,9 @@ Documentation</title>
</div>
</div>
<a name="refclass130629"></a>
-<h2 class ="class">1.12 Class GLES2Impl</h2>
+<h2 class ="class">1.12 Class GLES3Impl</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>
+<li>Java : private class GLES3Impl extends <a href="index.html#refclass134914"><b>GLES3</b></a> implements <a href="index.html#refclass128965"><b>GLES2</b></a> </li></ul><p>Stereotype: entity</p>
<div class="sub">
<div class="sub">
</div>
@@ -233,6 +236,42 @@ Documentation</title>
<div class="sub">
</div>
</div>
+<a name="refclass134914"></a>
+<h2 class ="class">1.24 Class GLES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public @interface GLES3 extends <a href="index.html#refclass135042"><b>GL4ES3</b></a> </li></ul><p>Directly inherited by : <a href="index.html#refclass130629"><b>GLES3Impl</b></a> </p>
+<p>Stereotype: @interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass135042"></a>
+<h2 class ="class">1.25 Class GL4ES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public @interface GL4ES3 extends <a href="index.html#refclass135170"><b>GL3ES3</b></a> </li></ul><p>Directly inherited by : <a href="index.html#refclass128130"><b>GL4</b></a> <a href="index.html#refclass134914"><b>GLES3</b></a> </p>
+<p>Stereotype: @interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass135170"></a>
+<h2 class ="class">1.26 Class GL3ES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : public @interface GL3ES3 extends <a href="index.html#refmetaclass135298"><b>GL2ES3</b></a> </li></ul><p>Directly inherited by : <a href="index.html#refclass128837"><b>GL3</b></a> <a href="index.html#refclass135042"><b>GL4ES3</b></a> </p>
+<p>Stereotype: @interface</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
+<a name="refclass135298"></a>
+<h2 class ="metaclass">1.27 Metaclass GL2ES3</h2>
+<p>Declaration :</p><ul>
+<li>Java : package @interface GL2ES3 </li></ul><p>Directly inherited by : <a href="index.html#refclass128709"><b>GL2GL3</b></a> <a href="index.html#refclass135170"><b>GL3ES3</b></a> </p>
+<p>Stereotype: metaclass</p>
+<div class="sub">
+<div class="sub">
+</div>
+</div>
</div>
</body>
</html>
diff --git a/doc/bouml/html/index_65.html b/doc/uml/html/index_65.html
index 12cff3a70..12cff3a70 100644
--- a/doc/bouml/html/index_65.html
+++ b/doc/uml/html/index_65.html
diff --git a/doc/bouml/html/index_67.html b/doc/uml/html/index_67.html
index 6c276a1e2..6c276a1e2 100644
--- a/doc/bouml/html/index_67.html
+++ b/doc/uml/html/index_67.html
diff --git a/doc/bouml/html/index_71.html b/doc/uml/html/index_71.html
index 9481c2466..40ba063ac 100644
--- a/doc/bouml/html/index_71.html
+++ b/doc/uml/html/index_71.html
@@ -22,12 +22,15 @@
<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#refmetaclass135298" target = "projectFrame"><b>GL2ES3</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#refclass135170" target = "projectFrame"><b>GL3ES3</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#refclass135042" target = "projectFrame"><b>GL4ES3</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>
@@ -35,7 +38,8 @@
<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#refclass134914" target = "projectFrame"><b>GLES3</b></a></td><td>class</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass130629" target = "projectFrame"><b>GLES3Impl</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>
diff --git a/doc/bouml/html/index_74.html b/doc/uml/html/index_74.html
index 9a970333e..9a970333e 100644
--- a/doc/bouml/html/index_74.html
+++ b/doc/uml/html/index_74.html
diff --git a/doc/bouml/html/index_78.html b/doc/uml/html/index_78.html
index 4165af58c..4165af58c 100644
--- a/doc/bouml/html/index_78.html
+++ b/doc/uml/html/index_78.html
diff --git a/doc/bouml/html/index_79.html b/doc/uml/html/index_79.html
index 4eb8a76a5..751a36ac9 100644
--- a/doc/bouml/html/index_79.html
+++ b/doc/uml/html/index_79.html
@@ -17,7 +17,8 @@
<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>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128069" target = "projectFrame"><b>OpenGL Interfaces - All</b></a></td><td>class diagram</td><td></td></tr>
+<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram134786" target = "projectFrame"><b>OpenGL Interfaces - Core Only</b></a></td><td>class diagram</td><td></td></tr>
</table>
</body>
</html>
diff --git a/doc/bouml/html/index_82.html b/doc/uml/html/index_82.html
index 984d8bf45..984d8bf45 100644
--- a/doc/bouml/html/index_82.html
+++ b/doc/uml/html/index_82.html
diff --git a/doc/bouml/html/navig.html b/doc/uml/html/navig.html
index 16236c7b5..7416879d2 100644
--- a/doc/bouml/html/navig.html
+++ b/doc/uml/html/navig.html
@@ -4,7 +4,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<title>/usr/local/projects/JOGL/jogl/doc/bouml/html/navig</title>
+<title>/usr/local/projects/JOGL/jogl/doc/uml/html/navig</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
diff --git a/doc/bouml/html/packages.html b/doc/uml/html/packages.html
index 50e1a6d9f..50e1a6d9f 100644
--- a/doc/bouml/html/packages.html
+++ b/doc/uml/html/packages.html
diff --git a/doc/bouml/html/style.css b/doc/uml/html/style.css
index 3a10a8149..3a10a8149 100644
--- a/doc/bouml/html/style.css
+++ b/doc/uml/html/style.css
diff --git a/doc/uml/jogl/128069.diagram b/doc/uml/jogl/128069.diagram
new file mode 100644
index 000000000..b0ab78b76
--- /dev/null
+++ b/doc/uml/jogl/128069.diagram
@@ -0,0 +1,330 @@
+format 74
+
+classcanvas 128002 class_ref 128002 // GL3bc
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 188.4 856.7 2000
+end
+classcanvas 128069 class_ref 128069 // GL
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 163.4 116 2000
+end
+classcanvas 128130 class_ref 128130 // GL4
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 786.7 985.3 2000
+end
+classcanvas 128197 class_ref 128197 // GL2ES1
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 59 234.4 2000
+end
+classcanvas 128258 class_ref 128258 // GL4bc
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 188.4 985.6 2000
+end
+classcanvas 128325 class_ref 128325 // GLES1
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 59.4 492.3 2000
+end
+classcanvas 128453 class_ref 128453 // GL2
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 188.9 746 2000
+end
+classcanvas 128581 class_ref 128581 // GL2ES2
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 294.9 235.5 2000
+end
+classcanvas 128709 class_ref 128709 // GL2GL3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 447.2 397.7 2005
+end
+classcanvas 128837 class_ref 128837 // GL3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 615.2 856.2 2000
+end
+classcanvas 128965 class_ref 128965 // GLES2
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 294.9 489.6 2000
+end
+classcanvas 130050 class_ref 134914 // GLES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 709.2 569.5 2004
+end
+classcanvas 130178 class_ref 135042 // GL4ES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 779 313.3 2000
+end
+classcanvas 130245 class_ref 130117 // GLContext
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 437.1 19.1 2000
+end
+classcanvas 130434 class_ref 135170 // GL3ES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 610.8 282.6 2009
+end
+classcanvas 130501 class_ref 130245 // GLDrawable
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 713.9 91.2 2000
+end
+classcanvas 130690 class_ref 135298 // GL2ES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ color transparent
+ xyz 444.3 258 2000
+end
+classcanvas 130885 class_ref 130501 // GL4bcImpl
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 452.1 1088.4 2000
+end
+classcanvas 131141 class_ref 130757 // GLES1Impl
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 67.4 578.2 2005
+end
+classcanvas 131202 class_ref 130629 // GLES3Impl
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 724.9 656.8 2000
+end
+textcanvas 131781 "Desktop final public OpenGL Interfaces
+"
+ xyzwh 851.5 718.6 2000 139 48
+textcanvas 131909 "Mobile final public OpenGL Interfaces"
+ xyzwh 851.1 490.8 2000 125 38
+textcanvas 132037 "Private implementation (detail)"
+ xyzwh 17.5 1095.8 2000 178 18
+textcanvas 132165 "Desktop/Mobile Common Interfaces"
+ xyzwh 851.5 206.6 2000 129 42
+classcanvas 132293 class_ref 130885 // NativeWindow
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1052.2 170 2000
+end
+classcanvas 132421 class_ref 131013 // AbstractGraphicsConfiguration
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 994.6 261.2 2000
+end
+classcanvas 132549 class_ref 131141 // GLCapabilities
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1051 444.7 2000
+end
+classcanvas 132677 class_ref 131269 // Capabilities
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1061 361.9 2005
+end
+classcanvas 132805 class_ref 131397 // GLProfile
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1069.2 548.6 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 845.2 10.6 2000 208 93
+classcanvas 135877 class_ref 132549 // GLBase
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 164.9 7.5 2000
+end
+textcanvas 136261 "Common GL Stuff"
+ xyzwh 271.2 135.4 2000 108 17
+fragment 136517 "Programmable Shader"
+ color blue xyzwh 237.5 195.6 1994 744 972
+ separator 2892
+ separator 5265
+ separator 2006
+end
+fragment 136645 "Fixed Function"
+ color lightgray xyzwh 2.7 195.6 1989 236 972
+ separator 2890
+ separator 5270
+ separator 2001
+end
+textcanvas 136773 "Common Desktop Profile"
+ xyzwh 851.1 401.6 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 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 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 130306 relation_ref 135810 // <generalisation>
+ from ref 130050 z 2005 to ref 130178
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130562 relation_ref 135938 // <generalisation>
+ from ref 130178 z 2010 to ref 130434
+ 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 533 61 3000 multiplicity_b_pos 694 110 3000
+end
+relationcanvas 130818 relation_ref 136066 // <generalisation>
+ from ref 130434 z 2010 to ref 130690
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130946 relation_ref 136194 // <generalisation>
+ from ref 130690 z 2001 to ref 128581
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131074 relation_ref 136322 // <generalisation>
+ from ref 128709 z 2006 to ref 130690
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+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 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 131842 relation_ref 136834 // <generalisation>
+ from ref 128837 z 2010 to ref 130434
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131970 relation_ref 136962 // <generalisation>
+ from ref 128130 z 2001 to ref 130178
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132098 relation_ref 137090 // <realization>
+ from ref 131202 z 2001 to ref 128965
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132226 relation_ref 137218 // <realization>
+ from ref 131202 z 2005 to ref 130050
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132354 relation_ref 143746 // <generalisation>
+ from ref 130050 z 2005 to ref 128965
+ 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 326
+ decenter_end 104
+ from ref 132421 z 1999 to ref 132677
+ role_a_pos 1080 336 3000 no_role_b
+ multiplicity_a_pos 1052 336 3000 no_multiplicity_b
+end
+relationcanvas 133701 relation_ref 131525 // <association>
+ decenter_begin 493
+ 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 814
+ decenter_end 625
+ from ref 132677 z 1999 to ref 132421
+ no_role_a role_b_pos 1146 336 3000
+ no_multiplicity_a multiplicity_b_pos 1118 336 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 418 49 3000 multiplicity_b_pos 272 49 3000
+end
+end
diff --git a/doc/uml/jogl/134786.diagram b/doc/uml/jogl/134786.diagram
new file mode 100644
index 000000000..ea3909cc2
--- /dev/null
+++ b/doc/uml/jogl/134786.diagram
@@ -0,0 +1,238 @@
+format 74
+
+classcanvas 128069 class_ref 128069 // GL
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 162.3 120.7 2000
+end
+classcanvas 128130 class_ref 128130 // GL4
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 664.1 879.8 2000
+end
+classcanvas 128581 class_ref 128581 // GL2ES2
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 162.5 246.7 2000
+end
+classcanvas 128709 class_ref 128709 // GL2GL3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ color transparent
+ xyz 317.6 413.1 2005
+end
+classcanvas 128837 class_ref 128837 // GL3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 481.8 774.1 2000
+end
+classcanvas 128965 class_ref 128965 // GLES2
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 162.5 500.2 2000
+end
+classcanvas 130050 class_ref 134914 // GLES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 581.8 586.1 2004
+end
+classcanvas 130178 class_ref 135042 // GL4ES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 657.5 324.5 2000
+end
+classcanvas 130245 class_ref 130117 // GLContext
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 436.9 27.6 2000
+end
+classcanvas 130434 class_ref 135170 // GL3ES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 474.8 292.4 2009
+end
+classcanvas 130501 class_ref 130245 // GLDrawable
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 703.9 109.8 2000
+end
+classcanvas 130690 class_ref 135298 // GL2ES3
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ color transparent
+ xyz 312.3 269.2 2000
+end
+classcanvas 130885 class_ref 130501 // GL4bcImpl
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 672.3 990.3 2000
+end
+classcanvas 131202 class_ref 130629 // GLES3Impl
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 596.1 689.3 2000
+end
+textcanvas 131909 "Mobile final public OpenGL Interfaces"
+ xyzwh 817.8 496.2 2000 153 42
+textcanvas 132165 "Desktop/Mobile Common Interfaces"
+ xyzwh 817.4 215.1 2000 139 49
+classcanvas 132293 class_ref 130885 // NativeWindow
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1040.2 208.3 2000
+end
+fragment 132354 "Programmable Shader"
+ color blue xyzwh 9.5 206.8 1994 940 836
+ separator 6384
+ separator 3351
+ separator 2367
+end
+classcanvas 132421 class_ref 131013 // AbstractGraphicsConfiguration
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 982.2 299.3 2000
+end
+textcanvas 132482 "Desktop final public OpenGL Interfaces
+"
+ xyzwh 817 749.1 2000 135 37
+classcanvas 132549 class_ref 131141 // GLCapabilities
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1039.4 482.8 2000
+end
+classcanvas 132677 class_ref 131269 // Capabilities
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1049.4 399 2005
+end
+classcanvas 132805 class_ref 131397 // GLProfile
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 1057.5 585.1 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 853.9 16 2000 208 93
+classcanvas 135877 class_ref 132549 // GLBase
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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 class drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ xyz 162.4 15.7 2000
+end
+textcanvas 136261 "Common GL Stuff"
+ xyzwh 271 135.5 2000 108 17
+relationcanvas 128770 relation_ref 128386 // <realization>
+ decenter_begin 479
+ from ref 130885 z 2001 to ref 128130
+ 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 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 130306 relation_ref 135810 // <generalisation>
+ from ref 130050 z 2005 to ref 130178
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130562 relation_ref 135938 // <generalisation>
+ from ref 130178 z 2010 to ref 130434
+ 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 532 72 3000 multiplicity_b_pos 684 126 3000
+end
+relationcanvas 130818 relation_ref 136066 // <generalisation>
+ from ref 130434 z 2010 to ref 130690
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130946 relation_ref 136194 // <generalisation>
+ from ref 130690 z 2001 to ref 128581
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131074 relation_ref 136322 // <generalisation>
+ from ref 128709 z 2006 to ref 130690
+ 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 131842 relation_ref 136834 // <generalisation>
+ from ref 128837 z 2010 to ref 130434
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 131970 relation_ref 136962 // <generalisation>
+ from ref 128130 z 2001 to ref 130178
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132098 relation_ref 137090 // <realization>
+ from ref 131202 z 2001 to ref 128965
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132226 relation_ref 137218 // <realization>
+ from ref 131202 z 2005 to ref 130050
+ no_role_a no_role_b
+ no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 132610 relation_ref 143746 // <generalisation>
+ from ref 130050 z 2005 to ref 128965
+ 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 326
+ decenter_end 104
+ from ref 132421 z 1999 to ref 132677
+ role_a_pos 1068 374 3000 no_role_b
+ multiplicity_a_pos 1040 374 3000 no_multiplicity_b
+end
+relationcanvas 133701 relation_ref 131525 // <association>
+ decenter_begin 493
+ 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 814
+ decenter_end 625
+ from ref 132677 z 1999 to ref 132421
+ no_role_a role_b_pos 1134 374 3000
+ no_multiplicity_a multiplicity_b_pos 1106 374 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 417 57 3000 multiplicity_b_pos 270 57 3000
+end
+end
diff --git a/doc/uml/jogl/2.session b/doc/uml/jogl/2.session
new file mode 100644
index 000000000..f2e91bf06
--- /dev/null
+++ b/doc/uml/jogl/2.session
@@ -0,0 +1,15 @@
+window_sizes 1920 1060 450 1464 982 0
+windows_style
+diagrams
+ classdiagram_ref 128069 // OpenGL Interfaces - All
+ 1463 849 100 17 253 0
+ active classdiagram_ref 134786 // OpenGL Interfaces - Core Only
+ 1464 982 100 17 0 0
+end
+show_stereotypes
+selected
+ package_ref 129 // jogl
+open
+ class_ref 134914 // GLES3
+end
+end
diff --git a/doc/bouml/jogl/69.session b/doc/uml/jogl/69.session
index 3f44b3548..3f44b3548 100644
--- a/doc/bouml/jogl/69.session
+++ b/doc/uml/jogl/69.session
diff --git a/doc/bouml/jogl/cpp_includes b/doc/uml/jogl/cpp_includes
index 531b86f76..531b86f76 100644
--- a/doc/bouml/jogl/cpp_includes
+++ b/doc/uml/jogl/cpp_includes
diff --git a/doc/bouml/jogl/generation_settings b/doc/uml/jogl/generation_settings
index 6e7065d11..6e7065d11 100644
--- a/doc/bouml/jogl/generation_settings
+++ b/doc/uml/jogl/generation_settings
diff --git a/doc/bouml/jogl/idl_includes b/doc/uml/jogl/idl_includes
index fceab64b9..fceab64b9 100644
--- a/doc/bouml/jogl/idl_includes
+++ b/doc/uml/jogl/idl_includes
diff --git a/doc/bouml/jogl/java_imports b/doc/uml/jogl/java_imports
index bbd370acb..bbd370acb 100644
--- a/doc/bouml/jogl/java_imports
+++ b/doc/uml/jogl/java_imports
diff --git a/doc/bouml/jogl/jogl.prj b/doc/uml/jogl/jogl.prj
index 607638cc2..3e64cb449 100644
--- a/doc/bouml/jogl/jogl.prj
+++ b/doc/uml/jogl/jogl.prj
@@ -1,20 +1,20 @@
-format 67
+format 74
"jogl"
- revision 7
- modified_by 2 "sven"
+ revision 15
+ modified_by 2 "qun"
// 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
+ draw_all_relations yes hide_attributes no hide_operations no hide_getset_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_members_context 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_relation_visibility 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
+ 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 show_class_context_mode no show_msg_context_mode 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
+ show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no show_msg_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
@@ -31,22 +31,22 @@ format 67
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
+ font_size 7
diagram_format A4
mark_for_import
ncouples 1
- key "html dir" value "/usr/local/projects/JOGL/jogl/doc/bouml/html/"
+ key "html dir" value "/usr/local/projects/JOGL/jogl/doc/uml/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
+ draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility 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
+ show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_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
+ 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 show_class_context_mode default show_msg_context_mode 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
@@ -54,8 +54,13 @@ format 67
//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
+ classdiagram 128069 "OpenGL Interfaces - All"
+ draw_all_relations no hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+ size A3-Landscape
+ end
+
+ classdiagram 134786 "OpenGL Interfaces - Core Only"
+ draw_all_relations no hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context 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_relation_visibility default show_infonote default shadow default show_stereotype_properties default
size A3-Landscape
end
@@ -209,6 +214,14 @@ ${members}};
classrelation_ref 130117 // <generalisation>
b parent class_ref 128581 // GL2ES2
end
+
+ classrelation 136322 // <generalisation>
+ relation 136322 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 136322 // <generalisation>
+ b parent class_ref 135298 // GL2ES3
+ end
end
class 128837 "GL3"
@@ -233,6 +246,14 @@ ${members}};
classrelation_ref 129861 // <generalisation>
b parent class_ref 128709 // GL2GL3
end
+
+ classrelation 136834 // <generalisation>
+ relation 136834 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 136834 // <generalisation>
+ b parent class_ref 135170 // GL3ES3
+ end
end
class 128965 "GLES2"
@@ -359,7 +380,7 @@ ${members}}
end
end
- class 130629 "GLES2Impl"
+ class 130629 "GLES3Impl"
visibility private stereotype "entity"
cpp_decl ""
java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
@@ -370,13 +391,21 @@ ${members}}
idl_decl ""
explicit_switch_type ""
- classrelation 131013 // <realization>
- relation 130757 -_-|>
+ classrelation 137090 // <realization>
+ relation 137090 -_-|>
a public
java "${type}"
- classrelation_ref 131013 // <realization>
+ classrelation_ref 137090 // <realization>
b parent class_ref 128965 // GLES2
end
+
+ classrelation 137218 // <realization>
+ relation 137218 -_-|>
+ a public
+ java "${type}"
+ classrelation_ref 137218 // <realization>
+ b parent class_ref 134914 // GLES3
+ end
end
class 130757 "GLES1Impl"
@@ -645,6 +674,14 @@ ${members}};
classrelation_ref 128770 // <generalisation>
b parent class_ref 128837 // GL3
end
+
+ classrelation 136962 // <generalisation>
+ relation 136962 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 136962 // <generalisation>
+ b parent class_ref 135042 // GL4ES3
+ end
end
class 128258 "GL4bc"
@@ -706,5 +743,93 @@ ${members}}
b parent class_ref 128581 // GL2ES2
end
end
+
+ class 134914 "GLES3"
+ visibility public stereotype "@interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}@interface ${name}${extends} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 135810 // <generalisation>
+ relation 135810 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 135810 // <generalisation>
+ b parent class_ref 135042 // GL4ES3
+ end
+
+ classrelation 143746 // <generalisation>
+ relation 143746 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 143746 // <generalisation>
+ b parent class_ref 128965 // GLES2
+ end
+ end
+
+ class 135042 "GL4ES3"
+ visibility public stereotype "@interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}@interface ${name}${extends} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 135938 // <generalisation>
+ relation 135938 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 135938 // <generalisation>
+ b parent class_ref 135170 // GL3ES3
+ end
+ end
+
+ class 135170 "GL3ES3"
+ visibility public stereotype "@interface"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}@interface ${name}${extends} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 136066 // <generalisation>
+ relation 136066 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 136066 // <generalisation>
+ b parent class_ref 135298 // GL2ES3
+ end
+ end
+
+ class 135298 "GL2ES3"
+ abstract visibility package stereotype "metaclass"
+ cpp_decl ""
+ java_decl "${comment}${@}${visibility}@interface ${name}${extends} {
+${members}}
+"
+ php_decl ""
+ python_2_2 python_decl ""
+ idl_decl ""
+ explicit_switch_type ""
+
+ classrelation 136194 // <generalisation>
+ relation 136194 ---|>
+ a public
+ java "${type}"
+ classrelation_ref 136194 // <generalisation>
+ b parent class_ref 128581 // GL2ES2
+ end
+ end
end
end
diff --git a/doc/bouml/jogl/python_imports b/doc/uml/jogl/python_imports
index 4a1bd3a85..4a1bd3a85 100644
--- a/doc/bouml/jogl/python_imports
+++ b/doc/uml/jogl/python_imports
diff --git a/doc/bouml/jogl/stereotypes b/doc/uml/jogl/stereotypes
index 0ac476cf9..3680bcebf 100644
--- a/doc/bouml/jogl/stereotypes
+++ b/doc/uml/jogl/stereotypes
@@ -49,6 +49,7 @@
deploymentview_stereotypes 0
classdiagram_stereotypes 0
seqdiagram_stereotypes 0
+ msg_stereotypes 0
coldiagram_stereotypes 0
usecasediagram_stereotypes 0
statediagram_stereotypes 0
diff --git a/doc/bouml/jogl/tools b/doc/uml/jogl/tools
index 49867c0ba..49867c0ba 100644
--- a/doc/bouml/jogl/tools
+++ b/doc/uml/jogl/tools
diff --git a/doc/userguide/index.html b/doc/userguide/index.html
index cdb26f140..8b3a510e6 100644
--- a/doc/userguide/index.html
+++ b/doc/userguide/index.html
@@ -184,9 +184,9 @@ bundles.
Modify your <code>CLASSPATH</code>
environment variable to include the full paths to
-<code>gluegen-rt.jar</code> and <code>jogl.all.jar</code>, for example
+<code>gluegen-rt.jar</code> and <code>jogl-all.jar</code>, for example
<pre>
-".;C:\Some\Other\Package\foo.jar;C:\Users\myhome\jogamp-all-platforms\jar\gluegen-rt.jar;C:\Users\myhome\jogamp-all-platforms\jar\jogl.all.jar".
+".;C:\Some\Other\Package\foo.jar;C:\Users\myhome\jogamp-all-platforms\jar\gluegen-rt.jar;C:\Users\myhome\jogamp-all-platforms\jar\jogl-all.jar".
</pre>
(If you did not previously set the CLASSPATH environment variable, you
may want to make sure that ".", the current directory, is on your new
@@ -208,9 +208,12 @@ size, in particular on smaller devices. See <a href="../deployment/JOGL-DEPLOYME
<p>
JOGL 2.0 has a brand new feature allowing to automatically extract the proper native
-libraries required to use JOGL from JARs containing them without relying on the Java
+libraries required to use JOGL
+<a href="../deployment/JOGL-DEPLOYMENT.html#NativeJARFiles">from JARs containing them</a>
+without relying on the Java
library path or any platform-dependent environment variable allowing to set the location
of native libraries. This allows desktop applications as well as traditional Applets
+<a href="../deployment/JOGL-DEPLOYMENT.html#NApplets">as NApplets</a>
to utilize the native library JAR files the same way Webstart/JNLP does.
</p>