Carsten Dachsbacher Christian Vogelgsang Marc Stamminger

Slides:



Advertisements
Présentations similaires
Hierarchical Z-Buffer Visibility
Advertisements

Modélisation par Surfaces Implicites à Squelettes Complexes
Fanny CHEVALIER Guillaume CAURANT
for Painting and Rendering Textures on Unparameterized Models
RENDU DE TERRAIN Problématique : Rendre une très large zone de terrains en la simplifiant au maximum pour réduire le nombre de polygones à afficher. A.Bailly.
Simplification Out-of-Core des modèles polygonales complexes
The Reyes Image Rendering Architecture
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Visible Surface Determination (Hidden Surface Removal)
Qian Cui, Stephane Wolf & Arnaud Choquart - DESS IMM /2003
Technique des Surfels Surfels: Surface Elements as Rendering Primitives SIGGRAPH 2000 H.Pfiste, J.van Baar, M.Zwicker, M.Gross.
Efficient Simplification of Point-Sampled Surfaces
Ray Tracing Acceleration Techniques A Survey of Ray Tracing Acceleration Techniques James Arvo et David Kirk Ray Tracing on Programmable Graphics Hardware.
Détection des collisions dans un moteur 3D temps réel
Scène de test (60000 polygones, 4000m2)
Algorithmes à base darbre BSP. Principe Se servir dune structure arborescente afin déliminer le traitement dune branche entière sur un test de visualisation.
Rendu de pierres taillées en temps réel Stéphane Guy Directeur de stage: Cyril Soler.
IMAGIS-GRAVIR / IMAG Rendu de forêts en temps-réel iMAGIS / GRAVIR Franck Sénégas DEA IVR Tuteur: Fabrice Neyret.
Xavier Décoret* Frédo Durand° François Sillion*
3. Analyse et estimation du mouvement dans la vidéo
Cosmos/Works Les chargements type PALIER
Connaissances Logiciel de géométrie dynamique Epreuve Expérimentale Série S 2007/08.
Reconstruction de volume 3D
IFT3730: Infographie 3D Transformations Géométriques
Exposé réalisé par: ABID RIM TAIEB IMEN.
Les fichiers indexés (Les B-arbres)
LES ARBRES IUP 2 Génie Informatique
IFT3355: Infographie Courbes et surfaces
Visualisation de surfaces décrites analytiquement
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
IFT3730 : Infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal.
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
Plan du cours Cours 1,2 : le pipeline graphique
Module 3 : Analyse des performances du serveur
Gestion de Fichiers GF-5: Storage Secondaire: Bandes Magnetiques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
TRAITEMENT D’IMAGE SIF-1033.
Algorithmique et structures de données en C
IFT3355: Infographie Courbes et surfaces
L’adaptativité pour un solveur de l’équation de Vlasov
1 Modèles de particules Reeves, W. T., "Particle Systems - A technique for Modeling a Class of Fuzzy Objects," SIGGRAPH 83, Reeves, W. T., and.
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Modélisation géométrique
Les images de synthèses Duprat Anatole. Les images de synthèses consistent en la création assistée par ordinateur, d'images numériques. Il existe différentes.
Mise-à-jour de données de haute incertitude spatiale Présentation dans le cadre du groupe de discussion sur la fusion de données géospatiales – 22 nov.
Création en images de Synthèse Modèles de rendu d’une scène 3D
Arbres binaires et tables de hachage
Un état de l’art sur les logiciels de détection de collision
Projet Lancer de Rayons
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Etude des structures de données au coeur des algos 3D des FPS.(BL2) Vos noms ici, encadreur, etc…
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
CHAPITRE III Calcul vectoriel
Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer
Copyright Derivaux Sébastien 1 Présentation de l’article ROAMing Terrain: Real-time Optimally Adapting Meshes 1 Sébastien Derivaux pour le cours de Rendu.
Synthèse d’images et Rendu Réaliste Compression Progressive de Modèles 3D DOMENGET Bruno DUMAS Benjamin EISTI.
Les cartes graphiques Introduction Histoire Aujourd’hui
Simulateur de microcontrôleur Intel 80C51
Romain Dupont encadré par J.Aubourg et P. Fuchs
Architecture et Fonctionnement d’un GPU Géométrie Rendu.
FAUVET Nicolas 1 Gestion de données scientifiques 3d massives pour l’interaction en Réalité Virtuelle Doctorant: Nicolas Fauvet Encadrant: Jean-Marc Vézien.
Plan du cours Cours 1,2 : le pipeline graphique
Tétraédrisation de domaines volumiques avec des hiérarchies adaptatives Par A. Duprat et R. Abelé Suivit par M. Uribe-Lobello.
Visualisation des flots optiques en 3D
Correction problème 1.
Architecture et technologie des ordinateurs II
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Introduction aux technologies du jeux-vidéo Steve Gury
Les cartes graphiques Leur partie software.
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Transcription de la présentation:

Carsten Dachsbacher Christian Vogelgsang Marc Stamminger Sequential Point Tree Carsten Dachsbacher Christian Vogelgsang Marc Stamminger Présentation : Thomas BARTHES Matthieu CORVAISIER

Plan Rendu par points, objectifs et mise en œuvre Point Trees Sequential Point Trees Point Tree Hierarchy Approximations et erreurs Du récursif au séquentiel Rendu récursif Séquentialisation réarrangement Extensions Rendu hybride point/polygone Couleurs et textures Performances Conclusion

Rendu par points Avantages: Inconvénients: Très efficace pour le rendu d’objets complexes Gestion facile et pratique du niveau de détails Inconvénients: Sélection des points effectuée par le CPU La puissance du GPU n’est donc pas exploitée Objectif: décharger un maximum de calculs depuis le CPU vers le GPU

