SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
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
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
Plusieurs SDK géo pour Android…
… mais avec certaines contraintes!
OpenGL ES à la rescousse 
des développeurs!
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
Quoi faire avec 
OpenGL ES?
Apache Licence 2.0 
https://code.google.com/p/gdc2011-android-opengl/
Skybox (à la 
Google Street 
View) 
Creative Commons 
http://freezurbern.deviantart.com/art/Ocean-Skybox-402457935
Basé sur une version modifiée du code de 
Learning OpenGL ES 2 for Android (Kevin Brothaler, 
The Pragmatic Bookshelf )
Réalité augmentée + géospatial 
Sensors (capteurs)
Réalité augmentée + géospatial 
Sensors (capteurs) 
Creative commons – image Dhatfield 
http://commons.wikimedia.org/wiki/File:Utah_teapot_simple_2.png
Concepts / 
développer
Open specification 
Spécification API 
implémente 
Android Open Source Project 
OpenGL ES library
OpenGL ES dans Android
SDK, ou NDK, 
telle est la question
Android SDK Android NDK 
Java C/C++ 
Performant Performant++ 
Plus simple Plus complexe
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
Concepts: en terrain connu! 
transformation 
vertex 
projection 
rasterization 
géométrie 
RGB 
ligne 
point 
coordonnées
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
Pipeline graphique 
Creative Commons 
http://commons.wikimedia.org/wiki/File:British_Steel_pipeline,_Caldicot_Level_-_geograph.org.uk_-_689097.jpg 
Pipeline
Vertex, fragment et rasterization
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)
Pipeline simplifié 
Lecture des vertex Vertex Shader Assembler les 
primitives 
Rasterization des 
primitives Fragment Shader ... 
Frame Buffer Le rendu est fait 
sur l'écran!
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
Aller plus loin
Quelques livres
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
Merci! 
Questions?

Mais conteúdo relacionado

Destaque

Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...SemWebPro
 
Il était une noce - Invitation à un mariage d'exception
Il était une noce - Invitation à un mariage d'exceptionIl était une noce - Invitation à un mariage d'exception
Il était une noce - Invitation à un mariage d'exceptioniletaitunenoce
 
BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...
BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...
BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...BAFS
 
Les temps de vacances final
Les temps de vacances finalLes temps de vacances final
Les temps de vacances finalMaestroBedoya
 
PrésentationEmoji
PrésentationEmojiPrésentationEmoji
PrésentationEmojiAude Rappaz
 
Don quixote - strauss
Don quixote - straussDon quixote - strauss
Don quixote - straussSam Moraes
 
Tom Taddeo CV 2016 (FR) (1)
Tom Taddeo CV 2016 (FR) (1)Tom Taddeo CV 2016 (FR) (1)
Tom Taddeo CV 2016 (FR) (1)Tom Taddeo
 
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...Xabier de la Maza
 
Trouver le bon tiers: sortir de la binarité ?
Trouver le bon tiers: sortir de la binarité ?Trouver le bon tiers: sortir de la binarité ?
Trouver le bon tiers: sortir de la binarité ?K2LE Consulting
 
Apprendre un nouveau langage, le cas ruby
Apprendre un nouveau langage, le cas rubyApprendre un nouveau langage, le cas ruby
Apprendre un nouveau langage, le cas rubyDavid Bo
 
Guia oficial optimizacion motores busqueda SEO
Guia oficial optimizacion motores busqueda SEOGuia oficial optimizacion motores busqueda SEO
Guia oficial optimizacion motores busqueda SEOCeHis Ltda
 
Références pour notre projet
Références pour notre projetRéférences pour notre projet
Références pour notre projetatelieriug
 
Guía de derechos y responsabilidades ip
Guía de derechos y responsabilidades ipGuía de derechos y responsabilidades ip
Guía de derechos y responsabilidades ipcantadorantonio
 

Destaque (19)

Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...
 
Il était une noce - Invitation à un mariage d'exception
Il était une noce - Invitation à un mariage d'exceptionIl était une noce - Invitation à un mariage d'exception
Il était une noce - Invitation à un mariage d'exception
 
Uso del video educativo
Uso del video educativoUso del video educativo
Uso del video educativo
 
content.PDF
content.PDFcontent.PDF
content.PDF
 
BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...
BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...
BAFS 2015 Genève : Frédéric Tremeau - Comment réconcilier l'IT et le métier g...
 
Les temps de vacances final
Les temps de vacances finalLes temps de vacances final
Les temps de vacances final
 
PrésentationEmoji
PrésentationEmojiPrésentationEmoji
PrésentationEmoji
 
