Download - 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.

Transcript
  • Page 1
  • 1 Plan du cours Cours 1,2 : le pipeline graphique Cours 3,4,5 : rendu temps-rel Calcul des ombres Visibilit Niveaux de dtails Image-based rendering Cours 6 : illumination globale Cours 7 : rendu non-photoraliste
  • Page 2
  • 2 Temps rel Limiter le nombre de primitives traiter Traitement de lenvironnement dpend du point de vue (visibilit, culling) Traitement gomtrique Level Of Detail
  • Page 3
  • 3 Niveaux de dtails Plus on est loin dun objet, moins on voit de dtails Gain de gomtrie 69,451 polys2,502 polys251 polys76 polys
  • Page 4
  • 4 Il y a de gros modles : 700,000 13 million 82 million 372,422,615
  • Page 5
  • 5 Principe Calculer des niveaux de dtail pour chaque objet de la scne : pr-calcul Lors du dplacement dans la scne choisir chaque instant le bon niveau de dtail et lafficher Dcouple rendu et simplification Permet de prvoir les LOD pour un affichage rapide (ex : triangle stripe)
  • Page 6
  • 6 Problmatique Gnration des LOD Reprsentation, cration Comment valuer la fidlit du modle simplifi Choix du niveau adapt au point de vue Cot / Gain par rapport au frame rate Problme des transitions viter le popping Mlange de deux niveaux successifs
  • Page 7
  • 7 19.000 faces 1.000 faces 100 faces 40 faces Simplification de maillage
  • Page 8
  • 8 Mthodes Contraction des artes Dcimation des sommets Suppression des triangles Conservation de la forme gnrale par la topologie; 3 1 2 9 87 10 54 6 A 9 8 54 6 A 3 Comment valuer lerreur commise ???
  • Page 9
  • 9 Quelle primitive simplifier ? Sans optimisation Grille rgulire Avec optimisation Calculer lerreur commise pour chaque primitive Distance, volume, perception Reste toujours une approximation de lerreur visuelle Algorithme glouton : supprimer celle de moindre erreur et recalculer localement Optimisation globale : recalculer globalement
  • Page 10
  • 10 Placement de la nouvelle primitive Trouver la position qui minimise lerreur Sommet, arte ou face Trianguler, interpoler Eviter les repliements Cas des bords ou artes vives Adapter la mesure derreur Adapter le placement
  • Page 11
  • 11 Choix du niveau de dtail Taille lcran Temps de rendu LOD discrets ou continus ? Transitions plus ou moins fluides Structure de donne plus ou moins complexe Pr-calcul ou online
  • Page 12
  • 12 LOD dpendant du point de vue LOD continus Hirarchie de groupes de sommets en pr- calcul A lexcution volution des groupes selon le point de vue Contraction des groupes trop petits permettant dliminer des triangles
  • Page 13
  • Structures de donnes Hirarchie de sommets Reprsente le modle entier Mise jour de la scne chaque image Liste des triangles actifs Reprsente la simplification courante Liste des triangles afficher Triangles ajouts ou dtruits par des oprations sur larbre des sommets
  • Page 14
  • La hirarchie de sommets Chaque noeud reprsente un sous-ensemble des sommets Les feuilles sont les sommets du modle original La racine reprsente tous les sommets Pour chaque noeud on associe un sommet reprsentant ou proxy
  • Page 15
  • 15 Larbre de sommets 3 1 2 9 87 10 54 6 A 9 8 54 6 A 3 Fold Node A Unfold Node A
  • Page 16
  • 16 Vertex Tree Example 1 3 2 9 87 10 54 6 12745689 ABC D 3 E R Triangles in active list Vertex hierarchy
  • Page 17
  • 17 Vertex Tree Example 3 1 2 9 87 10 54 6 12745689 ABC D 3 E R A Triangles in active list Vertex hierarchy
  • Page 18
  • 18 Vertex Tree Example 9 8 10 54 6 12745689 BC D 3 E R A 3 A Triangles in active list Vertex hierarchy
  • Page 19
  • 19 Vertex Tree Example 9 8 10 54 6 12745689 BC D 3 E R A 3 B A Triangles in active list Vertex hierarchy
  • Page 20
  • 20 Vertex Tree Example 10 12745689 C D 3 E R A 3 B 8 9 AB Triangles in active list Vertex hierarchy
  • Page 21
  • 21 Vertex Tree Example 10 12745689 C D 3 E R A 3 B C 8 9 AB Triangles in active list Vertex hierarchy
  • Page 22
  • 22 Vertex Tree Example 10 12745689 D 3 E R A 3 B C ABC Triangles in active list Vertex hierarchy
  • Page 23
  • 23 Vertex Tree Example E 10 12745689 D 3 R A 3 B C E ABC Triangles in active list Vertex hierarchy
  • Page 24
  • 24 Vertex Tree Example 10 12745689 C D 3 R A B E AB E Triangles in active list Vertex hierarchy
  • Page 25
  • 25 Vertex Tree Example 12745689 C103 R B E D A AB DE Triangles in active list Vertex hierarchy
  • Page 26
  • 26 Vertex Tree Example 12745689 AC103 R B E D B DE Triangles in active list Vertex hierarchy
  • Page 27
  • 27 Vertex Tree Example 12745689 AC103 R R B E D B DE Triangles in active list Vertex hierarchy
  • Page 28
  • 28 Vertex Tree Example 12745689 ABC10 D 3 E R R Triangles in active list Vertex hierarchy
  • Page 29
  • 29 The Vertex Tree A lexcution, crer une coupe dans larbre en choisissant les sommets contracts ou non This part of the model is represented at high detail This part in low detail
  • Page 30
  • 30 The Vertex Tree : Livetris and Subtris 3 1 2 9 87 10 54 6 9 8 54 6 A 3 Fold Node A Unfold Node A Node->Subtris : triangles qui dispparaissent (offline) Node->Livetris : triangles qui changent de forme (online) Deux catgories de triangles affects
  • Page 31
  • View-Dependent Simplification Nimporte quel critre peut tre utilis pour choisir quel noeud contracter Taille cran Prservation de la silhouette Budget en nombre de triangles Perception
  • Page 32
  • Taille cran Aire projete lcran Seuil choisi par lutilisateur Les noeuds qui vont dpasser le seuil sont subdiviss
  • Page 33
  • Prservation de la Silhouette Plus de dtail vers les silhouettes Un noeud silhouette contient les triangles sur le contour visuel Choisir des seuils plus fins vers la silhouette
  • Page 34
  • Triangle Budget Simplification Minimise lerreur avec un nombre de triangles donn Trie les nuds selon lerreur (taille cran) Subdiviser le noeud derreur maximales et remettre ses fils dans une liste trie Rpter jusqu atteindre le budget
  • Page 35
  • 35 Autres critres Perception Cohrence temporelle Effets lumineux...
  • Page 36
  • 36 Mipmapping Hirarchie de textures : LOD pour textures Evite le clignotement Gnration automatique ou manuelle
  • Page 37
  • 37 Bewick/Riedel Franck Perbet Imposteurs Remplacer de la gometrie par un dcor
  • Page 38
  • 38 Dpendant du point de vue
  • Page 39
  • 39 2D pour conserver le parallaxe.
  • Page 40
  • 40
  • Page 41
  • 41 Billboard : tourne avec lutilisateur Texture anime : on change dimage chaque frame
  • Page 42
  • 42 Billboard clouds Remplacer la gomtrie par un groupe dimposteurs
  • Page 43
  • 43 Plan du cours Cours 1,2 : le pipeline graphique Cours 3,4,5 : rendu temps-rel Calcul des ombres Visibilit Niveaux de dtails Image-based rendering Cours 6 : illumination globale Cours 7 : rendu non-photoraliste
  • Page 44
  • 44 Image Based Rendering Difficile de modliser le rel Prend du temps Prend de la place en mmoire N'est jamais aussi bon que le rel Complexit variable en fonction de la position Vitesse de rendu variable Mauvais pour l'interactivit
  • Page 45
  • 45 Qualit visuelle parfaite Modle du monde rel idal si photo Image de synthse pousse Affichage indpendant de la complexit gomtrique Pourquoi on n'y a pas pens plus tt ? Comment on bouge le point de vue ? Besoin d'informations gomtriques supplmentaires Informations partielles sur le monde Algorithmes pour boucher les trous Utiliser les images
  • Page 46
  • 46 Fournies par l'utilisateur Implicites : L'appareil n'a pas boug, seulement tourn Correspondances entre deux vues Explicites : Profondeur chaque pixel Modle gomtrique simplifi Modle gomtrique complexe Informations gomtriques
  • Page 47
  • 47 Profondeur, modle gomtrique : vident pour une image de synthse Difficile pour un objet rel Vues multiples d'un objet : Facile avec un objet rel Coteux avec des images de synthse Difficults
  • Page 48
  • 48 Degrs de libert Tourner l'observateur sans dplacement Tourner l'objet sans dplacement Tourner et dplacer l'observateur Dplacement libre de l'observateur Sans sortir des limites du modle
  • Page 49
  • 49 Matriel ncessaire Camra libre Grille de calibration Camra tournant sur un pied Calibre, pied calibr, dplacement cylindrique Camra monte sur potence Dplacement command par ordinateur Rgle intuitive : Plus le matriel est simple, plus il faudra fournir d'informations supplmentaires
  • Page 50
  • 50 Quicktime VR Photos panoramiques Projection cylindrique Construction semi-autom. Warping : Conversion en image plane Interpolation entre les panoramas
  • Page 51
  • 51 Acquisition : cf cours de vision.
  • Page 52
  • 52 Warping
  • Page 53
  • 53 Image Based Texturing Plusieurs photos dune scne Un modle gometrique grossier Campanile Movie Debevec, Yu, et al., 1997
  • Page 54
  • 54 Modle hybride Partir de vues simples (camra standard) Premier modle simple donn par l'utilisateur Correspondance avec images : Taille, position, paramtres Textures plaquer
  • Page 55
  • 55
  • Page 56
  • 56 Modle gomtrique simple Construction par blocs : Cubes, prismes Relations entre blocs : contraintes de placement Bien adapt aux scnes architecturales Facile manipuler Peu de paramtres Pratique pour la reconstruction
  • Page 57
  • 57 Reconstruction L'utilisateur identifie les artes du modle sur l'image Trouver les paramtres du modle et de la camra Minimiser la distance entre les artes du modle, reprojetes, et les artes identifies
  • Page 58
  • 58 Exemple
  • Page 59
  • 59
  • Page 60
  • 60 View-Dependent Texture Mapping Chaque camra agit comme un projecteur de diapositive Certains dtails du modle ne sont pas touchs par la diapositive (auto-ombrage) On combine les diffrentes images Plusieurs images sur le mme point du modle Informations contradictoires Moyenne pondre
  • Page 61
  • 61
  • Page 62
  • 62 Light fields Systme dacquisition de la fonction de rflectance Matusik
  • Page 63
  • 63
  • Page 64
  • 64