Android is booming like never before, with millions of devices shipping every day. It's never been a better time to learn how to create your own 3D games and live wallpaper for Android. You'll find out all about shaders and the OpenGL pipeline, and discover the power of OpenGL ES 2.0, which is much more feature-rich than its predecessor. If you can program in Java and you have a creative vision that you'd like to share with the world, then this is the book for you.
This book will teach you everything you need to know to create compelling graphics on Android. You'll learn the basics of OpenGL by building a simple game of air hockey, and along the way, you'll see how to initialize OpenGL and program the graphics pipeline using shaders. Each lesson builds upon the one before it, as you add colors, shading, 3D projections, touch interaction, and more.
Then, you'll find out how to turn your idea into a live wallpaper that can run on the home screen. You'll learn about more advanced effects involving particles, lighting models, and the depth buffer. You'll understand what to look for when debugging your program, and what to watch out for when deploying to the market.
OpenGL can be somewhat of a dark art to the uninitiated. As you read this book, you'll learn each new concept from first principles. You won't just learn about a feature; you'll also understand how it works, and why it works the way it does. Everything you learn is forward-compatible with the just-released OpenGL ES 3, and you can even apply these techniques to other platforms, such as iOS or HTML5 WebGL.
While learning OpenGL ES 2, you will face challenges even if you have a good background in computer graphics! This is where books like this one shine.
The book has a unique approach which makes it easier to understand the process. before rushing into the 3D world it starts with a simple 2D game (avoiding 3D stuff like projection matrices) to let you understand how OpenGL ES2 operates, and then gradually builds on that.
Things I liked about the book:
1- The book doesn’t use any out of the box code or any external frameworks, this way you can learn and build your own code. I hate it when books use frameworks, it takes away your freedom. This book builds it’s own framework from scratch. After all, it’s impractical (nearly impossible?) to write a game without wrapping OpenGL ES2 in some sort.
2- In many games you’ll need to be able to touch and interact with the 3D objects in the scene (Picking), this is well covered in the book so that you don’t have to search for it later when you need it.
3- Terrain, Particle system and Skybox are must know techniques in computer graphics, the book explains them in detail with good looking results.
4- In OpenGL ES2 there are many details that might slip away and ruin your code or make it less portable. While your Android device might manage to run your game others might fail because of such details. The book explains many of those and how to do them the right way so your game will run everywhere.
5- Focusing solely on Android makes it easier for you to get the code working. Usually books trying to explain everything in a cross-platform manner make it harder for the reader to get the code working on their platform.
Recommended if you want to get an overview of OpenGL ES 2, but also a taste of the real deal. The book is easy to follow and contains enough linear algebra to get you started. I did find some (minor) errors in the book, but most were covered by the errata on the book's homepage.