Télécharger la présentation
1
جامعــــــة محمد خيضــــــــــــر
Université Mohamed Khider Biskra, Département d’informatique laboratoire LESIA, Biskra, Algérie جامعــــــة محمد خيضــــــــــــر بــســكــــــــــــرة Optimisation des volumes d’ombre pour un rendu temps réel Présenté par Abd El Mouméne Zerari Notre sujet a comme titre _____ qui est dans le cadre de la synthèse d’immage Rencontres sur la Recherche en Informatique Université Mouloud Mammeri Tizi-Ouzou Juin 2011
2
Plan de l’exposé Introduction Modèle proposé Résultats et discussions
Conclusion et perspectives
3
Introduction Source de lumière occulteur Receveur d’ombre Ombre
On commence par la modélisation Receveur d’ombre Ombre 3
4
Comment générer les ombres?
1 Les techniques traditionnels 2 basées sur le lancé de Rayon 3 basées sur d’illumination global 4 Shadow Maps 5 Volumes d’ombre 4 Comment générer les ombres?
5
Calcule des volumes d’ombre
5 Calcule des volumes d’ombre construire les quadruples infinis en s’appuyant sur : la source chaque bord de silhouette Compter le nombre E/S. - On utilisant le stencil buffer Comment construire les volumes d'ombre ? trouver la silhouette des objets vus depuis la source. Source de lumière Arête Silhouette extrusion de la silhouette oeil occulteur Face avant Maintenant nous allons présentés les 2algo pour la modélisa receiver récepteurs d'ombre 5
6
Stencil Shadow Volumes
6 Stencil Shadow Volumes Stencil shadow volumes. Elle utilise la géométrie pour extraire les volumes. Ces volumes sont ensuite dessinés dans une image appelée « Stencil-Buffer » pour y obtenir un masque indiquant quels pixels sont dans l’ombre. deux techniques de base pour dessiner ces volumes d’ombre dans le Stencil-Buffer. Elles sont connues sous les noms de Z-Pass et Z-Fail Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 6
7
Approche ZFail (inverse de ZPass)
7 Approche ZFail (inverse de ZPass) Initialize Stencil buffer = 0 +1 -1 -1 A l’infini -1 Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: Camera Compteur du Volume d’ombre du point Q = = +2 => correct 7
8
Stenciled Shadow Volumes
8 Stenciled Shadow Volumes Avantages Ombre propre et ombre portée Robuste si bien programmé Inconvénients Algorithme Multi-passe Exigence du calcule de la Silhouette qui peut charger le CPU (pré-calcul) Des modèles polygonales fermés L’exigence d’information d’adjacence entre les primitives de bases ( calculer par le CPU) Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 8
9
Optimisations Stenciled Shadow Volumes
9 Optimisations Stenciled Shadow Volumes Optimisation par la réduction de la géométrie Optimisation du rendu des Volumes d’ombre Programmes Shaders pour le rendu du volume d’ombre Optimisation par la détermination de la silhouette en utilisation du Geometry Shader (notre contribution) Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 9
10
Optimisation par la détermination de la silhouette
10 Optimisation par la détermination de la silhouette Notre travail est basé sur la méthode de volume d’ombre de Gunter Wallner [WAL08]: Techniques Z-FAIL Extrusion de la silhouette par GPU (shader). Mais l’étape de détection de l’information de contiguïté est implémenté sur le CPU (pré-calcul) Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 10
11
Optimisation par la détermination de la silhouette
11 Optimisation par la détermination de la silhouette Notre analyse faite sur les limites de l’ancien méthode. IL n’y a aucune géométrie qui est à base de silhouette. Nous a permis de conclure que Avec la nouvelle étape du Geometry Shader de GPUs, il est devenu possible de calculer les volumes d’ombre et de détecter la silhouette sur le matériel graphiques. Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 11
12
12 Le modèle proposé Grâce aux GS, une nouvelle possibilité est ouverte, puisque l’information d’adjacence est disponible. Nous pouvons produire de la géométrie de silhouette. Notre contribution consiste à implémenter l’étape de calcul de l’information d’adjacence entre les primitives de base nécessaires pour le calcul de silhouette sur le GPU et de détecter et d’extruder la silhouette en utilisant les GS. Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 12
13
Pipeline OpenGL avec l’introduction de la version 4 du Shader model.
13 Pipeline OpenGL avec l’introduction de la version 4 du Shader model. Vertex Data Vertex Processing Vertex Shader Geometry Assembly Geometry Shader fonctions câblées CPU Clipping and viewport transformation Rasterization Fragment Processing Fragment Shader Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: Depth Test fonctions écrites par le programmeur GPU Frame Buffer 13
14
Silhouettes à base de Geometry Shader
14 Silhouettes à base de Geometry Shader Le vertex shader ne reçoit pas les informations de connectivité (triangles ou quads), il ne reçoit que les coordonnées des points, indépendamment les uns des autres. Grâce au GS on peut traiter une maille au niveau primitif avec l'information d’adjacence (triangles voisins), ce qui permettra de produire une nouvelle géométrie en sortie. C'est l'information que nous devons détecter pour créer les arêtes de la silhouette.
15
pseudo code Geometry Shader
15 pseudo code Geometry Shader Calculer la normale du triangle central et le vecteur de position de vue Si le triangle est en face avant alors Pour tous les triangles adjacents faire Calculer la normale Si le triangle est en face arrière alors Émettre les sommets Extruder la silhouette Fin si Fin pour Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 15
16
Détection et extrusion de la Silhouette par GS
16 Détection et extrusion de la Silhouette par GS Un triangle primaire Trois triangles adjacents 1 2 3 4 5 2 1 3 N2 4 N1 5 Afin de pouvoir accéder à l'information de contiguïté, le GS exige que les index de triangle soit trier if( dot(eyeVec,N1) > 0 && dot(eyeVec,N2) < 0)
17
Résultats et discussions
17 Résultats et discussions En variant le nombre d’objet à base de triangles de 300 à triangles tout en mesurant la fréquence d'affichage des images par seconde : FPS. Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 17
18
Méthode de Gunter 13200 triangles 18
Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 18 18
19
Notre Méthode 13200 triangles 19
Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 19 19
20
Méthode de Gunter 200000 triangles 20
Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 20 20
21
Notre Méthode 200000 triangles 21
Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 21 21
22
Discussion des résultats
22 Discussion des résultats FPS Scène sans ombre Méthode de Gunter Wallner [1] Méthode proposée Triangles Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 22
23
Comparaison des résultats
23 Comparaison des résultats La comparaison des résultats obtenus par l’implémentation de la méthode Gunter Wallner et celle proposée montre visiblement l’amélioration de la rapidité du rendu et l’optimisation du temps de calcul. Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 23
24
24 CONCLUSION Nous avons présenté une amélioration d’une méthode de volume d’ombre basée sur le Geometry Shader, capable d'effectuer des rendus en temps réel. Cette amélioration concerne la partie de détection et l’extrusion de silhouette, sans avoir besoin de prétraitement. Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 24
25
25 Perspectives Étendre notre étude pour d’autres scènes plus complexes, et la prise en charge des niveaux de détails dans la génération des ombres. Prendre en considération l’exploitation des avancements dans les techniques, certes plus complexes mais surtout plus efficaces, tout en considérant la possibilité de faire évoluer les ombres vers des résultats toujours plus rapide. Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 25
26
Fin merci pour votre attention
Avant: Nous penson que ce travail peut etre une brique de base pour des travaux plus affinés qui peuvent etrent traiter Par approximation après: 26
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.