Don quixote - strauss
Don quixote - straussDon quixote - strauss
Don quixote - strauss
 
Yummy magazine N°4
Yummy magazine N°4Yummy magazine N°4
Yummy magazine N°4
 
Presentation designs
Presentation designsPresentation designs
Presentation designs
 
Tom Taddeo CV 2016 (FR) (1)
Tom Taddeo CV 2016 (FR) (1)Tom Taddeo CV 2016 (FR) (1)
Tom Taddeo CV 2016 (FR) (1)
 
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
Turismo y Gastronomía: Buscando posicionamiento en internet. Andoni Munduate ...
 
Trouver le bon tiers: sortir de la binarité ?
Trouver le bon tiers: sortir de la binarité ?Trouver le bon tiers: sortir de la binarité ?
Trouver le bon tiers: sortir de la binarité ?
 
Apprendre un nouveau langage, le cas ruby
Apprendre un nouveau langage, le cas rubyApprendre un nouveau langage, le cas ruby
Apprendre un nouveau langage, le cas ruby
 
Badminton
Badminton Badminton
Badminton
 
Guia oficial optimizacion motores busqueda SEO
Guia oficial optimizacion motores busqueda SEOGuia oficial optimizacion motores busqueda SEO
Guia oficial optimizacion motores busqueda SEO
 
Sant jordi 2012web
Sant jordi 2012webSant jordi 2012web
Sant jordi 2012web
 
Références pour notre projet
Références pour notre projetRéférences pour notre projet
Références pour notre projet
 
Guía de derechos y responsabilidades ip
Guía de derechos y responsabilidades ipGuía de derechos y responsabilidades ip
Guía de derechos y responsabilidades ip
 

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

In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - IntroductionYann Caron
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous AndroidAbdelkader Rhouati
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Saâd Zerhouni
 
Réalité virtuelle sur Android, entre Cardboard et GearVR
Réalité virtuelle sur Android, entre Cardboard et GearVRRéalité virtuelle sur Android, entre Cardboard et GearVR
Réalité virtuelle sur Android, entre Cardboard et GearVRJulien Salvi
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tousMicrosoft
 
Tout savoir sur les SIG mobiles
Tout savoir sur les SIG mobilesTout savoir sur les SIG mobiles
Tout savoir sur les SIG mobilesEric Lacoursiere
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesMichael Laguerre
 
Jeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dJeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dXavier MARIN
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2Jérôme Esnault
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipseESPRIT
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdfmed_univ78
 
Rapport pfe ingénieur ilyes issaoui
Rapport pfe ingénieur ilyes issaouiRapport pfe ingénieur ilyes issaoui
Rapport pfe ingénieur ilyes issaouiIssaoui Ilyes
 
2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open Hardware2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open HardwareSylvain Wallez
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEHoussem Eddine LASSOUED
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware
 

Semelhante a OpenGL ES pour le développement d’applications géospatiales sur Android (20)

In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - Introduction
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
 
Réalité virtuelle sur Android, entre Cardboard et GearVR
Réalité virtuelle sur Android, entre Cardboard et GearVRRéalité virtuelle sur Android, entre Cardboard et GearVR
Réalité virtuelle sur Android, entre Cardboard et GearVR
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
Tout savoir sur les SIG mobiles
Tout savoir sur les SIG mobilesTout savoir sur les SIG mobiles
Tout savoir sur les SIG mobiles
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
Native script
Native scriptNative script
Native script
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobiles
 
Jeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dJeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3d
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipse
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
 
DevFestBdm2019
DevFestBdm2019DevFestBdm2019
DevFestBdm2019
 
Rapport pfe ingénieur ilyes issaoui
Rapport pfe ingénieur ilyes issaouiRapport pfe ingénieur ilyes issaoui
Rapport pfe ingénieur ilyes issaoui
 
2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open Hardware2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open Hardware
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFE
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCS
 

Mais de VisionGEOMATIQUE2014

Géomatique appliquée : revue des solutions novatrices mises en place en 2014
Géomatique appliquée : revue des solutions novatrices mises en place en 2014Géomatique appliquée : revue des solutions novatrices mises en place en 2014
Géomatique appliquée : revue des solutions novatrices mises en place en 2014VisionGEOMATIQUE2014
 
Indoor location with the Bluetooth Low Energy standard
Indoor location with the Bluetooth Low Energy standardIndoor location with the Bluetooth Low Energy standard
Indoor location with the Bluetooth Low Energy standardVisionGEOMATIQUE2014
 
