1. Introduction
Libgdx is an open source, cross platform game development framework. It currently supports Windows, Linux, Mac OS X, Android, iOS and HTML5 as target platforms. This is mainly intended to to create games using Java programming language. Internally Libgdx is using C programming language to enable cross platform capabilities and to provide better performance. Libgdx lets you go as low-level as you want, giving you direct access to file systems, input devices, audio devices and OpenGL via a unified OpenGL ES 2.0 and 3.0 interface.
People always misleads Libgdx as a game engine, but it is not. It is a framework, providing set of API to build games. A game engine is normally comes with lot of the tools and editors to make your game development process easier and faster. It means that, you may make use of other third party tools to take advantage of different things that used to build a game.
2. Feature of Libgdx Framework 0.97
2.1. Cross-Platform
A single API to target:
- Windows
- Linux
- Mac OS X
- Android (2.2+)
- BlackBerry
- iOS
- Java Applet (requires JVM to be installed)
- Javascript/WebGL (Chrome, Safari, Opera, Firefox, IE via Google Chrome Frame)
2.2. Graphics
- Rendering through OpenGL ES 2.0 on all platforms
- Custom OpenGL ES 2.0 bindings for Android 2.0 and above
- Low-Level OpenGL helpers:
- Vertex arrays and vertex buffer objects
- Meshes
- Textures
- Framebuffer objects (GLES 2.0 only)
- Shaders, integrating easily with meshes
- Immediate mode rendering emulation
- Simple shape rendering
- Automatic software or hardware mipmap generation
- ETC1 support (not available in Javascript backend)
- Automatic handling of OpenGL ES context loss. Restores all textures, shaders and other OpenGL resources
- High-level 2D APIs:
- Custom CPU side bitmap manipulation library
- Orthographic camera
- High-performance sprite batching and caching
- Texture atlases, with whitespace stripping support. Either generatedoffline or online
- Bitmap fonts (does not support complex scripts like Arabic or Chinese). Either generated offline or loaded from TTF files(unsupported in Javascript backend)
- 2D Particle system
- TMX tile map support
- 2D scene-graph API
- 2D UI library, based on scene-graph API, fully skinable
- High-Level 3D APIs:
- Perspective camera
- Decal batching, for 3D billboards or particle systems
- Basic loaders for Wavefront OBJ and MD5
- 3D rendering API with materials and lighting system and support for loading FBX models via fbx-conv
2.3. 3rd Party Support
Libgdx can be integrated with many 3rd party tools. We love:
- Spine – 2D Skeletal Animation
- Nextpeer – Mobile multiplayer made easy
- Saikoa – makers of ProGuard and DexGuard
2.4. Audio
- Streaming music and sound effect playback for WAV, MP3 and OGG
- Direct access to audio device for PCM sample playback and recording(unsupported in Javascript backend)
2.5. Input Handling
- Abstractions for mouse and touch-screen, keyboard, accelerometer andcompass
- Gesture detector, detects taps, panning, flinging and pinch zooming
2.6. Math & Physics
- Matrix, vector and quaternion classes. Matrix and vector operations are accelerated via native C code where possible
- Bounding shapes and volumes
- Frustum class, for picking and culling
- Catmull-Rom splines
- Common interpolators
- Concave polygon triangulator
- Intersection and overlap testing
- JNI wrapper for Box2D physics. So awesome, other engines use it as well
- JNI Wrapper for bullet physics
2.7. Utilities
- Custom collections, with primitive support
- Json writer and reader, with POJO (de-)serialization support
- Xml writer and reader
2.8. File I/O & Storage
- File system abstraction for all platforms
- Read-only file system emulation for Javascript backend
- Binary file support for Javascript backend
- Preferences for lightweight setting storage
2.9. File I/O & Storage
- File system abstraction for all platforms
- Read-only file system emulation for Javascript backend
- Binary file support for Javascript backend
- Preferences for lightweight setting storage
Feature above feature set is taken from official website.