Lancer de rayons interactif - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Lancer de rayons interactif

Description:

vers un lancer de rayons interactif. I Rappels sur le lancer de rayons ... on ajoute sa contribution. si il existe un obstacle (intersection avec un objet de la ... – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 41
Provided by: wwwlilUni
Category:

less

Transcript and Presenter's Notes

Title: Lancer de rayons interactif


1
Lancer de rayons interactif
  • Réunion équipe graphique 06/02/2003

2
Plan
  • Rappels sur le lancer de rayons
  • vers un lancer de rayons interactif

3
I Rappels sur le lancer de rayons
  • Initialement
  • algorithme d élimination des parties cachées
  • Principe
  • pour chaque pixel P
  • lancer un rayon d origine O et de direction OP
    dans la scène
  • calculer les intersections entre le rayon et les
    objets
  • conserver l objet le plus proche

4
Calcul de l éclairage
  • Éclairage local/direct
  • Prise en compte de la visibilité de chaque source
  • lancer d un rayon d ombrage depuis le point
    d intersection vers chaque source
  • si aucun obstacle
  • la source est visible
  • on ajoute sa contribution
  • si il existe un obstacle (intersection avec un
    objet de la scène)
  • aucune contribution de la source
  • gt prise en compte des ombres ...

5
Illustration
Source 1
Rayons d ombrage
Source 2
P
O
I(P) a . I(Source1) 0 . I(Source2)
6
Prise en compte des reflets
Source 1
Réflexions spéculaires uniquement
Source 2
P
P
O
Rayon réfléchi
I(P) a . I(Source1) 0 . I(Source2) I(P)
7
Arbre de rayons
Réflexions uniquement
Rayon primaire
Rayons réfléchis
8
Arrêt du processus
  • I(P(n)) lt seuil minimal
  • l apport des rayons réfléchis/réfractés suivants
    est considéré comme négligeable
  • n lt profondeur maximale
  • évite les boucles infinies
  • en général, combinaison des deux

9
Coût de calcul
  • Algorithme basé sur le calcul des intersections
    entre les rayons et les objets composant la scène
  • Approche naïve
  • calcul de toutes les intersections entre chaque
    rayon et tous les objets de la scène
  • coût (N2 x No) x ((Ns2) x No)P
  • N2 nombre de pixels de l image ( nombre de
    rayons primaires)
  • No nombre d objets dans la scène
  • Ns nombre de source dans la scène
  • P profondeur maximale de l arbre

10
Réduction du coût
  • Simplifier le calcul de chaque intersection
  • gain limités
  • Réduire le nombre dintersections à calculer
  • gain importants si Ni ltlt No
  • utilisation de structures de données spécialisées
  • Distribuer les calculs
  • efficace sur de petites scènes (duplication de la
    scène)
  • plus complexe sur des scènes de grande taille

11
Structures accélératrices
  • Nombreuses et basées sur le regroupement des
    primitives géométriques partageant un espace
    commun
  • volumes englobants
  • subdivisions spatiales
  • régulières
  • irrégulières

12
Les volumes englobants
  • Principe
  • entourer un objet  complexe  par un objet plus
    simple appelé englobant
  • 2 étapes pour le calcul d intersection
  • intersection avec l englobant
  • si intersection, calcul de l intersection avec
    l objet interne
  • si pas d intersection, aucune intersection
    possible avec l objet interne

13
Hiérarchie de volumes englobants
  • Généralisation du principe des englobants à
    plusieurs niveaux
  • arborescence de volumes englobants

14
Subdivision régulière
  • Tout le volume englobant la scène est découpé en
    N x N x N voxels (volume elements)
  • Chaque voxel contient la liste des objets qui se
    trouvent dans l espace qu il représente
  • Il faut calculer le trajet du rayon dans le
    volume de voxels
  • Utilisation d un algorithme de tracé de droite
    3D de type bresenham

15
Illustration
16
Avantages / Inconvénients
  • Avantages
  • découpage fin
  • réduction importante du nombre d objets à
    traiter
  • suivi incrémental de la trajectoire du rayon
  • simplicité
  • rapidité
  • Inconvénients
  • espace mémoire supplémentaire important
  • N3 voxels au moins un pointeur par voxel gt
    de 4N3 octets
  • en général beaucoup de voxels sont vides

17
Subdivisions irrégulières
  • Objectif
  • Réduire le trop grand nombre de voxels vides
  • Moyen
  • Ne pas découper lespace de manière régulière
  • Utiliser des voxels de taille différente
  • Différentes approches
  • Arbres  Octrees 
  • Arbres  BSP 

18
Les octrees
  • Définition
  • Octree arbre possédant 8 fils
  • Principe
  • Chaque fils représente un volume
    parallélépipédique de lespace
  • Ce volume contient
  • Soit un nombre maximum dobjets (fixé à lavance)
  • Soit rien
  • Construction processus récursif
  • À chaque étape, on découpe un volume en 8 sous
    volumes identiques (division par 2 selon chaque
    axe)
  • On teste les conditions de contenu pour chaque
    sous volume

19
Illustration
20
Avantages / inconvénients
  • Avantages
  • Réduction du nombre de voxels (on regroupe de
    nombreux voxels vides au sein dun seul volume)
  • Inconvénients
  • Suivi du rayon plus difficile (les volumes
    traversés successivement ne sont pas identiques)

21
Les arbres BSP
  • BSP Binary Space Partition
  • Amélioration des octrees
  • On ne découpe pas systématiquement en 8
  • On découpe en 2, en variant cycliquement le plan
    de découpe
  • Mêmes critères pour le découpage
  • Volume contenant plus de MAX objets on découpe
  • Sinon on ne découpe pas
  • Avantage réduction du nombre de voxels
  • Inconvénient suivi difficile des rayons

22
Illustration 2D
23
Cependant ...
  • Les performances obtenues restent loin de la
    notion d interactivité
  • quelques secondes de calcul pour une scène de
    très faible complexité
  • plusieurs minutes à plusieurs heures dès lors que
    la scène se complexifie
  • Comment obtenir un lancer de rayons interactif,
    voire temps réel ???

24
II. Vers un lancer de rayons interactif
  • Références
  •  Interactive distributed ray tracing of highly
    complex models , Wald et al, Rendering
    Techniques 2001
  •  Interactive rendering with coherent ray
    tracing , Wald et al, Eurographics 2001
  • Objectifs
  • utiliser le LR sur des très grosses scènes
    (plusieurs dizaines de millions de triangles)
  • obtenir une visualisation interactive (plusieurs
    images par seconde)

25
Moyens mis en uvre
  • Distribution des calculs
  • Copie  unique  des données
  • Optimisation poussée du lancer de rayons
  • Pas de pré-calculs coûteux sur la scène, tq
  • indexation spatiale
  • niveaux de détail
  • simplification de la géométrie

26
Approche distribuée
  • Approche relativement classique
  • un maître gère la distribution des calculs et
    l affichage
  • N esclaves ont en charge les calculs
    d intersection
  • Plus précisément
  • chaque esclave calcule une zone image de taille
    32x32 qui lui est affectée dynamiquement par le
    maître

27
Le problème des données
  • LR  embarrassingly parallel 
  • le calcul dun pixel est indépendant de celui des
    autres pixels
  • même remarque pour une zone 32x32
  • Mais
  • nécessité de disposer a priori de toute la scène
    pour les calculs dun pixel / dune
    zone(propagation des arbres de rayons dans la
    scène)
  • Classiquement mémoire réduite sur esclaves gt
    accroissement des communications

28
Distribution des données (1)
29
Distribution des données (2)
Absent !
30
Distribution des données (suite)
  • Gestion du cache LRU
  • Compression des arbres BSP secondaires
  • Gestion asynchrone des rayons
  • mise en attente en cas de données manquantes
  • Séparation des données
  • géométriques calculs d intersection
    uniquement
  • photométriques pour l illumination d un seul
    point
  • réduit les communications
  • améliore l utilisation du cache

31
Optimisations du lancer de rayons (1)
  • Réduction de la complexité du code
  • objectif optimiser l utilisation du pipeline
    matériel du processeur
  • moyens
  • utiliser un seul type de primitive (triangle)
  • choix du BSPTree (code de traversée simple)
  • réduire les conditions au niveau du code
  • Gestion des caches
  • réduire les temps daccès aux données nécessaires
  • prefetching (nécessité d algos simples .)

32
Optimisations du lancer de rayons (2)
  • Gestion des cohérences entre rayons
  • des rayons voisins ont un comportement similaire
    lors de leur trajet dans la scène
  • application aux rayons primaires et d ombrage
  • Cette forme de cohérence peut être exploitée
  • au niveau matériel
  • routines SSE, réduction des accès mémoires aux
    données communes, amélioration de l utilisation
    du cache
  • dans la gestion de la distribution des calculs

33
Instructions SSE
Registres 64 bits
Registres 256 bits
x
x1
x2
x3
x4
y
y1
y2
y3
y4


xy
x1y1
x2y2
x3y3
x4y4


34
Application au lancer de rayons
  • Calcul simultané de plusieurs intersections
  • gain de 3.5 à 3.7
  • Parcours du BSPTree en parallèle pour 4 rayons
  • traversée 2 à 3 fois plus coûteuse que le calcul
    d intersection (sans SSE)
  • calculs liés à la traversée  facilement 
    parallélisables pour le BSP
  • Calcul simultané de l illumination
  • réorganisation des calculs en cas de matériaux
    différents
  • lancer des rayons d ombrage vers chaque source
    en SSE

35
Cohérence et distribution
  • Les pixels calculés par un processeur sont
    corrélés
  • zone 32x32 gt comportement  similaire  des
    rayons
  • favorise la localité des BSPTrees nécessaires au
    calculs d intersection
  • déplacement (modéré) de la caméra
  • distribution de chaque zone au processeur
    l ayant calculée à l image précédente (localité
    des données)

36
Quelques résultats
  • Configuration
  • 7 bi-processeurs P3
  • scène de 50 millions de facettes
  • images 640 x 480
  • 1 rayon par pixel
  • pas de rayons d ombrage ni de réflexions
  • Performances
  • entre 3 et 5 images par seconde (sans SSE)
  • entre 6 et 12 images par seconde (avec SSE -
    estimation)

37
Commentaires (1)
  • Limitations
  • restriction des réflexions
  • la cohérence entre rayons décroît lorsque l on
    descend dans les arbres de rayons
  • les résultats présentés sont essentiellement liés
    aux rayons primaires et d ombrage
  • les résultats restent convenables si les zones de
    forte réflexion restent petites sur l image

38
Commentaires (2)
  • Intérêts par rapport au tracé de chemin
  • basé sur le tracé de rayons
  • doit pouvoir être accéléré par des techniques
    similaires
  • écriture  fine  du code
  • distribution des calculs
  • Mais nombreux problèmes
  • essentiellement liés au postulat de cohérence

39
(No Transcript)
40
Commentaires (3)
  • SSE
  • a priori difficulté de trouver des rayons ayant
    une trajectoire proche
  • mais
  • applicable aux rayons primaires
  • applicable aux rayons d ombrage de niveau 1
    (PTNE)
  • envisager une bufferisation des rayons ?
  • Distribution
  • efficacité liée à la cohérence de traversée des
    arbres BSP
  • perdue du fait des réflexions  aléatoires 
  • envisager une bufferisation des rayons (bis) ?
Write a Comment
User Comments (0)
About PowerShow.com