-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
Learning Libgdx Game Development
Since the release of Libgdx Version 0.1 back in March 2010, a lot of work has been contributed in order to improve this library. The latest stable release of Libgdx is version 0.97 from November 2012, which we are going to use throughout this book.
Here is the list of features taken from the official website (http://libgdx.badlogicgames.com/features.html):
Rendering through OpenGL ES 1.x and 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 that 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, and handling OpenGL ES 1.x and 2.0 differences transparently
Texture atlases with whitespace stripping support, which are either generated offline or online
Bitmap fonts (does not support complex scripts like Arabic or Chinese), which are 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, and fully skinable
High-level 3D APIs:
Perspective camera
Decal batching for 3D billboards or particle systems
Basic loaders for Wavefront OBJ and MD5
Work in progress: MD2, Ogre XML and FBX support, and 3D rendering API with materials and lighting system
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)
Decoders for OGG and MPG3 formats (unsupported in JavaScript backend)
Pitch shifting, time stretching, and playback rate modification (unsupported in JavaScript backend)
Using abstractions for mouse and touchscreen, keyboard, accelerometer, and compass.
Gesture detector: detects taps, panning, flinging, and pinch zooming.
Gdx remote: to control your desktop application via your Android phone. Useful to test multi-touch gestures while debugging your desktop application.
Filesystem abstraction for all platforms
Read-only filesystem emulation for JavaScript backend
Binary file support for JavaScript backend
Preferences for lightweight setting storage
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 triangulation.
Intersection and overlap testing.
JNI wrapper for Box2D physics. It is so awesome that other engines use it as well.
Experimental JNI Wrapper for bullet physics.
Custom collections with primitive support
JSON writer and reader with POJO (de-)serialization support
XML writer and reader
Gdx Setup UI for easy project setup
Particle editor
Texture packer
Bitmap font generator
Change the font size
Change margin width
Change background colour