Rendu raliste en synthse dimages Le lancer de

  • Slides: 41
Download presentation
Rendu réaliste en synthèse d’images. Le lancer de rayons DESS I 2 N -

Rendu réaliste en synthèse d’images. Le lancer de rayons DESS I 2 N - 1999 -2000 - Lancer de rayons

Accélération du Lancer de Rayons Structures de données, algorithmes et matériels spécifiques. DESS I

Accélération du Lancer de Rayons Structures de données, algorithmes et matériels spécifiques. DESS I 2 N - 1999 -2000 - Lancer de rayons

Organisation Accélération du lancer de rayons l l DESS I 2 N Objectifs Hiérarchie

Organisation Accélération du lancer de rayons l l DESS I 2 N Objectifs Hiérarchie de volumes englobants Subdivision spatiale régulière et irrégulière Accélération matérielle - 1999 -2000 - Lancer de rayons

Techniques d’accélération Réduction du nombre de rayons lancés l l Utilisation de la cohérence

Techniques d’accélération Réduction du nombre de rayons lancés l l Utilisation de la cohérence spatiale Entités plus générales que le rayon Réduction du coût des intersections l l l DESS I 2 N Primitives plus simple et arbre CSG Réduction du nombre d’intersections calculées Traitement matériel des intersections - 1999 -2000 - Lancer de rayons

Techniques d’accélération Moins de rayons Intersections plus rapides Intersections Objet/rayon plus rapides Scène structurée

Techniques d’accélération Moins de rayons Intersections plus rapides Intersections Objet/rayon plus rapides Scène structurée (CSG) Intersections Objet/rayon moins nomb. Volumes englobants Division spatiale Codage des objets Architecture dédiée DESS I 2 N Généralisation de la notion de rayons Techniques directionnelles - Profondeur de l’arbre adaptatif Méthodes stat. Cohérence Cônes d’ombre 1999 -2000 - Beam tracing Pencil tracing LR discret Lancer de rayons

Volumes englobant Objectif : l l Diminuer le nombre d’intersections rayon-objet Accélérer la détection

Volumes englobant Objectif : l l Diminuer le nombre d’intersections rayon-objet Accélérer la détection de non-intersection Principe : l l DESS I 2 N Construction d’une hiérarchie de boites englobantes Parcours de l’arbre pour le calcul d’intersection - 1999 -2000 - Lancer de rayons

Volumes englobant Construction de la hiérarchie : l En général, construction montante Scène Boite.

Volumes englobant Construction de la hiérarchie : l En général, construction montante Scène Boite. Cyl Lumière Robot. G Cylindres DESS I 2 N - 1999 -2000 - Robot. D D 2 R 2 Lancer de rayons

Volumes englobant Utilisation de la hiérarchie : l En général, en profondeur d’abord Scène

Volumes englobant Utilisation de la hiérarchie : l En général, en profondeur d’abord Scène Boite. Cyl Lumière Robot. G Cylindres DESS I 2 N - 1999 -2000 - Robot. D D 2 R 2 Lancer de rayons

Volumes englobant Avantages : l l Simplicité de mise en œuvre Bonne efficacité Inconvénients

Volumes englobant Avantages : l l Simplicité de mise en œuvre Bonne efficacité Inconvénients : l Précision des volumes englobants l l DESS I 2 N Slabs, boite min-max, sphére Difficulté de construction (surtout si scène fermée) - 1999 -2000 - Lancer de rayons

Subdivision spatiale Objectif : l l l Diminuer le nombre d’intersections rayon-objet Accélérer la

Subdivision spatiale Objectif : l l l Diminuer le nombre d’intersections rayon-objet Accélérer la détection de non-intersection Accélérer la détection d ’une intersection Principe : l l DESS I 2 N Construction d’une grille fixe ou adaptative Parcours incrémental de la grille - 1999 -2000 - Lancer de rayons

Subdivision régulière Principe : l l l DESS I 2 N L’espace est subdivisé

Subdivision régulière Principe : l l l DESS I 2 N L’espace est subdivisé en une grille de N 3 Les rayons sont considérés comme des droites discrètes de N 3 Utilisation d’algorithmes de tracé de droites discrètes pour le suivi du rayon - 1999 -2000 - Lancer de rayons

Subdivision régulière Découpage de la scène en voxels Liste d’objets contenus associée à chaque

