Cours 21 | Accélération par l’utilisation du matériel graphique pour la représentation et le rendu volumique

Titre: Accélération par l’utilisation du matériel graphique pour la représentation et le rendu volumique

Auteurs: BERIMA Salima

Ecole/Université: Université Mohamed Khider Biskra

Résumé: De nos jours, les images virtuelles sont omniprésentes dans plusieurs domaine, citons par exemple : les jeux vidéos, la publicité et l’imagerie médicale. Le défit principale dans la synthèse d’images et le temps de rendu. Durant ces dernières années, de très nombreuses contributions en rendu volumique ont été apportées afin de satisfaire les besoins d’exploration de l’utilité des GPUs et d’apporter plus d’interactivité pour le processus de rendu. L’avancé considérable de l’architecture des cartes graphiques permet depuis quelques années la visualisation de données numériques sur PC standard, donnant ainsi lieu à une nouvelle famille d’algorithmes tirant profit des possibilités offertes par ce matériel.

L’objectif de ce mémoire est l’accélération du rendu volumique en introduisant une approche basée sur le traitement des goulets d’étranglement rencontré au niveau du pipeline graphique. Ces goulets servent à générer des points de ralentissement du processus de rendu et donc détruisent la notion de temps réel. L’approche proposée dans ce mémoire est une combinaison de deux structures de données : le briking et l’octree afin de traiter les goulets d’étranglement et par conséquent accélérer le rendu volumique. L’algorithme de rendu Raycasting, est l’algorithme le plus naturel qui permet d’atteindre un niveau haut de qualité de rendu volumique ainsi qu’il est bien adaptée pour être implémenter sur les GPUs modernes.

Extrait du sommaire:

Résumé i
Remerciements iv
Table de matière v
Liste des figures viii
Liste des tableaux x
Introduction générale 1
Chapitre1 Introduction au rendu volumique
1 Introduction 3
2 Le rendu volumique direct : principe3
2 Les algorithmes de rendu volumique direct3
3 Procédure de rendu volumique4
4 Les défis du rendu volumique 6
5 Applications du rendu volumique 6
6 Les algorithmes de rendu volumique direct8
6 1 Lancer de rayons 8
6 2 Splatting 9
6 3 Algorithme Shear-Warp10
7 Les techniques de rendu volumiques 12
7 1 Rendu à base de points12
7 2 Rendu à base d’images 13
7 Illumination 18
7 1 Modèles d’illumination20
7 1 1 Spécularité et diffusivité 21
7 1 2 BRDF : Bidirectional Reflectance Distribution Function 22
8 Conclusion23
Chapitre2 : Utilisation des GPUs dans le rendu volumique
1 Introduction et objectifs attendus24
3 Introduction aux GPUs 24
3 1 Définition de GPU 24
3 2 Apports du GPU 25
3 3 Evolution des cartes graphiques 25
4 Programmation GPU26
4 1 GPUs Programmables 27
4 2 Exemple de programmation GPU : Phong shading28
5 Les défis traités par les GPUs 30
5 1 Gestion de gros volumes de données 30
5 2 Mémoires embarquées30
5 3 Interconnections avec les autres composants matériels 31
6 Matériel graphique pour le rendu interactif31
6 1 Description du pipeline graphique32
7 Les Shaders35
7 1 Les générations de shaders35
8 Les architectures de dernière génération 36
8 1 Architecture matérielle36
9 Exemple d’étude: Lancer de rayon sur GPUs 38
10 Conclusion41
Chapitre 3 : Les structures de données accélératrices
1 Introduction 42
2 Les structures accélératrices 42
2 1 Volumes englobants42
2 2 Subdivisions spatiales 43
2 2 1 La grille régulière (brique régulière)44
2 2 2 Le kd tree ( kd arbre) 50
2 2 3 La hiérarchie des volumes englobants ( the Bounding Volume Hierarchy ou BVH) 56
2 2 4 Les structures hybrides59
5 Classification des différentes structures existantes 60
6 Conclusion60
Chapitre 4 : Traitement des goulets d’étranglement
1 Introduction 61
2 Les goulets d’étranglement au niveau de pipeline graphique 62
2 1 Définition des goulets d’étranglement 63
2 2 Les causes et les motivations 63
3 Description de la méthode64
3 1 La structure de données choisie 64
3 1 1 Subdivision en briques régulières (Bricking) 64
3 La contribution 69
3 1 Les techniques introduites dans la méthode70
3 1 2 L’octree66
3 2 La méthode (algorithme) accélératrice de rendu67
4 La contribution69
4 1 Les techniques introduites dans la méthode 69
4 1 1 Early ray termination69
4 1 2 Le raycasting 70
4 1 3 La technique “neighbor skipping” optimisée73
5 Conclusion 76
Chapitre 5 : Implémentation du système : Accélération de rendu volumique en utilisant Briking+octree
1 Introduction 78
2 Études de cas des scènes à traiter78
3 Na ture de données à visualiser 79
4 Le choix de la structure d’accélération79
4 1 La structure de brique régulière79
4 2 La structure Octree 80
4 2 1 Construction de l’octree 80
5 Aperçu global du système 81
6 Description des principaux algorithmes utilisés 83
6 1 Algorithme de création des briques régulières 84
6 2 Arbre octal: algorithme de découpage 84
6 3 Sauvegarde et lecture d’un octree85
6 4 Algorithme de rendu : le ray casting 86
7 Résultats et discussions 89
7 1 Choix de l’environnement de travail 89
7 2 Les résultats expérimentaux 90
7 3 Influence des paramètres de la structure sur le rendu 90
8 Conclusion94
Annexe95
Conclusion générale 102
Bibliographie 104

Cours accélération matérielle (21)

Télécharger le fichier PDF: Accélération par l’utilisation du matériel graphique pour la représentation et le rendu volumique