La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Plan du cours Cours 1,2 : le pipeline graphique

Présentations similaires


Présentation au sujet: "Plan du cours Cours 1,2 : le pipeline graphique"— Transcription de la présentation:

1 Plan du cours Cours 1,2 : le pipeline graphique
Cours 3,4,5 : rendu temps-réel Calcul des ombres Visibilité Niveaux de détails Image-based rendering Cours 6 : illumination globale Cours 7 : rendu non-photoréaliste

2 Limiter le nombre de primitives à traiter
Temps réel Limiter le nombre de primitives à traiter Traitement de l’environnement dépend du point de vue (visibilité, culling) Traitement géométrique Level Of Detail

3 Niveaux de détails Plus on est loin d’un objet, moins on voit de détails Gain de géométrie 69,451 polys 2,502 polys 251 polys 76 polys

4 Il y a de gros modèles : 13 million 700,000 372,422,615 82 million

5 Principe Calculer des niveaux de détail pour chaque objet de la scène : pré-calcul Lors du déplacement dans la scène choisir à chaque instant le bon niveau de détail et l’afficher Découple rendu et simplification Permet de prévoir les LOD pour un affichage rapide (ex : triangle stripe)

6 Problématique Génération des LOD
Représentation, création Comment évaluer la fidélité du modèle simplifié Choix du niveau adapté au point de vue Coût / Gain par rapport au frame rate Problème des transitions Éviter le “popping” Mélange de deux niveaux successifs

7 Simplification de maillage
faces 1.000 faces 100 faces 40 faces

8 Méthodes Comment évaluer l’erreur commise ??? Contraction des arêtes
Décimation des sommets Suppression des triangles Conservation de la forme générale par la topologie; 3 1 2 9 8 7 10 5 4 6 A Comment évaluer l’erreur commise ???

9 Quelle primitive simplifier ?
Sans optimisation Grille régulière Avec optimisation Calculer l’erreur commise pour chaque primitive Distance, volume, perception Reste toujours une approximation de l’erreur visuelle Algorithme glouton : supprimer celle de moindre erreur et recalculer localement Optimisation globale : recalculer globalement

10 Placement de la nouvelle primitive
Trouver la position qui minimise l’erreur Sommet, arête ou face Trianguler, interpoler… Eviter les repliements Cas des bords ou arêtes vives Adapter la mesure d’erreur Adapter le placement

11 Choix du niveau de détail
Taille à l’écran Temps de rendu LOD discrets ou continus ? Transitions plus ou moins fluides Structure de donnée plus ou moins complexe Pré-calcul ou « online »

12 LOD dépendant du point de vue
LOD continus Hiérarchie de groupes de sommets en pré-calcul A l’exécution évolution des groupes selon le point de vue Contraction des groupes trop petits permettant d’éliminer des triangles

13 Structures de données Hiérarchie de sommets Liste des triangles actifs
Représente le modèle entier Mise à jour de la scène à chaque image Liste des triangles actifs Représente la simplification courante Liste des triangles à afficher Triangles ajoutés ou détruits par des opérations sur l’arbre des sommets

14 La hiérarchie de sommets
Chaque noeud représente un sous-ensemble des sommets Les feuilles sont les sommets du modèle original La racine représente tous les sommets Pour chaque noeud on associe un sommet représentant ou proxy

15 L’arbre de sommets Fold Node A Unfold Node A 3 1 2 9 8 7 10 5 4 6 A 9

16 Vertex Tree Example Triangles in active list Vertex hierarchy 8 7 R 2
D E 10 6 9 3 10 A B C 3 1 1 2 7 4 5 6 8 9 4 5 Triangles in active list Vertex hierarchy

17 Vertex Tree Example Triangles in active list Vertex hierarchy 8 7 R A
2 D E 10 6 9 3 10 A B C 3 1 1 2 7 4 5 6 8 9 4 5 Triangles in active list Vertex hierarchy

18 Vertex Tree Example Triangles in active list Vertex hierarchy 8 R A D
10 6 9 3 10 A B C 3 1 2 7 4 5 6 8 9 4 5 Triangles in active list Vertex hierarchy

19 Vertex Tree Example Triangles in active list Vertex hierarchy 8 R A D
10 6 9 3 10 A B C 3 B 1 2 7 4 5 6 8 9 4 5 Triangles in active list Vertex hierarchy

20 Vertex Tree Example Triangles in active list Vertex hierarchy 8 R A D
10 9 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

21 Vertex Tree Example Triangles in active list Vertex hierarchy 8 R A C
D E 10 9 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

22 Vertex Tree Example Triangles in active list Vertex hierarchy R A C D
10 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

23 Vertex Tree Example Triangles in active list Vertex hierarchy R A C E
D E 10 3 10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

24 Vertex Tree Example Triangles in active list Vertex hierarchy R A E D
10 10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

25 Vertex Tree Example Triangles in active list Vertex hierarchy R A D E
10 10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

26 Vertex Tree Example Triangles in active list Vertex hierarchy R D E D
10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

27 Vertex Tree Example Triangles in active list Vertex hierarchy R D E D
10 A B C 3 B 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

28 Vertex Tree Example Triangles in active list Vertex hierarchy R D E R
10 A B C 3 1 2 7 4 5 6 8 9 Triangles in active list Vertex hierarchy

