Ce qu'il fallait retenir : - Il s'agissait de découvrir l'interfaçage entre openGL et Android et non d'aborder la programmation openGL qui n'est pas un sujet lié à Android. - On a vu qu'Android incluait la possibilité d'utiliser openGL ES, qui est une version allégée d'openGL, mais que contrairement à la majorité des autres fonctionnalités du téléphone, une API "user-friendly" pour le développeur JAVA n'était pas disponible, et que la programmation n'était pas orientée objet, et pouvait être rude pour des habitués du Java.

On a ensuite vu en guise de démonstration, la reprise d'un des exemples de API Demos (Le Rubik Cube 3D) et de ses classes (librement disponibles dans le répertoire samples du SDK), l'explication du fonctionnement de ces classes qui permettaient d'avoir une approche plus objet de la manipulation des objets 3D,

Petit rappel des classes du projet (sans sombrer dans le cours magistral) :

R : La traditionnelle classe-index d'Android.

GLVertex : Représentation d'un point xyz dans l'espace

GLFace : Représentation de faces (assemblage de 3 ou 4 vertex)

GLShape : Représentation d'une forme (assemblage de faces)

Cube : Représentation d'un cube (héritage d'une shape)

GLWorld : Représentation du monde, chargée de convertir nos objets vers des tableaux exploitables par OpenGL

GLColor : Une couleur ARGB

GlRenderer : Le moteur chargé du rendu de l'application

GLSurfaceView : La View Android sur laquelle les graphismes sont dessinés

OpenGL : Notre activité principale

On a vu peu à peu comment ajouter des listeners pour l'écran tactile et les touches du téléphone dans l'activité, puis influencer le renderer en fonction de ces éléments. Une poignée de formules de trigonométrie plus tard, on obtenait un petit environnement 3D rempli de cubes dans lequel on pouvait déplacer la caméra à l'écran tactile, et avancer en appuyant sur un bouton du téléphone, pour s'y déplacer.

Ci dessous les sources du projet (4 projets qui représentent l'évolution du projet visualisée pendant la présentation) :

Sources Présentation OpenGL AndroidDevCamp