ScribeUI: La productivité avec MapServer
ScribeUI: La productivité avec MapServerScribeUI: La productivité avec MapServer
ScribeUI: La productivité avec MapServerVisionGEOMATIQUE2014
 
Fast, Distributed Geoprocessing with Scala, Spark and GeoTrellis
Fast, Distributed Geoprocessing with Scala, Spark and GeoTrellisFast, Distributed Geoprocessing with Scala, Spark and GeoTrellis
Fast, Distributed Geoprocessing with Scala, Spark and GeoTrellisVisionGEOMATIQUE2014
 
Accès ouvert aux données météorologiques d’Environnement Canada
Accès ouvert aux données météorologiques d’Environnement CanadaAccès ouvert aux données météorologiques d’Environnement Canada
Accès ouvert aux données météorologiques d’Environnement CanadaVisionGEOMATIQUE2014
 
TDW FOSS GEO-STACK FOR MINERAL EXPLORATION
TDW FOSS GEO-STACK FOR MINERAL EXPLORATIONTDW FOSS GEO-STACK FOR MINERAL EXPLORATION
TDW FOSS GEO-STACK FOR MINERAL EXPLORATIONVisionGEOMATIQUE2014
 
Spatial Data processing with Hadoop
Spatial Data processing with HadoopSpatial Data processing with Hadoop
Spatial Data processing with HadoopVisionGEOMATIQUE2014
 
Solution Geoctopus : améliorations et défis
Solution Geoctopus : améliorations et défisSolution Geoctopus : améliorations et défis
Solution Geoctopus : améliorations et défisVisionGEOMATIQUE2014
 
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...VisionGEOMATIQUE2014
 
GeoMesa: Scalable Geospatial Analytics
GeoMesa:  Scalable Geospatial AnalyticsGeoMesa:  Scalable Geospatial Analytics
GeoMesa: Scalable Geospatial AnalyticsVisionGEOMATIQUE2014
 
Montrajet.ca : une solution multimodale de covoiturage et de planification d'...
Montrajet.ca : une solution multimodale de covoiturage et de planification d'...Montrajet.ca : une solution multimodale de covoiturage et de planification d'...
Montrajet.ca : une solution multimodale de covoiturage et de planification d'...VisionGEOMATIQUE2014
 
Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...VisionGEOMATIQUE2014
 
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORINGMACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING VisionGEOMATIQUE2014
 
Les contributions de la géomatique au développement de la ville intelligente
Les contributions de la géomatique au développement de la ville intelligenteLes contributions de la géomatique au développement de la ville intelligente
Les contributions de la géomatique au développement de la ville intelligenteVisionGEOMATIQUE2014
 
SIGim la plateforme adaptée à la gestion municipale
SIGim la plateforme adaptée à la gestion municipaleSIGim la plateforme adaptée à la gestion municipale
SIGim la plateforme adaptée à la gestion municipaleVisionGEOMATIQUE2014
 
Optimisation et analyse des parcours de déneigement à la Ville de Shawinigan
Optimisation et analyse des parcours de déneigement à la Ville de ShawiniganOptimisation et analyse des parcours de déneigement à la Ville de Shawinigan
Optimisation et analyse des parcours de déneigement à la Ville de ShawiniganVisionGEOMATIQUE2014
 
AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...
AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...
AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...VisionGEOMATIQUE2014
 
Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...
Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...
Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...VisionGEOMATIQUE2014
 
JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...
JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...
JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...VisionGEOMATIQUE2014
 

Mais de VisionGEOMATIQUE2014 (20)

Géomatique appliquée : revue des solutions novatrices mises en place en 2014
Géomatique appliquée : revue des solutions novatrices mises en place en 2014Géomatique appliquée : revue des solutions novatrices mises en place en 2014
Géomatique appliquée : revue des solutions novatrices mises en place en 2014
 
Indoor location with the Bluetooth Low Energy standard
Indoor location with the Bluetooth Low Energy standardIndoor location with the Bluetooth Low Energy standard
Indoor location with the Bluetooth Low Energy standard
 
ScribeUI: La productivité avec MapServer
ScribeUI: La productivité avec MapServerScribeUI: La productivité avec MapServer
ScribeUI: La productivité avec MapServer
 
Fast, Distributed Geoprocessing with Scala, Spark and GeoTrellis
Fast, Distributed Geoprocessing with Scala, Spark and GeoTrellisFast, Distributed Geoprocessing with Scala, Spark and GeoTrellis
Fast, Distributed Geoprocessing with Scala, Spark and GeoTrellis
 
