<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Java_OpenGL</id>
	<title>Java OpenGL - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Java_OpenGL"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Java_OpenGL&amp;action=history"/>
	<updated>2026-04-22T22:26:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Java_OpenGL&amp;diff=6161588&amp;oldid=prev</id>
		<title>imported&gt;Sgothel: JogAmp Release 2.6.0 and added windowing systems JavaFX, SWT and NEWT as well as OpenGL ES spec</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Java_OpenGL&amp;diff=6161588&amp;oldid=prev"/>
		<updated>2025-08-31T16:19:33Z</updated>

		<summary type="html">&lt;p&gt;JogAmp Release 2.6.0 and added windowing systems JavaFX, SWT and NEWT as well as OpenGL ES spec&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:19, 31 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| caption = A [[demoware|demo]] screenshot illustrating real-time [[refraction]] using &amp;#039;&amp;#039;&amp;#039;JOGL&amp;#039;&amp;#039;&amp;#039; on [[macOS|Mac OS X]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| caption = A [[demoware|demo]] screenshot illustrating real-time [[refraction]] using &amp;#039;&amp;#039;&amp;#039;JOGL&amp;#039;&amp;#039;&amp;#039; on [[macOS|Mac OS X]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| developer = [http://jogamp.org/ JogAmp Community]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| developer = [http://jogamp.org/ JogAmp Community]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest release version = 2.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/del&gt;.0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest release version = 2.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6&lt;/ins&gt;.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest release date = {{Start date and age|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2023&lt;/del&gt;|08|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;18&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest release date = {{Start date and age|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2025&lt;/ins&gt;|08|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;31&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest preview version = n/a&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest preview version = n/a&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest preview date = tbd&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| latest preview date = tbd&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot;&gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&amp;lt;/ref&amp;gt; It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and was further developed by the Game Technology Group at [[Sun Microsystems]]. Since 2010, it has been an independent [[open-source software|open-source]] project under a [[BSD licenses|BSD license]]. It is the reference implementation for [[Java Bindings for OpenGL]] (JSR-231).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&amp;lt;/ref&amp;gt; It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and was further developed by the Game Technology Group at [[Sun Microsystems]]. Since 2010, it has been an independent [[open-source software|open-source]] project under a [[BSD licenses|BSD license]]. It is the reference implementation for [[Java Bindings for OpenGL]] (JSR-231).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;JOGL allows access to most OpenGL features available to [[C (programming language)|C]] language programs through the use of the [[Java Native Interface]] (JNI). It offers access to both the standard GL* functions along with the GLU* functions; however the [[OpenGL Utility Toolkit]] (GLUT) library is not available for window-system related calls, as Java has its own windowing systems: [[Abstract Window Toolkit]] (AWT), [[Swing (Java)|Swing]], and some [[OpenGL#Development|extensions]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;JOGL allows access to most OpenGL features available to [[C (programming language)|C]] language programs through the use of the [[Java Native Interface]] (JNI). It offers access to both the standard GL* functions along with the GLU* functions; however the [[OpenGL Utility Toolkit]] (GLUT) library is not available for window-system related calls, as Java has its own windowing systems: [[Abstract Window Toolkit]] (AWT), [[Swing (Java)|Swing]], &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[JavaFX]], [[Standard Widget Toolkit|SWT]], its own NEWT &lt;/ins&gt;and some [[OpenGL#Development|extensions]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Design==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Design==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot;&gt;Line 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Status and standardization==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Status and standardization==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{As of|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2023&lt;/del&gt;}}, JOGL provides full access to the [[OpenGL]] 4.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5 &lt;/del&gt;specification as well as almost all vendor extensions (and [[OpenCL]], [[OpenMAX]] and [[OpenAL]]).&amp;lt;ref&amp;gt;{{cite web |url=http://jogamp.org/jogl/www/ |title = JOGL - Java Binding for the OpenGL API}}&amp;lt;/ref&amp;gt; The &#039;&#039;&#039;2.5.0&#039;&#039;&#039; version is the reference implementation for [[Java Bindings for OpenGL|JSR-231 (Java Bindings for OpenGL)]].&amp;lt;ref&amp;gt;{{cite web&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{As of|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2025&lt;/ins&gt;}}, JOGL provides full access to the [[OpenGL]] 4.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6 and [[OpenGL ES]] 3.2 &lt;/ins&gt;specification as well as almost all vendor extensions (and [[OpenCL]], [[OpenMAX]] and [[OpenAL]]).&amp;lt;ref&amp;gt;{{cite web |url=http://jogamp.org/jogl/www/ |title = JOGL - Java Binding for the OpenGL API}}&amp;lt;/ref&amp;gt; The &#039;&#039;&#039;2.5.0&#039;&#039;&#039; version is the reference implementation for [[Java Bindings for OpenGL|JSR-231 (Java Bindings for OpenGL)]].&amp;lt;ref&amp;gt;{{cite web&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |url=http://jcp.org/aboutJava/communityprocess/final/jsr231/index.html&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |url=http://jcp.org/aboutJava/communityprocess/final/jsr231/index.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |title=JSR-000231 Java Bindings for the OpenGL API&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |title=JSR-000231 Java Bindings for the OpenGL API&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |access-date=2011-02-06&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |access-date=2011-02-06&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |quote=&amp;#039;&amp;#039;In order to facilitate maximum community participation for the Java Binding for the OpenGL API, we use the JOGL project on java.net found at jogl.dev.java.net. The JOGL source code can be found there, licensed under a liberal source code license (mostly licensed as BSD except where we use other parties&amp;#039; licensed code). We take a snapshot of the code from this project every few months, run the Technology Compatibility Kit on the source code, and then officially make it the Reference Implementation for each formal Java Binding for the OpenGL API release.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  |quote=&amp;#039;&amp;#039;In order to facilitate maximum community participation for the Java Binding for the OpenGL API, we use the JOGL project on java.net found at jogl.dev.java.net. The JOGL source code can be found there, licensed under a liberal source code license (mostly licensed as BSD except where we use other parties&amp;#039; licensed code). We take a snapshot of the code from this project every few months, run the Technology Compatibility Kit on the source code, and then officially make it the Reference Implementation for each formal Java Binding for the OpenGL API release.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&amp;lt;/ref&amp;gt; The &#039;&#039;&#039;1.1.1&#039;&#039;&#039; release gave limited access to [[OpenGL Utility Library|GLU]] [[Nonuniform rational B-spline|NURBS]], providing rendering of curved lines and surfaces via the traditional GLU APIs. The &#039;&#039;&#039;2.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/del&gt;&#039;&#039;&#039; release added support for OpenGL versions up to 4.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/del&gt;, and OpenGL ES versions up to 3.2.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&amp;lt;/ref&amp;gt; The &#039;&#039;&#039;1.1.1&#039;&#039;&#039; release gave limited access to [[OpenGL Utility Library|GLU]] [[Nonuniform rational B-spline|NURBS]], providing rendering of curved lines and surfaces via the traditional GLU APIs. The &#039;&#039;&#039;2.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0&lt;/ins&gt;&#039;&#039;&#039; release added support for OpenGL versions up to 4.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6&lt;/ins&gt;, and OpenGL ES versions up to 3.2.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wayland and Vulkan support is planned.&amp;lt;ref&amp;gt;{{cite web|url=https://jogamp.org/bugzilla/show_bug.cgi?id=794 |title=Bug 794 - Add Wayland Windowing/Surface Interoperability |date=2013-08-05}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wayland and Vulkan support is planned.&amp;lt;ref&amp;gt;{{cite web|url=https://jogamp.org/bugzilla/show_bug.cgi?id=794 |title=Bug 794 - Add Wayland Windowing/Surface Interoperability |date=2013-08-05}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l74&quot;&gt;Line 74:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 74:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://jogamp.org/wiki/index.php/Rudimentary_standalone_example_using_the_fixed_pipeline_by_Julien_Gouesse Immediate mode] sample (simplest example, using the [[Fixed-function]] [[graphics pipeline]])&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://jogamp.org/wiki/index.php/Rudimentary_standalone_example_using_the_fixed_pipeline_by_Julien_Gouesse Immediate mode] sample (simplest example, using the [[Fixed-function]] [[graphics pipeline]])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Code &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;examples&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Code &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;example&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     @Override&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     @Override&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l122&quot;&gt;Line 122:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 122:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==External links==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==External links==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Official website}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{Official website}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://jogamp.org/deployment/jogamp-current/javadoc/jogl/javadoc/ JOGL 2.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3&lt;/del&gt;.x Specification]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://jogamp.org/deployment/jogamp-current/javadoc/jogl/javadoc/ JOGL 2.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6&lt;/ins&gt;.x Specification]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.jcp.org/en/jsr/detail?id=231 JSR-231 Java Bindings for OpenGL] website&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.jcp.org/en/jsr/detail?id=231 JSR-231 Java Bindings for OpenGL] website&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://ak.kiet.le.googlepages.com/theredbookinjava.html tool kiet] {{Webarchive|url=https://web.archive.org/web/20090209203335/http://ak.kiet.le.googlepages.com/theredbookinjava.html |date=2009-02-09 }}, The OpenGL Programming Guide examples using JOGL&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://ak.kiet.le.googlepages.com/theredbookinjava.html tool kiet] {{Webarchive|url=https://web.archive.org/web/20090209203335/http://ak.kiet.le.googlepages.com/theredbookinjava.html |date=2009-02-09 }}, The OpenGL Programming Guide examples using JOGL&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l128&quot;&gt;Line 128:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 128:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE Setting up a JogAmp JOGL project in your favorite IDE]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE Setting up a JogAmp JOGL project in your favorite IDE]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://demo.dzzd.net/Viewer3D/ Viewer3D], an applet to display interactive 3D content with JOGL&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://demo.dzzd.net/Viewer3D/ Viewer3D], an applet to display interactive 3D content with JOGL&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://sourceforge.net/projects/eclipse-opengl/ Eclipse OpenGL Pack] OpenGL plugin for the [[Eclipse (software)|Eclipse]] IDE&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://sourceforge.net/projects/eclipse-opengl/ Eclipse OpenGL Pack] OpenGL plugin for the [[Eclipse (software)|Eclipse]] IDE&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Java desktop}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Java desktop}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Sgothel</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Java_OpenGL&amp;diff=1112810&amp;oldid=prev</id>
		<title>imported&gt;Isaidnoway: /* See also → remove Elflight Engine and  Java OpenCL, there&#039;s nothing to see since articles don&#039;t exist</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Java_OpenGL&amp;diff=1112810&amp;oldid=prev"/>
		<updated>2025-03-03T00:18:15Z</updated>

		<summary type="html">&lt;p&gt;/* See also → remove &lt;a href=&quot;/wiki143/index.php?title=Elflight_Engine&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Elflight Engine (page does not exist)&quot;&gt;Elflight Engine&lt;/a&gt; and  &lt;a href=&quot;/wiki143/index.php?title=Java_OpenCL&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Java OpenCL (page does not exist)&quot;&gt;Java OpenCL&lt;/a&gt;, there&amp;#039;s nothing to see since articles don&amp;#039;t exist&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| name = JOGL&lt;br /&gt;
| logo = &lt;br /&gt;
| logo caption = &lt;br /&gt;
| screenshot = JOGL Refrection Demo Screenshot.png&lt;br /&gt;
| screenshot size = 200px&lt;br /&gt;
| caption = A [[demoware|demo]] screenshot illustrating real-time [[refraction]] using &amp;#039;&amp;#039;&amp;#039;JOGL&amp;#039;&amp;#039;&amp;#039; on [[macOS|Mac OS X]]&lt;br /&gt;
| developer = [http://jogamp.org/ JogAmp Community]&lt;br /&gt;
| latest release version = 2.5.0&lt;br /&gt;
| latest release date = {{Start date and age|2023|08|18}}&lt;br /&gt;
| latest preview version = n/a&lt;br /&gt;
| latest preview date = tbd&lt;br /&gt;
| programming language = [[Java (programming language)|Java]], [[C (programming language)|C]]&lt;br /&gt;
| operating system = [[Cross-platform]]&lt;br /&gt;
| genre = [[3D computer graphics software]] (library/API)&lt;br /&gt;
| license = [[BSD license]]&lt;br /&gt;
| website = {{Official URL}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Java OpenGL&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;JOGL&amp;#039;&amp;#039;&amp;#039;) is a wrapper [[library (computer science)|library]] that allows [[OpenGL]] to be used in the [[Java (programming language)|Java programming language]].&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |last1=Friesen |first1=Jeff&lt;br /&gt;
 |date=2008-09-18 |df=mdy&lt;br /&gt;
 |url=https://www.infoworld.com/article/2077906/open-source-java-projects-java-binding-for-opengl-jogl.html&lt;br /&gt;
 |title=Open source Java projects: Java Binding for OpenGL (JOGL)&lt;br /&gt;
 |department=Open Source Java Tutorials&lt;br /&gt;
 |work=[[JavaWorld]]&lt;br /&gt;
 |access-date=2020-07-23&lt;br /&gt;
 |quote=&amp;#039;&amp;#039;JOGL originated as a project named Jungle, which was created by 3D graphics experts Ken Russell (of Sun Microsystems) and Chris Kline (of Irrational Games).&amp;#039;&amp;#039;&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |last1=Davis |first1=Gene&lt;br /&gt;
 |date=2005-02-21 |df=mdy&lt;br /&gt;
 |url=https://www.infoworld.com/article/2071845/hello-jogl.html&lt;br /&gt;
 |title=Hello JOGL&lt;br /&gt;
 |work=[[JavaWorld]]&lt;br /&gt;
 |access-date=2020-07-23&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and was further developed by the Game Technology Group at [[Sun Microsystems]]. Since 2010, it has been an independent [[open-source software|open-source]] project under a [[BSD licenses|BSD license]]. It is the reference implementation for [[Java Bindings for OpenGL]] (JSR-231).&lt;br /&gt;
&lt;br /&gt;
JOGL allows access to most OpenGL features available to [[C (programming language)|C]] language programs through the use of the [[Java Native Interface]] (JNI). It offers access to both the standard GL* functions along with the GLU* functions; however the [[OpenGL Utility Toolkit]] (GLUT) library is not available for window-system related calls, as Java has its own windowing systems: [[Abstract Window Toolkit]] (AWT), [[Swing (Java)|Swing]], and some [[OpenGL#Development|extensions]].&lt;br /&gt;
&lt;br /&gt;
==Design==&lt;br /&gt;
The base [[OpenGL]] [[C (programming language)|C]] API, as well as its associated [[OpenGL Utility Library|Windowing API]],&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |url=http://jogamp.org/doc/siggraph2010/jogamp-siggraph2010.pdf&lt;br /&gt;
 |title=3D &amp;amp; Multimedia Across Platforms and Devices Using JOGL&lt;br /&gt;
 |publisher=[[SIGGRAPH]]&lt;br /&gt;
 |date=2010-07-27&lt;br /&gt;
 |access-date=2011-02-06&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; are accessed in JOGL via [[Java Native Interface]] (JNI) calls. As such, the underlying system must support OpenGL for JOGL to work.&lt;br /&gt;
&lt;br /&gt;
JOGL differs from some other Java OpenGL wrapper libraries in that it merely exposes the procedural OpenGL API via methods on a few classes, rather than trying to map OpenGL functionality onto the [[object-oriented programming]] paradigm. Indeed, most of the JOGL code is autogenerated from the OpenGL C header files via a conversion tool named &amp;#039;&amp;#039;[[GlueGen]]&amp;#039;&amp;#039;, which was programmed specifically to facilitate the creation of JOGL.&lt;br /&gt;
&lt;br /&gt;
==Status and standardization==&lt;br /&gt;
{{As of|2023}}, JOGL provides full access to the [[OpenGL]] 4.5 specification as well as almost all vendor extensions (and [[OpenCL]], [[OpenMAX]] and [[OpenAL]]).&amp;lt;ref&amp;gt;{{cite web |url=http://jogamp.org/jogl/www/ |title = JOGL - Java Binding for the OpenGL API}}&amp;lt;/ref&amp;gt; The &amp;#039;&amp;#039;&amp;#039;2.5.0&amp;#039;&amp;#039;&amp;#039; version is the reference implementation for [[Java Bindings for OpenGL|JSR-231 (Java Bindings for OpenGL)]].&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |url=http://jcp.org/aboutJava/communityprocess/final/jsr231/index.html&lt;br /&gt;
 |title=JSR-000231 Java Bindings for the OpenGL API&lt;br /&gt;
 |publisher=[[Java Community Process]]&lt;br /&gt;
 |access-date=2011-02-06&lt;br /&gt;
 |quote=&amp;#039;&amp;#039;In order to facilitate maximum community participation for the Java Binding for the OpenGL API, we use the JOGL project on java.net found at jogl.dev.java.net. The JOGL source code can be found there, licensed under a liberal source code license (mostly licensed as BSD except where we use other parties&amp;#039; licensed code). We take a snapshot of the code from this project every few months, run the Technology Compatibility Kit on the source code, and then officially make it the Reference Implementation for each formal Java Binding for the OpenGL API release.&amp;#039;&amp;#039;&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; The &amp;#039;&amp;#039;&amp;#039;1.1.1&amp;#039;&amp;#039;&amp;#039; release gave limited access to [[OpenGL Utility Library|GLU]] [[Nonuniform rational B-spline|NURBS]], providing rendering of curved lines and surfaces via the traditional GLU APIs. The &amp;#039;&amp;#039;&amp;#039;2.3.2&amp;#039;&amp;#039;&amp;#039; release added support for OpenGL versions up to 4.5, and OpenGL ES versions up to 3.2.&lt;br /&gt;
&lt;br /&gt;
Wayland and Vulkan support is planned.&amp;lt;ref&amp;gt;{{cite web|url=https://jogamp.org/bugzilla/show_bug.cgi?id=794 |title=Bug 794 - Add Wayland Windowing/Surface Interoperability |date=2013-08-05}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Java2D-OpenGL interoperability==&lt;br /&gt;
Since the [[Java SE 6]] version of the [[Java (programming language)|Java]] language, [[Java2D]] (the [[API]] for drawing two dimensional graphics in Java) and JOGL have become interoperable, allowing it to :&lt;br /&gt;
* Overlay [[Swing (Java)|Swing]] components (lightweight menus, tooltips, and other [[Widget (computing)|widget]]s) on top of [[OpenGL]] rendering.&amp;lt;ref&amp;gt;{{cite web |url=http://jogamp.org/jogl/doc/userguide/#overview |title = JOGL Userguide}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Draw 3D [[OpenGL]] graphics on top of [[Java2D]] rendering (see [https://web.archive.org/web/20080128174107/http://www.curious-creature.org/2005/12/21/a-swing-button-with-3d-source-codedemo/ here] for a button with an OpenGL icon).&lt;br /&gt;
* Use 3D graphics anywhere where ordinarily a [[Swing (Java)|Swing]] [[Widget (computing)|widget]] would be used. (Inside a JTable, JTree, ...)&lt;br /&gt;
* Draw [[Java2D]] graphics on top of 3D [[OpenGL]] rendering.&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [http://jogamp.org/git/?p=jogl-demos.git;a=blob;f=src/demos/es2/RawGL2ES2demo.java;hb=HEAD OpenGL ES 2] sample&lt;br /&gt;
* [https://github.com/java-opengl-labs/helloTriangle Hello Triangle], gl3 and gl4 Hello Triangle and Texture. The samples are offered in Java and [[Kotlin (programming language)|Kotlin]]&lt;br /&gt;
* [https://github.com/elect86/jogl-samples Java OpenGL Sample Pack], porting of [http://www.g-truc.net/project-0026.html g-truc OpenGL Sample Pack]. The over 230 samples illustrate almost all OpenGL features ranging from ES 2.0 up to the last GL extensions, same of them usually also called [[AZDO]] (Almost Zero Driver Overhead).&lt;br /&gt;
* [https://github.com/elect86/modern-jogl-examples modern jogl examples], Porting of &amp;#039;&amp;#039;[https://bitbucket.org/alfonse/gltut/wiki/Home Learning Modern 3D Graphics Programming, Jason L. McKesson] {{Webarchive|url=https://web.archive.org/web/20160923093407/https://bitbucket.org/alfonse/gltut/wiki/Home |date=2016-09-23 }}.&amp;#039;&amp;#039; Java and Kotlin side by side.&lt;br /&gt;
* [https://jogamp.org/wiki/index.php/Rudimentary_standalone_example_using_the_fixed_pipeline_by_Julien_Gouesse Immediate mode] sample (simplest example, using the [[Fixed-function]] [[graphics pipeline]])&lt;br /&gt;
&lt;br /&gt;
==Code examples==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
    @Override&lt;br /&gt;
    public void display(GLAutoDrawable drawable) {&lt;br /&gt;
&lt;br /&gt;
        GL4 gl4 = drawable.getGL().getGL4();&lt;br /&gt;
&lt;br /&gt;
        gl4.glClearBufferfv(GL2ES3.GL_COLOR, 0, clearColor);&lt;br /&gt;
        gl4.glClearBufferfv(GL2ES3.GL_DEPTH, 0, clearDepth);&lt;br /&gt;
&lt;br /&gt;
        {&lt;br /&gt;
            FloatUtil.makeLookAt(view, 0, eye, 0, at, 0, up, 0, tmp);&lt;br /&gt;
            FloatUtil.makePerspective(projection, 0, reset, 45f, aspect, near, far);&lt;br /&gt;
&lt;br /&gt;
            FloatUtil.multMatrix(projection, view); // projection *= view&lt;br /&gt;
&lt;br /&gt;
            transformPointer.asFloatBuffer().put(projection);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        gl4.glUseProgram(programName);&lt;br /&gt;
        gl4.glBindVertexArray(vertexArrayName.get(0));&lt;br /&gt;
        gl4.glBindBufferBase(GL2ES3.GL_UNIFORM_BUFFER /*target*/, 1 /*TRANSFORM0, index*/, bufferName.get(2) /*TRANSFORM, buffer*/);&lt;br /&gt;
