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 the JOGL 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.

List of proposed work items & use-cases and current blog entries.

The JogAmp project needs funding and we offer commercial support!
Please contact Göthel Software (Jausoft).

Featured Projects

The following are a few examples of projects and products using JOGL. Email the maintainer to add yours.

Sections: Applications, Utilities, Games, Old and Discontinued.

Applications (Content, Simulations, CAD, Scientific, ..)
Thermo-Calc Thermo-Calc's Additive Manufacturing models the Powder Bed Fusion process and has a unified treatment of process parameters and alloy dependent thermophysical properties. Thermo-Calc is used by materials scientists and engineers to generate material properties data, gain insights about materials, understand a specific observation, and answer .. World WindNASA World Wind Java provides a suite of open-source 3-D virtual globe technologies for Java applications, which can be utilized in user applications. Version 2.0 now uses JOGL 2. It provides a rich set of features for displaying and interacting with geographic data and representing a wide range of geometric objects.
ForceFieldX Force Field X is a computational microscope to study genetic variation and organic crystals using theory and experiment. It targets open research questions in the areas of: * Understanding the effect of missense variants on protein structure, thermodynamics and molecular phenotype. * Prediction of the structure, thermodynamic stability ... JaamSimJaamSim is a free and open source discrete-event simulation software which includes a drag-and-drop user interface, interactive 3D graphics, input and output processing, and model development tools and editors.
MATSim MATSim is an open-source framework for large-scale agent-based transport simulations. Source code is available in this git repository group.
Scilab Scilab is a free scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications. It has sophisticated data structures, an interpreter and a high level programming language. It also integrates a 2-D and 3-D plotting module designed to visually represent and understand complex data. Processing Processing is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production.
Molecular Biology Toolkit BioJava is an open-source project providing a framework for processing biological data, analytical & statistical routines, parsers for common file formats & allows the manipulation of sequences & 3D structures. RCSB Viewers suite provides creating 3D viewing applications, e.g. RCSB Protein DB (Example) & Epitode DB. GeoGebraGeoGebra is free and multi-platform dynamic mathematics software for all levels of education that joins geometry, algebra, tables, graphing, statistics and calculus in one easy-to-use package. GeoGebra 5.0 has experimental 3D support utilizing JOGL. Developer Wiki, SVN Repository.
Gephi Gephi is a tool for people that have to explore and understand graphs. Like Photoshop but for data, the user interacts with the representation, manipulate the structures, shapes and colors to reveal hidden properties. Goal is to help data analysts to make hypothesis, intuitively discover patterns, isolate structure singularities or ... jRealityjReality is a Java based, full-featured 3D scene graph package designed for 3D visualization and specialized in mathematical visualization. It has a flexible shading model based on an attribute-inheritance mechanism in the scene graph, ... Tutorial examples, further info.
MeteoInfo MeteoInfo is an intergrated framework both for GIS application and scientific computation environment. MeteoInfoMap is a GIS application which enables the user to visualize and analyze the spatial and meteorological data with ... Aspose.Words Java Aspose.Words Java is a document processing API for Java. Develop applications with the ability to create, process, render and convert Word documents to multiple formats in Java.
SweetHome3D Sweet Home 3D is a free interior design application which helps you draw the plan of your house, arrange furniture on it and visit the results in 3D. FROGFROG is a fast OpenGL event display tool mainly developed for visualization of data in the field of high energy physics. FROG is mostly used to visualized/animate data from proton/proton collision produced in the CMS experiment at the LHC, CERN, Switzerland.
Utilities, Libraries, Building blocks
Ardor3DJava3D is back. It is maintained by Harvey Harrison and initially ported to our current JOGL version by Julien Gouesse.
Source available via this git repository and JAR files can be downloaded here. Our forum may help you with your questions.
Ardor3DArdor3D is a professionally oriented, open source, Java based 3D engine.
Resources: Maven Repo, git repo. Julien Gouesse started the new JOGL backend development, which is now merged into the official trunk.
Jzy3D Jzy3d (Java Easy 3d) allows rapid display of 3d scientific data. Functions can be bound to colormaps & and predefined simple 3d shapes can be rendered programmaticaly or from csv files. The API relieves of working with OpenGL, 3d polygon ordering and transparency management. jmathanim JMathAnim is a library written in JAVA intended to simplify the process of doing mathematical animations. Initially inspired by the python manim library from 3Blue1Brown. See the gallery with examples and source in this git repository.
MasonMason 22 is a fast agent-based simulation library core, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D (git repository). jMonkeyEnginejMonkeyEngine is a game engine for 3D games following modern technology standards. Currently Julien Gouesse develops a JOGL backend for jME3 with support of the jME team. Mobile device support requires proper OpenGL profile separation.
dyn4jdyn4j is a 2D collision detection and physics engine, designed to be fast, stable, extensible, and easy to use. dyn4jJglTF is a Java implementation of glTF™ (GL Transmission Format), including converter, viewer, browser and other utilities.
JavaCVJavaCV JavaCV uses wrappers of commonly used libraries by researchers in the field of computer vision (OpenCV, FFmpeg, ... OpenKinect, librealsense, ... and Tesseract) and eases use on the Java platform and Android. Fiji Fiji is an image processing package — a "batteries-included" distribution of ImageJ, bundling many plugins which facilitate scientific image analysis. Source code is available in this git repository group.
Nifty GUI Nifty GUI is a Java Library that supports the building of interactive user interfaces for games or similar applications. The configuration of the GUI is stored in xml files with little supporting Java code. Glimpse Glimpse is an Interactive Data Visualization in Java and OpenGL. Source code is available in this git repository.
Unlicense Unlicense is a general purpose framework created in 2012. The project provides character encoding, compression, protocols and image decoders. As for rendering this library offer numerous 3D format readers, a custom UI api, and a 3D engine build ontop of JOGL and JOAL. JebGLJebGL is a piece of Javascript which lets you run your WebGL apps in browsers lacking WebGL support without having to modify your existing code!
Games
WakfuWakfu is a tactical turn-based MMORPG by Ankama Games and released for Windows, MacOS, and Linux in 2012. The game takes place 1,000 years after Dofus. In a world in distress, players are free to rebuild or destroy it under their nation's flag! In addition to quests, adventures and humor, WAKFU offers players a brand new ... Archipelago Archipelago is an OPEN WORLD for virtual sailors. Can’t go sailing today? Don’t have a sailboat? Hey! You can practice your skills & have fun with Archipelago! Our mission is to provide a fun & safe environment & entertainment for you. ... started as an experiment to learn OpenGL in Java…
Ticket to RideTicket to Ride and Memoir '44 are boardgames published by Days of Wonder. They also make digital versions of these games since 2006. These are available on all desktops computers (Windows, MacOS and Linux), thanks to the use of Java and JOGL. Jake2Jake2 is a port of id Software's GPL'd Quake II engine from C to Java done by bytonic software.
Jake2 uses JOGL for desktop OpenGL and mobile OpenGL ES1 and ES2 use including dropping AWT in favor of NEWT. You can find the current source code in this git repository.
Older projects ...
chronotext chronotext is a series of visual design experiments involving animated text and 3D objects and surfaces. Several examples can be run on-line via Java Web Start. See the latest experiments of mapping text on to real 3D surfaces. STRAP With STRAP you can align your proteins by sequence and 3D-structure. STRAP simultaneously displays 3d-structures, amino acid sequence alignment and nucleotide sequences. It has powerful annotation features.
Art Of Illusion Art of Illusion is a free, open source 3D modelling and rendering studio. Many of its capabilities rival those found in commercial programs. Some of the highlights include subdivision surface based modelling tools, skeleton based animation, and a graphical language for ... FengGUI FengGUI is a graphical user interface (GUI) application programming interface (API) based on OpenGL. FengGUI provides all typical GUI components like buttons, sliders, trees, text areas, frames, tabs, etc. which are required to build a complete GUI system.
Sculpteo Sculpteo offers a 3D printing service, fast and available for everyone. Starting from a 3D design, Sculpteo makes a specific object : interior decoration, characters, robots, miniatures, models, mechanic objects...
Discontinued projects
CCTCCTs C3D Interactive is a leading BIM-based construction project control application. The solution helps Construction Managers, owners and contractors to visualize and control their projects, by analyzing key construction information, based on actual progress as well as do visual “look-ahead” based on current progress rates, etc.
C3D Mobile is available free on Google Play.
Impact Impact is a complete finite element suite including preprocessor, solver and postprocessor which is useable for simulating dynamic events such as car crashes or stamping of metal sheets. The suite allows 3D modelling, solving and viewing of simulation results, all in OpenGL accelerated graphics through the use of JOGL.
OneStone Pebbles OneStone® Pebbles are a new series of calculus visualization tools developed by Bright Ideas Software®. Each 'Pebble' in the series is a stand-alone program designed to illustrate a specific topic in the calculus syllabus. The Pebbles used JOGL for their interactive 3D rendering. Volume ViewerVolume Viewer is an open source renderer for 3D volumetric data. It provides tools for coloring your model, cutting away pieces, and viewing it from any angle. It can cast shadows within the model for extra realism. You can even upload your own volumetric data and view it in real time.
MyHMIMyHMI is a Java based object oriented software framework for industrial graphical user interfaces development. It enables creation of visually adjustable interfaces for embedded systems, independently of underlying OS or hardware platform, communication or data processing mechanisms. GL Studio GL Studio is an object oriented rapid application development tool that allows a user to graphically combine photographs, 3D models and behavior logic to create advanced 2D and 3D human machine interfaces. GL Studio generates Java or C++ source code ...
dyn4jjspatial implements a set of spatial data structures. It features Quadtree and Octtree implementations, including efficient area and raycast queries. It has numerous working examples ... GLG2D GLG2D is a Graphics2D implementation that uses OpenGL to implement basic Java2D drawing functionality. We currently use the fixed function pipeline, with the GL2 profile for most functionality.
J4K J4K is an an open source Java library that implements a Java binding for the Microsoft's Kinect SDK. It provides access to the video, depth, and skeleton streams of the Kinect (Demo Video). libGDXlibGDX provides a cross-platform API for game and real-time application development. It's powerful abstractions let you chose how you want to write your game or application. The JOGL backend, a team effort of the JogAmp community, allows applications to be deployed on desktop and mobile platforms (source code).
Fusion LaboratoryThe Fusion Framework enables Swing components to be extended with 3D content via JOGL. In general the 3D content will show up in layers on top of the corresponding Swing component. The system provides a simple scenegraph, Swing-like mouse interaction, and low-level animation support, as well as GLSL shaders and .obj file loading. The demo page contains several Java Web Start applications. Vehicle Dynamics Engine DemoVehicle Dynamics Engine Demo is a Java Web Start demonstration of a 3D physics engine developed by Insight Machines. The engine is designed especially for car games. The demo uses JOGL and employs such techniques like shadow casting using the stencil buffer.
Elflight Engine The Elflight Engine is a games engine designed for the web. It supports hardware accelerated 3D games and applications in a web browser, with the ability to import assets from major 3D packages such as Maya and 3D Studio. The focus of the engine's architecture is minimal startup time, fast streaming, ... Vehicle Dynamics Engine DemoVehicle Dynamics Engine Demo is a Java Web Start demonstration of a 3D physics engine developed by Insight Machines. The engine is designed especially for car games. The demo uses JOGL and employs such techniques like shadow casting using the stencil buffer.
Everplanes Everplanes is a game of exploration, building, survival and strategy. It introduces new gameplay, resources and challenges in the updates. Each time the game is started, it automatically downloads the latest updates. The game includes a built-in server for LAN or Internet play. You can run an open server, or ...