The 2DX Open Source Project - Advanced 2D Graphics API for Java
Java Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

###The 2DX Project - Open Source 2D Java Graphics Library

The 2DX Project aims to provide powerful, versatile, and felxible tools for 2D graphics programming in Java.


2DX-GL (Advanced 2-dimensional Graphics Library) is a standalone, dependency free library that extends the Java2D AWT API by adding more high-level functionality for rendering 2D geometry, effects, animations, physics, and general utilities.


A 2D Java game engine built on 2DX-GL. Snap2D utilizes and extends the 2DX-GL API by re-applying its functionality and providing its own infrastructure for game development. Snap2D aims to provide high performance 2D graphics rendering as well as a wide range of facilities for building games in Java.

Notable features in Snap2D thus far:

-Fast, efficient, high level rendering engines (separate Java2D and OpenGL frameworks)

-99% cross-platform with expandable native library system

-2D World management and conversion framework

-2D timed animation framework (Java2D based)

-OpenGL shader support (JOGL)

-Built in image/texture management

-SnapScript language for fast, portable game scripting

-Physics framework (2DX + Snap2D expansion)

-Built in sound library via Paul Lamb's SoundSystem API

-Integration with NiftyGUI provides support for building effective, high-performance user interfaces

-Math/geometry libraries

-Numerous provided general utilities

Planned features:

-2D lighting engine for JOGL renderer

-Particle system

-(?) Animation editor and bone system

Code in the primary source folders ('snap2d' and 'x2d') is under development and may or may not be complete/working.

If you decide to use 2DX/Snap2D for actual application production, I would appreicate it if you let me know on GitHub or by any other means so that I know to be careful about making changes! You can email me at:

The 'builds' folder in the project directory contains the latest development builds. All JARs in this folder include both the base 2DX-GL and Snap2D libraries.

NOTE: These JARs are typically stable, but may not have all features fully implemented or complete.

Read the commit notes for detailed update information.

2DX-GL 1st Edition (v.1.0)

Project dev status: API-Stable

To-do (next commit):


Project dev status: API-Alpha

To-do (in development):

-2D Tile/Map system

-Snap2D physics package (in development)

-Continued improvements to OpenGL rendering engine

Follow @The2DXProject on Twitter for real-time updates on development of the project!

Additional credits:

Snap2D Sound API utilizes SoundSystem for Java by Paul Lamb []

Snap2D integrates with NiftyGUI by void256 []

OpenGL renderer utilizes JOGL 2.0 by JogAmp []

Special Thanks

Julien Gouesse and Sven Gothel (JogAmp)