&lt;br /&gt;
        gl4.glBindTextureUnit(0 /*diffuse*/, textureName.get(0));&lt;br /&gt;
        gl4.glBindSampler(0 /*diffuse*/, samplerName.get(0));&lt;br /&gt;
&lt;br /&gt;
        gl4.glDrawElements(GL.GL_TRIANGLES, elementCount, GL.GL_UNSIGNED_SHORT, 0);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Portal|Free and open-source software|Computer programming}}&lt;br /&gt;
* [[Java Bindings for OpenGL]], The Java Community Specification Request for which JOGL provides an implementation&lt;br /&gt;
* [[Ardor3D]], a high performance, professionally oriented scene graph using several bindings for OpenGL and OpenGL-ES including JOGL&lt;br /&gt;
* [[JMonkey Engine]], a high performance scene graph based graphics API using several bindings for OpenGL and OpenGL-ES including JOGL&lt;br /&gt;
* [[Poxnora]], an online multiplayer game using JOGL&lt;br /&gt;
* [[RuneScape]], a MMORPG using JOGL&lt;br /&gt;
* [[Jake2]], a Java port of [[Quake II]] using several bindings for OpenGL including JOGL for its low-level graphic API&lt;br /&gt;
* [[Scilab]], a numerical computing program using JOGL for 2D, 3D rendering&lt;br /&gt;
* [[ClearVolume]], a JOGL powered real-time live 3D visualization library designed for high-end volumetric [[Light sheet fluorescence microscopy|light sheet microscopes]].&lt;br /&gt;
* [[Lightweight Java Game Library|LWJGL]], an alternative open-source OpenGL wrapper library&lt;br /&gt;
* [[Java OpenAL]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* {{Official website}}&lt;br /&gt;
* [http://jogamp.org/deployment/jogamp-current/javadoc/jogl/javadoc/ JOGL 2.3.x Specification]&lt;br /&gt;
* [http://www.jcp.org/en/jsr/detail?id=231 JSR-231 Java Bindings for OpenGL] website&lt;br /&gt;
* [http://ak.kiet.le.googlepages.com/theredbookinjava.html tool kiet] {{Webarchive|url=https://web.archive.org/web/20090209203335/http://ak.kiet.le.googlepages.com/theredbookinjava.html |date=2009-02-09 }}, The OpenGL Programming Guide examples using JOGL&lt;br /&gt;
* [https://web.archive.org/web/20071126072642/http://nehe.gamedev.net/ NeHe&amp;#039;s tutorials and sample code]&lt;br /&gt;
* [http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE Setting up a JogAmp JOGL project in your favorite IDE]&lt;br /&gt;
* [http://demo.dzzd.net/Viewer3D/ Viewer3D], an applet to display interactive 3D content with JOGL&lt;br /&gt;
* [http://sourceforge.net/projects/eclipse-opengl/ Eclipse OpenGL Pack] OpenGL plugin for the [[Eclipse (software)|Eclipse]] IDE&lt;br /&gt;
&lt;br /&gt;
{{Java desktop}}&lt;br /&gt;
&lt;br /&gt;
[[Category:3D graphics software]]&lt;br /&gt;
[[Category:Java (programming language) libraries]]&lt;br /&gt;
[[Category:OpenGL]]&lt;br /&gt;
[[Category:Software using the BSD license]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Isaidnoway</name></author>
	</entry>
</feed>