Droidcon India 2013

What's your thinking on Android this year?

Up next

OpenGLES Graphics Programming in Android

A

Arvind

@arvinddevaraj

The objective of this workshop is to get hands on experience in developing Graphics programs in Android. OpenGL is a 3D graphics API for rendering. Knowing the basics of openGLES will help to create better graphics programs . Also you can improve performance of the programs by utilizing the GPU

Outline

This session will be helpful for people looking to use OpenGL for Game design or advanced rendering. We will discuss how to
1) Represent Scene using Model Geometry
2) Render primitives and complex shapes, Animation
3) Applying lighting and texturing
4) Camera Modeling - Model View Projection Transformations
5) Understand the Graphics pipeline - vertex transformations, rasterization etc
6) Vertex and Fragment Shaders
7) Adding realism by writing our custom shaders
8) Android Graphics - using GLSurfaceView and creating our own Renderer

Requirements

1) Wisdom wise:

a. Exposure to Eclipse IDE would be useful. Knowledge of Android is not necessary, but some understanding of OOPs concepts used in Android is required. Familiarity with terms like GPU,pixels,texture images would be helpful

b. Recommended to take a quick look at basic OpenGLES articles on web like this http://www.learnopengles.com/android-lesson-one-getting-started/

c. (Optional) We will covering the sample app during workshop, but you can take a quick look if you prefer http://developer.android.com/guide/topics/graphics/opengl.html

d. (Optional) Take quick (if not detailed) glance at OpenGLES intro slides http://www.slideshare.net/darvind/opengles-android-graphics and read blog post https://medium.com/p/9fda52fa3789

2) Hardware wise:

You have to bring your own laptop (don’t forget the charger)

Please bring your own Android device to test out your apps on them in real time. Though OpenGLES Graphics programs can be made to run on emulator, it is best to have a real device.

Make sure your machine configuration is reasonable enough to withstand the dev environment.

3) Software wise:

a) To make best use of the workshop, it is best to have the Android setup ready for hands-on exercises. Android setup is detailed below
b) If you are really new to Android and are familiar with Visual Studio, install glut http://sites.fas.harvard.edu/~lib175/pages/visstudio.html
c) It is possible to attend to work on simulated programs without installing Android/Visual Studio. That would help in learning the concepts , but would not provide hands-on.

Instructor would be using Windows environment and any platform specific issues will not be resolved during the workshop.

4) Android Setup

On Ubuntu Linux, version 8.04 or later is required.
64-bit distributions must be capable of running 32-bit applications.
Eclipse IDE (or Participants can directly download platform specific ADT Bundle from http://developer.android.com/sdk/index.html)
Eclipse 3.6.2 (Helios) or greater

Note: Eclipse 3.5 (Galileo) is no longer supported with the latest version of ADT.
Eclipse JDT plugin (included in most Eclipse IDE packages)

JDK 6 (JRE alone is not sufficient) with latest update needs to be installed
Android Development Tools plugin (recommended)

All software (JDK) needs to be installed in a folder that doesn’t containing any blank spaces in its absolute path.

5) OpenGL sample program (optional)

OpenGL in Android is explained here
http://developer.android.com/guide/topics/graphics/opengl.html

To get the best from the workshop, its useful to install the sample opengl program
http://developer.android.com/training/graphics/opengl/environment.html

Speaker bio

Arvind worked in Nvidia on OpenGL Graphics driver for Android. He has given talks on OpenGL and Android at conferences including Google Developer Group DevFest. He has conducted several corporate trainings (at Symantec, GM and Visteon) and workshops for colleges including BITS-Pilani and VIT. He completed his Masters from Indian Institute of Science in field of Computer Science in 2007 (thesis was on analyzing Java bytecode). My areas of interest Android, high performance computer graphics and GPU computing

Links

Slides

http://www.slideshare.net/darvind/opengles-android-graphics

Comments