Pdf 79 pages, 2Mo, 2019 : Travail de Bachelor réalisé en vue de l’obtention du Bachelor HES par : Ivo DE CARVALHO MATOSINHOS


Genève, le 28 juin 2019 Haute École de Gestion de Genève (HEG-GE) Filière Informatique de Gestion
https://doc.rero.ch/record/327847/files/TDB_IvoDeCarvalho.pdf
Image sur le site du mémoire

Présentation synthétique d'éléments marquants :

Historique pour rendre la 3D sur le web, débouchant sur WebGL:

- VRML ou « virtual reality modeling language » a été créé en 1994. Il n’a pas eu un grand succès, a donc été peu à peu remplacé par X3D qui est arrivé un peu plus tard.
- Le X3D ou « extensible 3D » a été créé en 1999 par un groupe de travail appartenant au Web3D Consortium ... Mais il était nécessaire d’installer un plug-in additionnel au navigateur Web client pour afficher les scènes 3D produites et les rendre interactives
- O3D est une API open source créée par Google en 2009 permettant de créer des applications 3D sur un navigateur Web. O3D nécessite l’installation d’un plug-in qui ajoute des fonctionnalités au navigateur client. Finalement, Google annonça en 2010 que O3D ne sera plus un plug-in mais une librairie dans WebGL.
- WebGL : les principaux acteurs de l’informatique ont formé un consortium nommé « Khronos Group » afin de proposer leur solution et d’en faire le standard du Web3D. Ainsi, WebGL a vu le jour en 2011 sous sa version 1.0, en licence open source et a pour but d’exploiter le standard OpenGL. Ce standard a été mis en place par les fabricants de matériel graphique afin d’utiliser l’accélération graphique.
WebGL est une API JavaScript qui est compatible avec la majeure partie des navigateurs Web et mobiles et ne nécessite aucun plug-in additionnel. La popularité de WebGL est telle que de nombreux frameworks et bibliothèques ont vu le jour afin de faciliter le développement de projets en WebGL.

Alternatives : Flash Player de Adobe a été abandonné, Unity recommande désormais WebGL
Futur ? : WebGPU est une API
Vulkan Cette API est proposée par le même groupe (Khronos Group) qui a créé le WebGL et elle a pour but de remplacer OpenGL sur le long terme. il est fortement possible que Vulkan prenne le dessus sur OpenGL.

Les Bibliothèques WebGL

WebGL demande beaucoup de code pour réaliser des rendus basiques. Aussi WebGL est rarement utilisé directement, mais plutôt via des bibliothèques.

- Three.js est la bibliothèque la plus populaire
- Blend4Web (par Triumph LLC basée à Moscu) nécessite l’utilisation du logiciel de modélisation 3D spécifique Blender.
Certaines bibliothèques comme BabylonJS se destinent à développer des jeux vidéo.
D’autres comme SceneJS sont conçues pour être utilisées dans des domaines scientifiques ou bien d’ingénierie où la visualisation de modèles 3D complexes est requise.

Exposé sur Three.js à partir page 33 (marquée 26)
Three.js, quelques-unes des différentes fonctionnalités proposées :
• Gestion des caméras, lumières, matériaux, ombres.
• Modules de chargement des modèles 3D.
• Système de gestion des particules.
• Système d’animation des modèles.
• Outils mathématiques pour simplifier la gestion de l’environnement 3D.

Exposé sur SceneJS à partir page 36 (marquée 29)
SceneJS excelle dans un domaine très précis qui est la représentation de modèles 3D complexes.

Exposé sur Blend4Web à partir page 38 (marquée 31)
Blend4Web est principalement un visionneur de modèles 3D qui permet tout de même d’apporter des fonctionnalités supplémentaires.
Blend4Web est un framework. Si le développeur utilise la version standard du « web player » mis à disposition qui permet de visionner ses créations sur un navigateur Web la licence est gratuite et les fichiers sources peuvent être gardés privés.
Il est possible de créer des modèles 3D facilement grâce à l’éditeur Blender puis d’exporter le modèle pour l’utiliser dans une application Web.
Un plugin est disponible sur Blender pour définir un profil de projet, qui limite les fonctionnalités de Blender à des fonctionnalités qui sont pertinentes sur Blend4Web.
Pour passer de Blender à Blen4Web il faut simplement exporter son modèle 3D au format JSON ou HTML. En exportant le modèle 3D au format JSON, seul le modèle sera présent dans le fichier. Cela permet d’avoir un fichier léger.

Exposé sur BabylonJS à partir page 40 (marquée 33)
Référence majeure dans le domaine du développement de jeux vidéo, BabylonJS est donc un des moteurs 3D les plus poussés et qui utilise au mieux les possibilités offertes par WebGL ; communauté très active et documentation
complète

Présentation de domaines concrets d’utilisations de la 3D :

La médecine, la visualisation de données scientifiques ou l’ingénierie : la 3D est utilisée de manière poussée pour répondre à des besoins précis.
Argument marketing : la 3D sur le Web proposant au client de personnaliser son véhicule, sa maison ou ses vêtements lui permet de mieux se projeter (ex: Nike, Kenzo)
Visualisation de données statistiques, de données économiques, Cartographie 3D sur Google maps

Rapport de deux essais pratiques avec Three.js et avec SceneJS.

Il s'agit d'intégrer le visionnage de modèles 3D à un site Web présentant des maquettes de maisons en 3D.
Sont fournis en annexe les listings des 7 fichiers pour l'implémentation du projet avec SceneJS.

 

Bibliographie (4 pages)

 

Pour les droits d'auteurs de image-en-relief.org voir : Conditions générales d'utilisation  Haut de page