Subdivision régulière Découpage de la scène en voxels Liste d’objets contenus associée à chaque voxel DESS I 2 N - 1999 -2000 - Lancer de rayons

Subdivision régulière Propagation du rayon Détermination Passage au voxel dule suivant voxel Intersection dans

Subdivision régulière Propagation du rayon Détermination Passage au voxel dule suivant voxel Intersection dans voxelinitial Dès qu’une intersection est trouvée, arrêt de la propagation DESS I 2 N - 1999 -2000 - Lancer de rayons

Subdivision régulière Avantages : l l Construction facile de la grille Utilisation de calculs

Subdivision régulière Avantages : l l Construction facile de la grille Utilisation de calculs entiers pour la propagation des rayons => ASIC ? Inconvénients : l l DESS I 2 N Répartition hétérogène des objets dans les voxels Coût de stockage important - 1999 -2000 - Lancer de rayons

Octree Objectif : l Diminuer le coût de propagation d ’un rayon dans un

Octree Objectif : l Diminuer le coût de propagation d ’un rayon dans un espace discret. Principe : l l l DESS I 2 N Subdivision irrégulière de la scène. Construction descendante des voxels. Organisation en arbre octal indexé - 1999 -2000 - Lancer de rayons

Octree Construction descendante Initialisationdu: Boite Estimation Subdivision contenu englobante du voxel Liste d’objets contenus

Octree Construction descendante Initialisationdu: Boite Estimation Subdivision contenu englobante du voxel Liste d’objets contenus associée à chaque voxel DESS I 2 N - 1999 -2000 - Lancer de rayons

Octree Représentation du rayon l Demi-droite paramétrique orientée x(t)=rox + t*rdx y(t)=roy + t*rdy

Octree Représentation du rayon l Demi-droite paramétrique orientée x(t)=rox + t*rdx y(t)=roy + t*rdy z(t)=roz + t*rdz DESS I 2 N (rox, roy, roz) - 1999 -2000 - (rdx, rdy, rdz) Lancer de rayons

Octree Représentation et stockage de l’arbre DESS I 2 N - 1999 -2000 -

Octree Représentation et stockage de l’arbre DESS I 2 N - 1999 -2000 - Lancer de rayons

Traversée de l’octree Hypothèse simplificatrice l La direction du rayon est positive Z Y

Traversée de l’octree Hypothèse simplificatrice l La direction du rayon est positive Z Y y=y 1 y=y 0 x=x 0 x(t)=rox + t*rdx y(t)=roy + t*rdy z(t)=roz + t*rdz On calcule 6 paramètres pour le nœud q x=x 1 X tx (q) = (x (q) - rox)/rdx ty (q) = (y (q) - roy)/rdy tz (q) = (z (q) - roz)/rdz i i i i={0, 1} DESS I 2 N - 1999 -2000 - Lancer de rayons

Traversée de l’octree Déterminer le premier nœud : Détermination du plan d’entrée Z Y

Traversée de l’octree Déterminer le premier nœud : Détermination du plan d’entrée Z Y Tzo X Tyo DESS I 2 N - 1999 -2000 - Lancer de rayons

Traversée de l’octree Plan d’entrée XY: Plan d’entrée XZ: Plan d’entrée YZ: DESS I

Traversée de l’octree Plan d’entrée XY: Plan d’entrée XZ: Plan d’entrée YZ: DESS I 2 N - 1999 -2000 2 6 0 4 1 5 3 2 1 0 - Lancer de rayons

Traversée de l’octree Détermination du nœud d’entrée Y Calcul de Txm, Tym, Tzm Ty

Traversée de l’octree Détermination du nœud d’entrée Y Calcul de Txm, Tym, Tzm Ty 1 Txm = ( Tx 0 + Tx 1 ) / 2 Tym = ( Ty 0 + Ty 1 ) / 2 Tym Tzm = ( Tz 0 + Tz 1 ) / 2 X Tyo DESS I 2 N - 1999 -2000 - Lancer de rayons

Traversée de l’octree Nœud 2 Tym < Tzo Y Nœud 6 Txm > Tzo

Traversée de l’octree Nœud 2 Tym < Tzo Y Nœud 6 Txm > Tzo Tym < Tzo Txm < Tzo Tz Tym Y Tz 0 Txm Tym X Nœud 0 Tym > Tzo 0 - Ty m Txm Tz 0 X DESS I 2 N Y Txm < Tzo Tym Tz X Nœud 4 Y Txm > Tzo 0 1999 -2000 - X Lancer de rayons

