Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OpenGL ES pour le développement d’applications géospatiales sur Android

957 views

Published on

Plusieurs API cartographiques sont disponibles pour les développeurs Android. Toutefois, dans le cadre de certains projets, il n’est pas toujours possible de les utiliser, et ce, pour différentes raisons (ex : type de licence, absence d’une fonctionnalité donnée, etc.). Il est heureusement possible de développer soi-même une application cartographique en ayant recours à OpenGL ES (Open Graphics Library for Embedded System), une API de rendu graphique 2D et 3D disponible sur Android. Cette présentation consiste en une introduction à OpenGL ES. Différents points seront abordés, tels que les scénarios d’utilisation, les concepts de base propres à OpenGL ES, les principales classes, etc. Des exemples avec des données géospatiales seront aussi présentés. Enfin, des références utiles seront fournies pour ceux et celles qui désirent débuter avec l’API OpenGL ES sur Android.

Published in: Technology
  • Be the first to comment

OpenGL ES pour le développement d’applications géospatiales sur Android

  1. 1. OpenGL ES pour le développement d’applications géospatiales sur Android Mathieu Ouellette Développeur / spécialiste en géomatique ouellette.mathieu@gmail.com Vision Géomatique | Novembre 2014
  2. 2. Plan q Qu’est-ce que OpenGL ES et pourquoi l’utiliser? q Exemples q Quelques concepts q Développer avec OpenGL ES sur Android q Références utiles But: simplement présenter OpenGL ES sur Android et son potentiel pour la géomatique
  3. 3. Plusieurs SDK géo pour Android…
  4. 4. … mais avec certaines contraintes!
  5. 5. OpenGL ES à la rescousse des développeurs!
  6. 6. OpenGL ES en une diapo Quoi? Open Graphics Library for Embedded Systems Pour faire quoi? Rendu graphique (3D) Qui? Khronos Group Appareils cibles? Téléphones, tablettes et autres appareils portables Utilisé par qui? Industrie du jeu vidéo, etc. Très fort potentiel pour la géomatique
  7. 7. Quoi faire avec OpenGL ES?
  8. 8. Apache Licence 2.0 https://code.google.com/p/gdc2011-android-opengl/
  9. 9. Skybox (à la Google Street View) Creative Commons http://freezurbern.deviantart.com/art/Ocean-Skybox-402457935
  10. 10. Basé sur une version modifiée du code de Learning OpenGL ES 2 for Android (Kevin Brothaler, The Pragmatic Bookshelf )
  11. 11. Réalité augmentée + géospatial Sensors (capteurs)
  12. 12. Réalité augmentée + géospatial Sensors (capteurs) Creative commons – image Dhatfield http://commons.wikimedia.org/wiki/File:Utah_teapot_simple_2.png
  13. 13. Concepts / développer
  14. 14. Open specification Spécification API implémente Android Open Source Project OpenGL ES library
  15. 15. OpenGL ES dans Android
  16. 16. SDK, ou NDK, telle est la question
  17. 17. Android SDK Android NDK Java C/C++ Performant Performant++ Plus simple Plus complexe
  18. 18. OpenGL ES 1, ou 2, ou 3, telle est la question En date du 3 novembre 2014 25,3% 74,7% Creative commons – Android Developers Dashboard http://developer.android.com/about/dashboards/index.html#OpenGL
  19. 19. Concepts: en terrain connu! transformation vertex projection rasterization géométrie RGB ligne point coordonnées
  20. 20. Géométries (primitives) q Point q Ligne q Triangle Creative Commons OpenGL ES | Android Developers http://developer.android.com/guide/topics/graphics/opengl.html
  21. 21. Pipeline graphique Creative Commons http://commons.wikimedia.org/wiki/File:British_Steel_pipeline,_Caldicot_Level_-_geograph.org.uk_-_689097.jpg Pipeline
  22. 22. Vertex, fragment et rasterization
  23. 23. Shaders Indiquent au GPU comment effectuer le rendu graphique Vertex Shader Fragment Shader Génère la position finale de chaque vertex Génère la couleur finale de chaque fragment (modèle RGB) Programmés en GLSL (OpenGL Shading Language)
  24. 24. Pipeline simplifié Lecture des vertex Vertex Shader Assembler les primitives Rasterization des primitives Fragment Shader ... Frame Buffer Le rendu est fait sur l'écran!
  25. 25. Classes clés GLSurfaceView Implémentation de GLES20 GLSurfaceView.Renderer Creative Commons OpenGL ES | Android Developers http://developer.android.com/training/graphics/opengl/touch.html
  26. 26. Aller plus loin
  27. 27. Quelques livres
  28. 28. Quelques sites q Khronos Group www.khronos.org/opengles/ q API guides de Android developer.android.com/guide/topics/graphics/opengl.html q Training sur Android developer.android.com/training/graphics/opengl/index.html
  29. 29. Merci! Questions?

×