Thèse soutenue

Détection de collision par lancer de rayon : La quête de la performance

FR  |  
EN
Auteur / Autrice : François Lehericey
Direction : Bruno Arnaldi
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 20/09/2016
Etablissement(s) : Rennes, INSA
Ecole(s) doctorale(s) : École doctorale Mathématiques, télécommunications, informatique, signal, systèmes, électronique (Rennes)
Partenaire(s) de recherche : COMUE : Université Bretagne Loire (2016-2019)
Laboratoire : Institut de recherche en informatique et systèmes aléatoires (Rennes) - Institut national de recherche en informatique et en automatique (France). Unité de recherche (Rennes, Bretagne-Atlantique) - Institut de Recherche en Informatique et Systèmes Aléatoires / IRISA - 3D interaction with virtual environments using body and mind
Jury : Président / Présidente : Jean-Louis Pazat
Examinateurs / Examinatrices : Jean-Louis Pazat, François Faure, Laurent Grisoni, Bruno Raffin, Valérie Gouranton
Rapporteurs / Rapporteuses : François Faure, Laurent Grisoni

Mots clés

FR  |  
EN

Mots clés contrôlés

Résumé

FR  |  
EN

La détection de collision est une tâche essentielle pour la simulation physique d’environnements virtuels. De nos jours, la détection de collision est l’un des goulets d’étranglement calculatoire dans les applications de réalité virtuelle dû à la complexité des environnements que l’on souhaite simuler et par la contrainte d’interaction en temps-réel. Nous avons concentré nos travaux sur la seconde étape de la détection de collision (narrow-phase) dans laquelle les tests de collisions sont effectués sur des paires d’objets. Contrairement à la première étape, les tests de collisions sont effectués sur des versions détaillées des modèles géométriques et sont donc très sensible au niveau calculatoire à la complexité géométrique de ceux-ci.Cette thèse vise à améliorer les performances de la détection de collision lors de l’utilisation d’objets géométriques complexes (formes représentées par un maillage, éventuellement non-convexe et/ou déformable). Nos méthodes permettent d’accélérer le calcul de la narrow-phase. Les algorithmes proposés peuvent être implémentés sur GPU pour profiter de leur puissance de calcul et ainsi améliorer les performances.Pour réaliser la narrow-phase, nous proposons un pipeline adapté à une implémentation GPU. Celui-ci permet de réaliser la narrow-phase à l’aide d’algorithmes basés lancer de rayon. Notre méthode repose sur un principe commun où tous les tests de collision sont effectués par lancer de rayon à partir des sommets des objets. Cette généricité nous permet de réaliser les tests sur des maillages ayant n’importe quelles propriétés (rigide ou déformable, convexe ou non-convexe). Les algorithmes de lancer de rayon utilisés étant choisis en fonction des propriétés des objets pour optimiser les performances.Nous avons généralisé la méthode de détection de collision utilisée pour supporter, en plus des objets volumiques, des objets surfaciques (tels que des tissus). Cette méthode est compatible avec le pipeline proposé et permet de réaliser des tests de collisions entre n’importe quelle combinaison d’objets.De plus, nous proposons d’exploiter la cohérence temporelle pour améliorer les performances. Le résultat de la détection de collision est généralement très semblable entre deux pas de temps successifs. Suite à cette observation, nous proposons un algorithme de lancer de rayon itératif qui intègre le résultat du pas précédent pour exploiter cette cohérence temporelle. Cet algorithme peut être utilisé conjointement avec des algorithmes de lancer de rayon standard. Il permet de remplacer certains tests unitaires pour mettre à jour de manière incrémentale le résultat de la détection de collision. L’algorithme de lancer de rayon itératif est ajouté au pipeline en tant qu’alternative aux autres algorithmes de lancer de rayon et est utilisé prioritairement dû à son faible coût calculatoire.