3D temps réel et Réalité Virtuelle/Augmentée/Mixte

Dans le domaine de la Réalité Virtuelle depuis 2002, je propose des formations pour comprendre les technologies de rendu 3D temps, l’utilisation des systèmes de Réalité Virtuelle/Augmentée ou/et pour développer en utilisant des middlewares (Unity 3D, …) et des API/SDK (OpenGL, OpenVR, Oculus SDK, …). Je construis les formations en fonction du besoin du client en m’adaptant aux compétences et aux demandes des apprenants. La théorie est toujours entrecoupée de projets pratiques permettant d’ancrer les connaissances et de mieux appréhender les concepts abordés.

Il est possible de développer dans des dispositifs de Réalité Virtuelle, plusieurs matériels pouvant être mis à disposition lors des cours pour expérimenter l’immersion et pour tester les différentes possibilités de tels systèmes .

Modules

Les domaines de la Réalité Virtuelle / Augmentée / Mixte ne sont pas si récents que l'on pourrait le croire. De nombreux systèmes ont vu le jour depuis une cinquantaine d'années et de nombreux outils ont été créés pour faciliter le travail des ingénieurs ou des infographistes. Je propose de vous transmettre mes connaissances dans ces domaines pour vous former aux nouveaux outils qui seront demain le quotidien des entreprises.

Réalité Virtuelle

Ce module permet de faire un état de l’art des technologies ayant émergées depuis la création du premier système ayant permis d’immerger un utilisateur dans un monde virtuelle. Il présente autant les displays que les périphériques ou les systèmes permettant de faire fonctionner l’ensemble des dispositifs.

 

Le but de ce module est de dresser un panorama des technologies et de leurs usages pour comprendre leur mise en oeuvre et pourquoi pas imaginer de nouveaux usages.

3D temps réel

La programmation 3D temps réel peut être abordée de diverses manières. J’ai choisi de présenter les principes de rendu en restant assez proche des commandes envoyées à la carte graphique. Pour ce faire on peut aborder le développement en utilisant plusieurs API (OpenGL, Vulkan, DirectX). J’ai choisi de traiter le sujet en utilisant l’API OpenGL, API historiquement choisie pour développer sur des systèmes de Réalité Virtuelle (en particulier sur les clusters graphiques) et disponible sur tous les OS (Windows, MacOS, Linux, Android, iOS, …). Elle permet de comprendre tous les concepts et leur mise en œuvre en ne demandant pas de compétences particulières en développement, des bases de C peuvent suffire.

 

Ce module permet d’apprendre à charger un objet sur la carte graphique, à lui appliquer des textures … Une fois les bases posées il est possible de charger des scènes complètes (objets, lumières, caméras, …) pour finir par les afficher dans un système immersif (CAVE ou casque).

 

Des notions mathématiques sont introduites dans ce module pour pouvoir manipuler les objets 3D et créer le rendu final en les projetant à l’écran : les espaces vectoriels et les matrices homogènes.

Shaders

Pour réaliser un rendu grâce à une carte graphique on applique aux objets 3D une suite d’étapes permettant de les transformer d’objets vectoriels 3D en pixels à l’écran. L’ensemble de ces étapes constitue ce qu’on appelle le pipeline graphique. Ce pipeline était jusqu’aux années 2000 fixe, il était alors impossible de changer les opérations effectuées dans ces étapes. Avec l’arrivée des GPU (Graphics Processing Unit) il est devenu possible de configurer et de programmer certaines étapes : ce sont les shaders. Plusieurs langages existent pour programmer des shaders (HLSL, CGFX, GLSL, …), ayant choisi OpenGL pour le rendu, GLSL est le langage qui s’est imposé pour la programmation des shaders. Il est à noter que les langages sont très similaires dans la syntaxe et qu’il est aisé de passer de l’un à l’autre une fois les concepts appréhendés.

 

La programmation des shaders est abordée en utilisant une application qui permet de tester les shaders en les recompilant à la volée pour visualiser immédiatement les modifications sans avoir besoin de relancer l’application.

Introduction à la simulation physique

Pour simuler des comportements (physiques) il est nécessaire de comprendre les mécanismes d’estimation des trajectoires, d’évolution des états de l’objet observé. Ce module permet de comprendre à comment se servir de la physique pour implémenter une simulation vraisemblable.

 

Les développements lors de ce module aboutissent à un petit moteur physique basé sur des particules qui permet de simuler un écoulement et de visualiser en temps réel les variations de vitesses dans l’ensemble des particules. Plusieurs paramètres peuvent être modifiés pour altérer le comportement des particules (entre elles et avec les objets de collision).

ESIEA

Fondée en 1958 et habilitée par la CTI pour ses deux campus de Paris et Laval, l’ESIEA forme des ingénieur(e)s généralistes des Sciences et Technologies du Numérique, adaptables à leur environnement technique et humain, ainsi qu’aux exigences de secteurs d’activité très diversifiés en France et à l’international.

 

Les formations ont été réalisées sur les campus de Paris & de Laval pour les niveaux BAC+4 et BAC+5.

J'ai été en charge de modules dans le cadre de formations post-bac (écoles d'ingénieurs) ou de formations professionnelles.


SIRET : 833 467 970 00012

Mentions légales