Book Image

Android NDK Beginner's Guide

By : Sylvain Ratabouil
Book Image

Android NDK Beginner's Guide

By: Sylvain Ratabouil

Overview of this book

<p>Android NDK is all about injecting high performance into your apps. Exploit the maximum power of these mobile devices using high-performance and portable code.</p> <p>This book will show you how to create C/C++ enabled applications and integrate them with Java. You will learn how to access native API and port libraries used in some of the most successful Android applications.</p> <p>Using this practical step-by-step tutorial, highlighted with comments and tricks, discover how to run C/C++ code embedded in a Java application or in a standalone application. You will create a real native application starting from project creation through to full implementation of native API and the porting of existing third-party libraries. You will discover OpenGL ES and OpenSL ES, which are becoming the new standard in mobility. You will also understand how to access keyboard and input peripherals and how to read accelerometer or orientation sensors.</p> <p>Finally, you will dive into more advanced topics such as debugging and troubleshooting applications. By the end of the book, you should know the key elements to enable you to start exploiting the power and portability of native code.</p>
Table of Contents (19 chapters)
Android NDK Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Chapter 6. Rendering Graphics with OpenGL ES

Let's face it: one of the main interests of the Android NDK is to write multimedia applications and games. Indeed, these programs consume lots of resources and need responsiveness. That is why one of the first available APIs (and almost the only one until recently) in Android NDK is an API for graphics: the Open Graphics Library for Embedded Systems (abbreviated OpenGL ES ).

OpenGL is a standard API created by Silicon Graphics and now managed by the Khronos Group (see http://www.khronos.org/). OpenGL ES derivative is available on many platforms such as iOS or Blackberry OS and is the best hope for writing portable and efficient graphics code. OpenGL can do both 2D and 3D graphics with programmable shaders (if hardware supports it). There are two main releases of OpenGL ES currently supported by Android:

  • OpenGL ES 1.1: This is the most supported API on Android devices. It offers an old school graphic API with a fixed pipeline (that is, a fixed...