Jogl
Java™ Binding for the OpenGL® API
Install / Use
/learn @sgothel/JoglREADME
JOGL, High-Performance Graphics Binding for Java™
Git Repository
This project's canonical repository is hosted on JogAmp.
Overview
The JOGL project hosts the development of high-performance graphics binding for Java™, and is designed to provide hardware-supported 3D graphics and multimedia to applications written in Java™.
JOGL provides full access to the APIs in the OpenGL® [ 1.0 .. 4.6 ], ES [ 1.0 .. 3.2 ] and EGL [ 1.0 .. 1.5 ] specification as well as nearly all vendor extensions. OpenGL Evolution & JOGL and this API Specification may give you a brief overview.
JOGL also embraces multimedia technology and binds to FFMpeg as well as to other media libraries providing a unified access API with JOAL. Further, stereo devices are supported in a generic fashion as well as for early OculusVR.
JOGL integrates with the AWT, Swing, OpenJFX and SWT widget sets, as well as with custom windowing toolkits using the NativeWindow API.
JOGL also provides its own native windowing toolkit, NEWT, running on top of X11, Windows, MacOS and even on bare-metal console mode without a windowing system.
JOGL contains Graph, a resolution-independent GPU NURBS curve renderer suitable for desktop and embedded devices and supporting text type rendering [ paper, slides ]. Graph is used in the contained GraphUI, enabling immersive UI within the 3D scene.
JOGL is part of the JogAmp project.
List of proposed work items & use-cases and current blog entries.
The JogAmp project needs funding and we offer commercial support!<br/> Please contact Göthel Software (Jausoft).
Organization of the JOGL source tree
doc/ Build and user documentation
make/ Ant build scripts
make/config Configuration files for glue code generation
make/stub_includes Header files for glue code generation
src/ Java and native source code for:
src/jogl - JOGL
src/nativewindow - NativeWindow Interface
src/newt - NEWT
src/graphui - GraphUI
src/demos - Demos
src/test - Unit tests
www/ Web pages
NativeWindow, NEWT and GraphUI might be build seperately.
Contact Us
- Forum/Mailinglist http://forum.jogamp.org/
- Maintainer https://jogamp.org/wiki/index.php/Maintainer_and_Contacts
- Sven's Blog https://jausoft.com/blog/tag/jogamp/
- Email sgothel at jausoft dot com
References
- JogAmp Home
- JOGL Home
- Git Repository
- OpenGL Evolution & JOGL
- Mapping of OpenGL Profiles to Interfaces
- JOGL and OpenGL Divergence
- How To Build
- Wiki
JogAmp History & Milestones
Bottom line, too much work has been performed to be listed here.
However, let's have a few sentimental points listed and we may add a few more as we go.
OpenGL™ for Java™ (GL4Java)
OpenGL™ for Java™ (GL4Java) was developed from March 1997
until March 2003.
Its concepts were reused in the subsequently launched JOGL project
initially lead by Sun Microsystems and later by the JogAmp community,
rendering GL4Java effectively JOGL's predecessor. A few of the concepts reused were:
- C-Header Compiler to JNI glue code: C2J -> GlueGen
- AWT integration: GLCanvas, GLJPanel (swing)
- WinHandleAccess -> NativeWindow
- GLDrawableFactory, GLDrawable, GLContext, GLEvenListener
GlueGen, JOAL and JOGL at Sun Microsystems & Co
- 2003-06-06 Initial JOGL code commit
- 2003-06-07 Initial JOAL code commit
- 2004-02-18 JOGL version 1.0.0-b01
- 2006-01-15 GlueGen separation from JOGL, own project + repo
- 2007-03-13 JSR-231 1st Maintencance Release
- 2007-04-19 JOGL Version 1.1.0
- 2008-04-29 JSR-231 2nd Maintencance Release
- 2008-04-30 JOGL Version 1.1.1
- 2008-05-22 JOGL on an embedded Nvidia APX 2500 (Tegra1), JavaOne 2008
- 2008-06-01 JOGL 2 Start: NEWT, NativeWindow abstraction, OpenGL profiles, ...
- 2008-12-xx OpenMAX and JOGL GL ES2 on embedded Nvidia APX 2500 (Tegra1)
- 2009-06-16 Merged JOGL 2 Branch: NEWT, NativeWindow abstraction, OpenGL profiles, ...
- 2009-07-09 completed git migration, see also this blog
- 2009-07-24 JOCL initiation, independent from Sun
- 2009-10-02 Adding embedded Intel-GDL support (NEWT, EGL, ES2) to JOGL
- 2009-10-10 JOGL Plugin3 Integration
JogAmp Period
- 2009-11-10 Away from Sun Microsystems, see also this blog
- 2010-05-07 JogAmp launch ...
- 2010-10-01 NEWT/AWT Reparenting
- 2010-11-23 JogAmp RC v2.0-rc1
- 2011-02-20 JogAmp Production Home in Germany
- Resolution Independent NURBS @ GPU (the essential GraphUI toolkit)
- 2011-04-01 First artifacts
- 2011-10-05 Paper and software release
- 2011-08-17 Work on embedded devices and Android
- 2012-04-19 Added streaming audio/video player, JOGL on desktop & mobile status
- 2013-02-20 Java3D Continuation and its git repo
- 2013-07-24 First JogAmp Release 2.0.2
- 2015-03-11 JogAmp Release 2.3.0
- 2015-10-10 JogAmp Release 2.3.2
- 2015-11-08 JOCL: OpenCL 2.0 Support
- 2018-01-28 Ardor3D Continuation and its git repo
- JogAmp on iOS
- 2019-06-23 [First iOS Visuals](https://jausoft.com/blog/2019/06/23/jogamp-ios-arm64-port-first-