Accès ouvert aux données météorologiques d’Environnement Canada
Accès ouvert aux données météorologiques d’Environnement CanadaAccès ouvert aux données météorologiques d’Environnement Canada
Accès ouvert aux données météorologiques d’Environnement Canada
 
LocationTech Data Commons
LocationTech Data CommonsLocationTech Data Commons
LocationTech Data Commons
 
TDW FOSS GEO-STACK FOR MINERAL EXPLORATION
TDW FOSS GEO-STACK FOR MINERAL EXPLORATIONTDW FOSS GEO-STACK FOR MINERAL EXPLORATION
TDW FOSS GEO-STACK FOR MINERAL EXPLORATION
 
Spatial Data processing with Hadoop
Spatial Data processing with HadoopSpatial Data processing with Hadoop
Spatial Data processing with Hadoop
 
Solution Geoctopus : améliorations et défis
Solution Geoctopus : améliorations et défisSolution Geoctopus : améliorations et défis
Solution Geoctopus : améliorations et défis
 
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
Infrastructure de géomatique ouverte (IGO) : un modèle inspirant de développe...
 
GeoMesa: Scalable Geospatial Analytics
GeoMesa:  Scalable Geospatial AnalyticsGeoMesa:  Scalable Geospatial Analytics
GeoMesa: Scalable Geospatial Analytics
 
Montrajet.ca : une solution multimodale de covoiturage et de planification d'...
Montrajet.ca : une solution multimodale de covoiturage et de planification d'...Montrajet.ca : une solution multimodale de covoiturage et de planification d'...
Montrajet.ca : une solution multimodale de covoiturage et de planification d'...
 
Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...
 
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORINGMACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
 
Les contributions de la géomatique au développement de la ville intelligente
Les contributions de la géomatique au développement de la ville intelligenteLes contributions de la géomatique au développement de la ville intelligente
Les contributions de la géomatique au développement de la ville intelligente
 
SIGim la plateforme adaptée à la gestion municipale
SIGim la plateforme adaptée à la gestion municipaleSIGim la plateforme adaptée à la gestion municipale
SIGim la plateforme adaptée à la gestion municipale
 
Optimisation et analyse des parcours de déneigement à la Ville de Shawinigan
Optimisation et analyse des parcours de déneigement à la Ville de ShawiniganOptimisation et analyse des parcours de déneigement à la Ville de Shawinigan
Optimisation et analyse des parcours de déneigement à la Ville de Shawinigan
 
AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...
AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...
AutoTri, une application automatisant l’analyse du stationnement de l’arrondi...
 
Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...
Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...
Requirements for Geospatial Agent Simulation to Strengthen the 'Property-Powe...
 
JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...
JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...
JMap 6.0 : une solution complète et évolutive pour l'intégration, la diffusio...
 

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

  • 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. 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. Plusieurs SDK géo pour Android…
  • 4. … mais avec certaines contraintes!
  • 5. OpenGL ES à la rescousse des développeurs!
  • 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. Quoi faire avec OpenGL ES?
  • 8.
  • 9. Apache Licence 2.0 https://code.google.com/p/gdc2011-android-opengl/
  • 10. Skybox (à la Google Street View) Creative Commons http://freezurbern.deviantart.com/art/Ocean-Skybox-402457935
  • 11. Basé sur une version modifiée du code de Learning OpenGL ES 2 for Android (Kevin Brothaler, The Pragmatic Bookshelf )
  • 12. Réalité augmentée + géospatial Sensors (capteurs)
  • 13. Réalité augmentée + géospatial Sensors (capteurs) Creative commons – image Dhatfield http://commons.wikimedia.org/wiki/File:Utah_teapot_simple_2.png
  • 15. Open specification Spécification API implémente Android Open Source Project OpenGL ES library
  • 16. OpenGL ES dans Android
  • 17. SDK, ou NDK, telle est la question
  • 18. Android SDK Android NDK Java C/C++ Performant Performant++ Plus simple Plus complexe
  • 19. 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
  • 20. Concepts: en terrain connu! transformation vertex projection rasterization géométrie RGB ligne point coordonnées
  • 21. 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
  • 22. Pipeline graphique Creative Commons http://commons.wikimedia.org/wiki/File:British_Steel_pipeline,_Caldicot_Level_-_geograph.org.uk_-_689097.jpg Pipeline
  • 23. Vertex, fragment et rasterization
  • 24. 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)
  • 25. Pipeline simplifié Lecture des vertex Vertex Shader Assembler les primitives Rasterization des primitives Fragment Shader ... Frame Buffer Le rendu est fait sur l'écran!
  • 26. 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
  • 29. 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