Traversée de l’octree Plan Condition Bit affecté 011 010 2 001 000 DESS I

Traversée de l’octree Plan Condition Bit affecté 011 010 2 001 000 DESS I 2 N - 1999 -2000 - 0 3 1 6 4 7 110 5 100 Lancer de rayons

Traversée de l’octree Détermination du plan de sortie Z Y Tx 1 Ty 1

Traversée de l’octree Détermination du plan de sortie Z Y Tx 1 Ty 1 X DESS I 2 N - 1999 -2000 - Lancer de rayons

Traversée de l’octree Déterminer le nœud suivant 3 2 7 6 1 0 DESS

Traversée de l’octree Déterminer le nœud suivant 3 2 7 6 1 0 DESS I 2 N - 1999 -2000 - 5 4 Lancer de rayons

Généralisation pour tout rayon si rdx < 0 alors r’dx = - rdx r’ox

Généralisation pour tout rayon si rdx < 0 alors r’dx = - rdx r’ox = - rox si rdy < 0 alors r’dy = - rdy r’oy = - roy si rdz < 0 alors r’dz = - rdz r’oz = - roz DESS I 2 N - 1999 -2000 - Lancer de rayons

Généralisation pour tout rayon Problème de numérotation des nœuds r 2 0 DESS I

Généralisation pour tout rayon Problème de numérotation des nœuds r 2 0 DESS I 2 N r’ 2 6 numérotation si rdx<0: 4, 5, 6, 7, 0, 1, 2, 3 numérotation si rdy<0: 2, 3, 0, 1, 6, 7, 4, 5 numérotation si rdz<0: 1, 0, 3, 2, 5, 4, 7, 6 0 4 Pour déterminer le nouveau numéro: 3 1 6 4 f(i) = i XOR a 7 avec a = 4. Sx + 2. Sy + Sz Se = 1 si de > 0 5 Se = 0 si de < 0 - 1999 -2000 - Lancer de rayons

Octree Avantages : l l Meilleure adaptation de la subdivision à la scène. Détermination

Octree Avantages : l l Meilleure adaptation de la subdivision à la scène. Détermination efficace de la suite de voxels. Inconvénient : l l DESS I 2 N Efficacité inversement proportionnelle à la profondeur. Temps d’initialisation. - 1999 -2000 - Lancer de rayons

Matériel spécialisé De nombreuses machines parallèles l l Pixel Plane Clusters Paragon Hyper-cube et

Matériel spécialisé De nombreuses machines parallèles l l Pixel Plane Clusters Paragon Hyper-cube et Hyper-tore Très peu de circuits spécifiques (1? ) l DESS I 2 N Circuit AR 250 de Art Technologies - 1999 -2000 - Lancer de rayons

Circuits spécifiques AR 250 Ray Tracing Chip l l l Développé à partir de

Circuits spécifiques AR 250 Ray Tracing Chip l l l Développé à partir de 1992 Spécifications obscures Utilise l’API Render. Man de Pixar Render. Drive l l l DESS I 2 N © 1997 Advanced Rendering Technology Ltd Machine dédiée au lancé de rayons de 4 à 2048 AR 250 Pouvant être pilotée à partir de 3 DSMax R 2 - 1999 -2000 - Lancer de rayons

Processeur spécifique AR 250 l l DESS I 2 N © 1997 Advanced Rendering

Processeur spécifique AR 250 l l DESS I 2 N © 1997 Advanced Rendering Technology Ltd Processeur superscalaire dédié au lancer de rayons 80 000 de tests d’intersection par seconde (40 fois un Pentium II d’après le constructeur) Gestion matérielle des intersections et de l’ombrage A suivre … - 1999 -2000 - Lancer de rayons

La machine Render. Drive Possibilités l l l DESS I 2 N Programmable par

La machine Render. Drive Possibilités l l l DESS I 2 N Programmable par Render. Man Gestion automatiques des ombres portées, des réflexions et réfractions Sources de lumière : ponctuelles, directionnelles, spots, surfaciques. Mapping : texture, bump, environnement Géométrie : polygones, quadriques, NURBS - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons

DESS I 2 N - 1999 -2000 - Lancer de rayons