29 This part of the model is represented at high detail
The Vertex Tree A l’exécution, créer une coupe dans l’arbre en choisissant les sommets contractés ou non This part of the model is represented at high detail This part in low detail

30 The Vertex Tree : Livetris and Subtris
Deux catégories de triangles affectés 8 7 9 8 10 5 4 6 A 3 Fold Node A 2 10 9 6 3 1 Unfold Node A 4 5 Node->Subtris: triangles qui dispparaissent (offline) Node->Livetris: triangles qui changent de forme (online)

31 View-Dependent Simplification
N’importe quel critère peut être utilisé pour choisir quel noeud contracter Taille écran Préservation de la silhouette Budget en nombre de triangles Perception

32 Taille écran Aire projetée à l’écran Seuil choisi par l’utilisateur
Les noeuds qui vont dépasser le seuil sont subdivisés

33 Préservation de la Silhouette
Plus de détail vers les silhouettes Un noeud silhouette contient les triangles sur le contour visuel Choisir des seuils plus fins vers la silhouette

34 Triangle Budget Simplification
Minimise l’erreur avec un nombre de triangles donné Trie les nœuds selon l’erreur (taille écran) Subdiviser le noeud d’erreur maximales et remettre ses fils dans une liste triée Répéter jusqu’à atteindre le budget

35 Autres critères Perception Cohérence temporelle Effets lumineux ...

36 Mipmapping Hiérarchie de textures : LOD pour textures
Evite le clignotement Génération automatique ou manuelle

37 Imposteurs Remplacer de la géometrie par un décor Bewick/Riedel
Franck Perbet

38 Dépendant du point de vue

39 2D ½ pour conserver le parallaxe.

40

41 Billboard : tourne avec l’utilisateur
Texture animée : on change d’image à chaque frame

42 Billboard clouds Remplacer la géométrie par un groupe d’imposteurs

43 Plan du cours Cours 1,2 : le pipeline graphique
Cours 3,4,5 : rendu temps-réel Calcul des ombres Visibilité Niveaux de détails Image-based rendering Cours 6 : illumination globale Cours 7 : rendu non-photoréaliste

44 Image Based Rendering Difficile de modéliser le réel
Prend du temps Prend de la place en mémoire N'est jamais aussi bon que le réel Complexité variable en fonction de la position Vitesse de rendu variable Mauvais pour l'interactivité

45 Utiliser les images Qualité visuelle parfaite
Modèle du monde réel idéal si photo Image de synthèse poussée Affichage indépendant de la complexité géométrique Pourquoi on n'y a pas pensé plus tôt ? Comment on bouge le point de vue ? Besoin d'informations géométriques supplémentaires Informations partielles sur le monde Algorithmes pour boucher les trous

46 Informations géométriques
Fournies par l'utilisateur Implicites : L'appareil n'a pas bougé, seulement tourné Correspondances entre deux vues Explicites : Profondeur à chaque pixel Modèle géométrique simplifié Modèle géométrique complexe

47 Difficultés Profondeur, modèle géométrique :
Évident pour une image de synthèse Difficile pour un objet réel Vues multiples d'un objet : Facile avec un objet réel Coûteux avec des images de synthèse

48 Degrés de liberté Tourner l'observateur sans déplacement
Tourner l'objet sans déplacement Tourner et déplacer l'observateur Déplacement libre de l'observateur Sans sortir des limites du modèle

49 Matériel nécessaire Caméra libre Caméra tournant sur un pied
Grille de calibration Caméra tournant sur un pied Calibrée, pied calibré, déplacement cylindrique Caméra montée sur potence Déplacement commandé par ordinateur Règle intuitive : Plus le matériel est simple, plus il faudra fournir d'informations supplémentaires

50 Quicktime VR Photos panoramiques Warping :
Projection cylindrique Construction semi-autom. Warping : Conversion en image plane Interpolation entre les panoramas

51 Acquisition : cf cours de vision.

52 Warping

53 Image Based Texturing Plusieurs photos d’une scène
Campanile Movie Debevec, Yu, et al., 1997 Plusieurs photos d’une scène Un modèle géometrique grossier

54 Modèle hybride Partir de vues simples (caméra standard)
Premier modèle simple donné par l'utilisateur Correspondance avec images : Taille, position, paramètres Textures à plaquer

55

56 Modèle géométrique simple
Construction par blocs : Cubes, prismes… Relations entre blocs : contraintes de placement Bien adapté aux scènes architecturales Facile à manipuler Peu de paramètres Pratique pour la reconstruction

57 Reconstruction L'utilisateur identifie les arêtes du modèle sur l'image Trouver les paramètres du modèle et de la caméra Minimiser la distance entre les arêtes du modèle, reprojetées, et les arêtes identifiées

58 Exemple

59

60 View-Dependent Texture Mapping
Chaque caméra agit comme un projecteur de diapositive Certains détails du modèle ne sont pas touchés par la diapositive (auto-ombrage) On combine les différentes images Plusieurs images sur le même point du modèle Informations contradictoires Moyenne pondérée

61

62 Light fields Système d’acquisition de la fonction de réflectance
Matusik

63

64


Télécharger ppt "Plan du cours Cours 1,2 : le pipeline graphique"

Présentations similaires


Annonces Google