Sequential Point Tree - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Sequential Point Tree

Description:

Cas contraire affichage d'un splat de taille d/r (diam tre du n ud projet dans ... Affichage effectif de 50 millions de points par secondes sur un GPU ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 28
Provided by: Bart77
Category:

less

Transcript and Presenter's Notes

Title: Sequential Point Tree


1
Sequential Point Tree
  • Carsten Dachsbacher
  • Christian Vogelgsang
  • Marc Stamminger

Présentation Thomas BARTHES Matthieu CORVAISIER
2
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

3
Rendu par points
  • Avantages
  • Très efficace pour le rendu dobjets 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 nest donc pas exploitée
  • Objectif décharger un maximum de calculs depuis
    le CPU vers le GPU

4
Mise en uvre
  • Obtenir une version séquentielle dun 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

5
Sequential Point Tree
6
Point Tree Hierarchy
  • Construction dun octree représentant la
    hiérarchie des points uniformément répartis sur
    lobjet
  • Calcul des moyennes des positions et des normales
    des points intermédiaires
  • Chaque nud représente un morceau de lobjet
  • Un nud équivaut à lunion de tous ses fils
  • Structure de données dun nud
  • Point central p
  • Normale moyenne n
  • Diamètre de la sphère englobante d

7
Approximation dun nud par un disque
  • Chaque nud de larbre peut être approximé par un
    disque
  • Même point central
  • Même normale
  • Même diamètre
  • Lerreur dapproximation est décrite par deux
    valeurs
  • Erreur perpendiculaire eP
  • Erreur tangentielle eT

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

9
Erreur perpendiculaire (2)
  • Espace image projection dune 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

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

11
Erreur tangentielle (2)
  • Espace image projection dune 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

12
Erreur géométrique
  • Simplification combinaison des erreurs
    perpendiculaire et tangentielle en une seule
    erreur géométrique
  • eG v(eP² eT²)
  • Espace image projection dune erreur image ëG
  • ëG eG / v
  • ëG ne dépend plus de langle du point de vue

13
Rendu Récursif (1)
  • Un objet est affiché par un parcours en
    profondeur de la hiérarchie de points
  • Pour chaque nud, lerreur image ë est calculée
  • Si ë dépasse un seuil acceptable e, et si le nud
    nest pas une feuille ? fils parcourus
    récursivement
  • Cas contraire ? affichage dun splat de taille
    d/r (diamètre du nud projeté dans lespace
    image)
  • e défini par lutilisateur

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

15
Séquentialisation (1)
  • Problème procédure récursive ? non adaptée pour
    un traitement séquentiel rapide par le GPU
  • Solution
  • réarranger larbre 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

16
Séquentialisation (2)
  • CPU
  • Mémorise dans chaque nud les valeurs rmin et
    rmax
  • Stocke les nuds dans une liste non hiérarchique
  • Trie la liste en fonction des rmax
  • GPU
  • Test non récursif r ? rmin,rmax
  • Affichage

17
Séquentialisation (3)
18
Séquentialisation (4)
  • Problème en cas de variation de r

19
Réarrangement
  • Le segment de liste exhaustif est envoyé au GPU
  • Le GPU effectue le test dappartenance à
    rmin,rmax
  • Test vérifié point rendu par un splat de
    diamètre d/r
  • Test non vérifié point occulté (placé à
    linfini)
  • Pourcentage de points occultés 10 à 40
    (dépend de la variation de r)

20
Rendu Hybride
  • Extension possible des sequential point trees
  • Parties de lobjet rendues par des points
  • Parties de lobjet rendues par des polygones
  • But sélection des polygones par le GPU

21
Couleur et Texture (1)
  • Possibilité de mémoriser la couleur dans un nud
  • Couleur dun nud interne moyenne de celle de
    ses fils
  • Problème avec les grands splats contours flous
  • Obligation de reconsidérer lerreur géométrique
  • Solution augmenter lerreur de chaque point
    pour forcer laffichage de petits splats

22
Couleur et Texture (2)
23
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

24
Performances (2)
  • Frame rates de lordre 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

25
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 dartefacts

26
(Et pour finir)
MAGNETO, SERGE (La page web pour télécharger
larticle et la vidéo)
http//www9.informatik.uni-erlangen.de/Persons/Sta
mminger/Research/Research/spt
27
(Au cas où)
Write a Comment
User Comments (0)
About PowerShow.com