Mise en œuvre Obtenir une version séquentielle d’un arbre de points hiérarchique Traitement de cette liste par le GPU: Sélection du niveau de détails Affichage de splats figurant les points

Sequential Point Tree

Point Tree Hierarchy Construction d’un octree représentant la hiérarchie des points uniformément répartis sur l’objet Calcul des moyennes des positions et des normales des points intermédiaires Chaque nœud représente un morceau de l’objet Un nœud équivaut à l’union de tous ses fils Structure de données d’un nœud: Point central p Normale moyenne n Diamètre de la sphère englobante d

Approximation d’un nœud par un disque Chaque nœud de l’arbre peut être approximé par un disque Même point central Même normale Même diamètre L’erreur d’approximation est décrite par deux valeurs Erreur perpendiculaire eP Erreur tangentielle eT

Erreur perpendiculaire (1) eP = distance minimum entre 2 plans parallèles au disque qui englobent tous les disques fils

Erreur perpendiculaire (2) Espace image: projection d’une erreur image ëP ëP = eP * sin(v,n) / |v| ëP: varie en fonction de sinus(v,n) v: vecteur du point de vue n: vecteur normal du disque ëP rend compte du fait que les erreurs le long des silhouettes sont moins acceptables (discontinuités) Plus le point de vue est éloigné, plus ëP est faible

Erreur tangentielle (1) eT = diamètre du disque père – largeur minimale de l’ensemble des disques fils Mesure si un disque parent couvre une trop grande surface Conséquences: erreurs sur les bords des surfaces

Erreur tangentielle (2) Espace image: projection d’une erreur image ëT ëT = eT * cos(v,n) / |v| ëT: varie en fonction de cosinus(v,n) v: vecteur du point de vue n: vecteur normal du disque ëT rend compte du fait que les erreurs dans les plans faisant face au point de vue sont moins acceptables (trous) Plus le point de vue est éloigné, plus ëT est faible

Erreur géométrique Simplification: combinaison des erreurs perpendiculaire et tangentielle en une seule erreur géométrique eG = √(eP² + eT²) Espace image: projection d’une erreur image ëG ëG = eG / |v| ëG ne dépend plus de l’angle du point de vue

Rendu Récursif (1) Un objet est affiché par un parcours en profondeur de la hiérarchie de points Pour chaque nœud, l’erreur image ë est calculée Si ë dépasse un seuil acceptable ε, et si le nœud n’est pas une feuille  fils parcourus récursivement Cas contraire  affichage d’un splat de taille d/r (diamètre du nœud projeté dans l’espace image) ε défini par l’utilisateur

Rendu Récursif (2) Densité des points adaptée : À la distance du point de vue: r Aux propriétés locales de la surface

Séquentialisation (1) Problème : procédure récursive  non adaptée pour un traitement séquentiel rapide par le GPU Solution : réarranger l’arbre de données en une liste remplacer la procédure de rendu récursif par une boucle séquentielle parcourant cette liste Arrangement optimisé : toutes les entrées sélectionnées dans la liste sont regroupées dans un même segment

Séquentialisation (2) CPU: GPU: Mémorise dans chaque nœud les valeurs rmin et rmax Stocke les nœuds dans une liste non hiérarchique Trie la liste en fonction des rmax GPU: Test non récursif: r Є [rmin,rmax] Affichage

Séquentialisation (3)

Séquentialisation (4) Problème en cas de variation de r

Réarrangement Le segment de liste exhaustif est envoyé au GPU Le GPU effectue le test d’appartenance à [rmin,rmax] Test vérifié : point rendu par un splat de diamètre d/r Test non vérifié : point occulté (placé à l’infini) Pourcentage de points occultés : 10 à 40 % (dépend de la variation de r)

Rendu Hybride Extension possible des sequential point trees : Parties de l’objet rendues par des points Parties de l’objet rendues par des polygones But : sélection des polygones par le GPU

Couleur et Texture (1) Possibilité de mémoriser la couleur dans un nœud Couleur d’un nœud interne = moyenne de celle de ses fils Problème avec les grands splats : contours flous Obligation de reconsidérer l’erreur géométrique Solution : augmenter l’erreur de chaque point pour forcer l’affichage de petits splats

Couleur et Texture (2)

Performances (1) Matériel et logiciel : ATI Radeon 9700 avec DirectX Affichage : Statues et arbres : sequential point trees Sol, ciel et autres modèles : polygones (triangles) 77 millions de points envoyés par seconde au GPU, qui en affiche 50 millions après culling Textures et données géométriques sont stockées dans la mémoire de la carte graphique

Performances (2) Frame rates de l’ordre de 36 à 90 fps, avec une charge CPU de 5 à 15% sur un Pentium 2.4GHz Essais avec nouvelle NVIDIA NV30  résultats préliminaires, affichage possible de 80 millions de points par seconde après sélection par le GPU Modèles avec lumière dynamique Illumination locale calculée dans le vertex shader 60 millions de splats affichés par seconde après culling du GPU vertex shader exécuté 85 millions de fois par seconde

Conclusion Sequential point trees  version séquentielle des point trees hiérarchiques Sélection du niveau de détails gérée quasi entièrement par le GPU, avec un simple vertex program Affichage effectif de 50 millions de points par secondes sur un GPU actuel, faible charge CPU (idéal pour jeux vidéos…) Extension proposée pour rendu hybride point/polygone, sans apparition d’artefacts

(La page web pour télécharger l’article et la vidéo) (Et pour finir) MAGNETO, SERGE… (La page web pour télécharger l’article et la vidéo) http://www9.informatik.uni-erlangen.de/Persons/Stamminger/Research/Research/spt

(Au cas où)