• Aucun résultat trouvé

Résultats pour la visualisation de sites industriels

Part III: Modèles Industriels

1.4.9 Résultats pour la visualisation de sites industriels

Notre but est de représenter et d'acher la plupart des surfaces d'un site industriel avec nos primitives GPU en ayant trois objectifs principaux: qualité, performance et économie de mémoire. Contrairement à la solution polygonale, les primitives GPU n'ont besoin d'aucune gestion de LOD puisqu'elles gardent leur qualité même lorsqu'elles sont vues avec un zoom important et nécessitent peu de calculs quand elles sont visualisées de loin. Cependant, il est important de noter qu'avec notre algorithme d'ingénierie inverse

1.4. La Thèse 27 nous récupérons environ 90% des objets dans ces grands modèles, tandis que les autres objets utilisent des techniques conventionnelles de visualisation (rasterisation).

Dans le Chapitre 11 nous discutons en détails des trois avantages mentionnés ci-dessus. Amélioration de la qualité d'image

Nous listons ici cinq améliorations de la qualité d'image obtenues avec notre méthode. Silhouette lisse. En maillant des surfaces incurvées, il n'est pas possible d'obtenir des silhouettes complètement lisses puisque nous sommes limités par la discrétisation des mailles. Les primitives GPU sont visualisées par pixel et ainsi les silhouettes sont toujours lisses, même après un agrandissement énorme à l'écran. Voir Figure 1.16(a). Intersections (calcul de profondeur par pixel). Avec la rasterisation de triangles, la profondeur de chaque pixel (z-value) est le résultat de l'interpolation de la profondeur des sommets. D'autre part, les primitives GPU calculent la profondeur par pixel, qui est beaucoup plus précise. Quand deux primitives GPU ou plus s'intersectent, la frontière a une forme correcte due à ce calcul précis de visibilité. Voir la Figure 1.16(b) pour avoir une comparaison.

Continuité entre primitives d'un même tuyau. Dans les modèles de sites indus-triels, les tuyaux sont une longue séquence de primitives (cylindres, joints et cônes). Avec la solution polygonale, un risque de ssures entre les primitives peut apparaître. Pour éviter cela, les maillages devraient garder la même résolution et le même alignement pour deux primitives consécutives. Dans la Figure 1.16(c), les ssures apparaîtraient à cause d'un mauvais alignement. Ce genre de situation indésirable est également un problème pour des applications utilisant LOD pour visualiser des tuyaux. Dans ce cas, il est dif-cile de garantir la continuité (voir [KBO+99]). Avec les primitives GPU, celle-ci est garantie sans eort puisqu'il n'y a aucune discrétisation.

Per-pixel shading. Dans l'implémentation par défaut de la rasterisation de triangles, le GPU traite la couleur par sommet pour l'interpoler plus tard à l'intérieur du triangle projeté. Cette technique est appelée Gouraud shading [Gou71a, Gou71b]. Bien que rapides, les images nales ne sont pas d'aussi bonnes qualités, particulièrement autour des réexions spéculaires (voir la Figure 4.6 à la page 69). Nos primitives calculent la nuance par pixel (Phong shading), sans aucune interpolation, améliorant la qualité d'image.

Contrôle de l'épaisseur des cylindres . Le contrôle de l'épaisseur, adopté dans le vertex shader pour les cylindres GPU, évite le rendu pointillé lorsqu'un cylindre haut et n est visualisé de loin. De plus, quand ce contrôle est associé au calcul de couleur basé sur la moyenne normale, il réduit de manière signicative l'eet de crénelage pour un groupe de cylindres parallèles (voir la Figure 10.14 à la page 175).

Espace mémoire

La récupération de surfaces topologiques convertit 90% des données originales de modèles industriels. L'espace mémoire des données récupérées est réduit à au plus 2% (98% de réduction). C'est une conséquence de la simplicité des informations implicites utilisées pour les primitives récupérées. Si nous considérons les 10% restant des triangles non récupérés, des modèles industriels tels que des plateformes pétrolières et des centrales électriques peuvent être stockés dans environ 15% de la taille originale des données.

 (a) (b) - (c)  (a) (b) - (c)

Figure 1.16: Une pièce industrielle d'une centrale électrique. Top left: Modèle original maillé. Top center: Rasterisation de triangles avec Gouraud shading. Top right: Visualisation avec les primitives GPU. Bottom: Triangles versus GPU primitives. (a) Lissage de la silhouette; (b) Précision d'intersection; (c) Continuité entre séquences de primitives.

Performance

Ce que nous voulons comparer est la meilleure solution obtenue avec notre méthode pour des primitives GPU et la meilleure solution obtenue par la rasterisation de triangles (deuxième et troisième colonnes dans le Tableau 11.2 à la page 196). En conclusion, les primitives GPU sont beaucoup plus rapides (vitesse presque doublée) comparées à la meilleure solution de rasterisation.

Dans le Tableau 11.3 à la page 197, nous avons une situation diérente, où certains des triangles originaux (10%) n'ont pas été convertis en primitives implicites, nous les appelons UT (Unrecovered Triangles). Par conséquent, nous comparons le meilleur rendu de la rasterisation de VBO (troisième colonne) au rendu de la méthode hybride (des primitives GPU + UT, deuxième colonne). Comme décrit dans le Tableau 11.3, la solution hybride est entre 40% et 60% plus rapide que la rasterisation.

1.4.10 Conclusion

Le but de notre travail est d'accélérer les méthodes de visualisation pour obtenir un rendu interactif de modèles massifs.

Dans la Partie I, nous avons passé en revue la littérature sur les méthodes de visual-isation selon leur échelle d'application.

Nous pouvons dire d'une façon simple que les algorithmes avancés pour les niveaux scénique et macroscopique ont comme objectif une exécution de haute-performance avec

1.4. La Thèse 29

Figure 1.17: Visualisation Hybride

une faible perte en qualité. D'autre part, les algorithmes avancés pour les niveaux mé-soscopique et microscopique ont pour but d'augmenter la qualité tout en essayant de réduire au minimum la vitesse perdue.

Nous avons concentré nos contributions au niveau macroscopique en présentant de nouvelles représentations surfaciques et de nouvelles primitives de visualisation (Chapitres 7 et 10). Nous avons prouvé que notre technique peut également être employée pour le niveau mésoscopique (voir la Section 5.3.3).

Dans notre approche, les modèles massifs sont classés dans deux catégories diérentes: les modèles naturels et les modèles industriels. Pour chacun d'eux, nous proposons une nouvelle représentation en implémentant des algorithmes de conversion et en développant des primitives GPU.

Visualisation Hybride

Une de nos contributions importantes était d'établir un nouveau système de visualisation qui combine le lancer de rayons et la rasterisation des objets dans la même scène. Comme expliquée dans la Section 7.1, la clef pour une combinaison sans accroc de ces deux techniques consiste à prolonger un peu l'algorithme de lancer de rayons an de respecter les règles de z-buer.

Dans la Figure 1.17 nous montrons la combinaison de trois types de primitives. Les primitives implicites de lancer de rayons (cylindres, cônes et tores), un objet naturel de lancer de rayon (les cailloux) et les maillages rasterisées de triangles (pour d'autres objets de plateformes). En raison du rendement correct des valeur z par pixel, tous ces diérents objets (avec diérentes méthodes de rendu) sont parfaitement combinés pour la visualisation interactive.

Chapter 2

Introduction

Documents relatifs