Synthse dimages par lancer de rayons Concepts algorithmes
- Slides: 90
Synthèse d’images par lancer de rayons Concepts, algorithmes, optimisations DEA IIL - Cours IM 4
Lancer de Rayons Modèle de base DEA IIL - Cours IM 4
Objectifs Elimination des parties cachées [Appel 68] l l Travail dans l’espace objet. Indépendant de la géométrie. Détermination de l’éclairage [Witted 80] l l l Ombres propres. Ombres portées. Inter-réflexions lumineuses. DEA IIL - Cours IM 4
Principe géométrique Ligne œil-pixel l Objet visible Rayons lumineux l Couleur du pixel Impossible de suivre tous les rayons lumineux Trajet inverse des rayons lumineux DEA IIL - Cours IM 4 Pixel Plan image
Modèle d’éclairage Arbre de rayons Pixel Rose Lumière Jaune Rose Pixel Lumière Bleu Lumière DEA IIL - Cours IM 4 Plan image
Modèle d’éclairage Intensité lumineuse sur un rayon l l Modèle local Reflets spéculaires IR= ILocal+ ks. IRefl+ kt. ITrans DEA IIL - Cours IM 4
Modèle d’éclairage Modèle Local : Calcul des ombres portées Point éclairé DEA IIL - Cours IM 4 Point dans l'ombre
Modèle d’éclairage Modèle Local : Modèle de Phong [Phong 75] DEA IIL - Cours IM 4
Modèle d’éclairage Reflets spéculaires : Calcul du rayon réfléchi DEA IIL - Cours IM 4
Modèle d’éclairage Reflets spéculaires : Calcul du rayon réfracté Utilisation de la loi de Descarte : DEA IIL - Cours IM 4
Algorithme Couleur LR(origine, direction, profondeur) -- origine et direction sont des vecteurs de R 3 Si profondeur>Max_Prof Alors couleur=Noir; -- choix discutable mais que mettre ? Sinon --Calcul et tri des intersections Si intersection Alors Calcul du Ilocal (C_locale); Calcul du rayon réfléchi (D_réfléchi); Calcul du rayon réfracté (D_réfracté); C_réfléchi = LR(Pt-inter, D-réfléchi, profondeur+1); C_ réfracté = LR(Pt-inter, D-réfracté, profondeur+1); couleur = Somme des 3 composantes couleurs; Sinon couleur = couleur de fond; DEA IIL - Cours IM 4
Résultat DEA IIL - Cours IM 4
Critiques du Lancer de Rayons Pas d’éclairage indirect l Les sources sont visées explicitement Miroir DEA IIL - Cours IM 4
Critiques du Lancer de Rayons Eclairage diffus mal représenté l Seules deux directions sont prises en compte Platre DEA IIL - Cours IM 4
Critiques du Lancer de Rayons Aliassage et disparition de petits objets DEA IIL - Cours IM 4
Critiques du Lancer de Rayons Temps de calcul important l l Intersections Nombre de rayons Illumination calculée dans l’espace image l l Stockage au niveau du pixel Recalculée pour chaque image DEA IIL - Cours IM 4
Lancer de Rayons distribués Amélioration du modèle d’éclairage pour le lancer de rayons DEA IIL - Cours IM 4
L’équation générale du rendu Equation des intensités [Kajiya 86] X" X X" Permet de déterminer le flux entrant directionnel en X X' DEA IIL - Cours IM 4
L’équation générale du rendu Approximation en Lancer de Rayons XR X X" X' DEA IIL - Cours IM 4
L’équation générale du rendu Approximation en Lancer de Rayons Un nombre trop réduit de directions d’éclairage est pris en compte. Augmentation du nombre de directions par simulation de photons distribués sur les pixels et dans l’espace. DEA IIL - Cours IM 4
Le lancer de rayons distribués Objectifs : [Shirley 92] l réduire l’aliassage de l’image l l l Plusieurs rayons par pixel Couleur du pixel = somme pondérée des rayons Augmenter la précision de la simulation l l Echantillonnage stochastique de l’espace des directions Intégration de Monte-Carlo DEA IIL - Cours IM 4
Echantillonnage des pixels Recouvrement partiel d’un pixel Projection théorique 1 rayon au centre du pixel : Aliassage important DEA IIL - Cours IM 4
Echantillonnage des pixels Répartition de N 2 rayons sur un pixel Distribution uniforme Simple mais pas toujours efficace DEA IIL - Cours IM 4
Echantillonnage des pixels Répartition de N 2 rayons sur un pixel Distribution aléatoire dans le sous-pixel Plus complexe mais plus facilement contrôlable DEA IIL - Cours IM 4
Echantillonnage des pixels 1 rayon par pixel DEA IIL - Cours IM 4 4 rayons par pixel
Intégration de Monte-Carlo Méthode statistique d’approximation de la valeur d’une intégrale : La valeur de l’intégrale I d’une fonction f sur un espace S, peut être approchée en utilisant un ensemble de N points aléatoires xi distribués selon une probabilité p. avec DEA IIL - Cours IM 4
Intégration de Monte-Carlo Choix de la fonction de densité : Intégrale de l’équation du rendu l Utilisation de la réflectance Loi de conservation de l’énergie Coefficient normalisateur Probabilité utilisée DEA IIL - Cours IM 4
Le lancer de rayons distribués Principe N photons sont suivis dans la scène Cumul de l’énergie Choix d’une direction et évaluation de p(x) DEA IIL - Cours IM 4
Le lancer de rayons distribués Echantillonnage explicite des sources Cumul de l’énergie Choix d’une direction Echantillonnage des et évaluation de p(x) sources DEA IIL - Cours IM 4
Le lancer de rayons distribués Boite de Cornell 49 rayons par pixel DEA IIL - Cours IM 4
Le lancer de rayons distribués Boite de Cornell 625 rayons par pixel DEA IIL - Cours IM 4
Le lancer de rayons distribués Boite de Cornell 10 000 rayons DEA IIL - Cours IM 4
Le lancer de rayons distribués Boite de Cornell 100 000 rayons DEA IIL - Cours IM 4
Application à la simulation Image réelle DEA IIL - Cours IM 4
Application à la simulation 1600 rayons par pixel DEA IIL - Cours IM 4
Application à la simulation 10 000 rayons par pixel DEA IIL - Cours IM 4
Analyse et critiques Très bon outil pour la simulation l Phénomène lumineux complexes Réfraction Diffraction Interférences l Phénomène corpusculaire et ondulatoire Simulation physique (choc, fission …) Simulation acoustique Simulation sismique DEA IIL - Cours IM 4
Analyse et critiques Problèmes et limitation l Temps de calcul prohibitif peu de photons => solution très bruitée rapide nombreux photons => solution peu bruitée lente l Précision de la simulation l l Choix de la fonction de distribution critique Contrôle de l’erreur malaisé DEA IIL - Cours IM 4
Lancer de Faisceaux Réduction des problèmes d’aliassage pour le lancer de rayons DEA IIL - Cours IM 4
Le lancer de faisceau Objectifs : l réduire l’aliassage de l’image l l Echantillonner correctement l’écran Peu de rayons dans le vide De nombreux rayons dans les régions image complexes Utiliser la cohérence de la scène et des rayons l l De nombreux rayons suivent des chemins voisins Un objet recouvrant un pixel peut recouvrir les voisins DEA IIL - Cours IM 4
Le lancer de faisceau Familles de solutions : l Ensemble de rayons d’épaisseur infinitésimale [Sinya 87] l Algorithmes fondés sur des rayons volumiques l l l Cônes Pyramides [Amanatides 84] [Heckbert 84] Algorithmes hybrides (1) + (2) [Marks 88], [Ghanzanfarpour 92] DEA IIL - Cours IM 4
Le lancer de faisceau Objet intersecté F Le faisceau primaire rencontre un seul polygone DEA IIL - Cours IM 4 Faisceau La couleur des pixels est celle de l ’objet
Le lancer de faisceau Le faisceau primaire rencontre un ou plusieurs polygones partiellement Couleur des pixels de l'écran ? DEA IIL - Cours IM 4
Le lancer de faisceau Quatre sous faisceaux Deux solutions : - Subdivision de l'écran - Utilisation d'un L. R DEA IIL - Cours IM 4
Le lancer de faisceau Critère de choix entre une subdivision et un LR : F nombre total de polygones dans la scène D profondeur de la scène Fw nombre de polygones dans le faisceau Ew largeur de l'écran en pixels DEA IIL - Cours IM 4
Intersection scène-faisceau Positionnement d'un objet par rapport au faisceau Intersection arêtes faisceau-plan polygones + intersections 2 D entre polygones Subdivision spatiale régulière Subdivision régulière de la boite englobante DEA IIL - Cours IM 4 Optimisation
Traitement de la réflexion La réflexion est une transformation linéaire Objet réfléchissant Faisceau réfléchi Calcul et traitement du faisceau réfléchi F Faisceau primaire DEA IIL - Cours IM 4
Traitement de la réfraction La réfraction n’est pas une transformation linéaire Calcul du faisceau réfracté et de sa courbure Rayons réfractés Ecran Polygone réfractant DEA IIL - Cours IM 4 P
Traitement des ombres portées Traitées par un LR conventionnel ou par LF Faisceau d’ombre vide DEA IIL - Cours IM 4 Faisceau d’ombre totalement bloqué Faisceau d’ombre partiellement bloqué
Résultats Image calculée par lancer de faisceau DEA IIL - Cours IM 4
Résultats Subdivisions des faisceaux primaires DEA IIL - Cours IM 4
Résultat Subdivisions des faisceaux d’ombre DEA IIL - Cours IM 4
Résultat Subdivisions des faisceaux réfléchis DEA IIL - Cours IM 4
Analyse Lancer de rayons distribués : pénombre bruitée. Lancer de faisceaux : pénombre correcte. DEA IIL - Cours IM 4
Analyse DEA IIL - Cours IM 4
Analyse Lancer de rayons : Disparition de petits objets. Lancer de faisceaux : pas de perte de précision. DEA IIL - Cours IM 4
Bilan DEA IIL - Cours IM 4
Pause café, bière, whisky … et plus si affinités DEA IIL - Cours IM 4
Accélération du Lancer de Rayons Structures de données, algorithmes et matériels spécifiques. DEA IIL - Cours IM 4
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 Primitives plus simple et arbre CSG Réduction du nombre d’intersections calculées Traitement matériel des intersections DEA IIL - Cours IM 4
Techniques d’accélération Intersections plus rapides Intersections Objet/rayon plus rapides Scène structurée (CSG) DEA IIL - Cours IM 4 Généralisation de la notion de rayons Intersections Objet/rayon moins nomb. Volumes englobants Division spatiale Codage des objets Architecture dédiée Moins de rayons Techniques directionnelles Profondeur de l’arbre adaptatif Méthodes stat. Cohérence Cônes d’ombre Beam tracing Pencil tracing LR discret
Volumes englobant Objectif : l l Diminuer le nombre d’intersections rayon-objet Accélérer la détection de non-intersection Principe : l l Construction d’une hiérarchie de boites englobantes Parcours de l’arbre pour le calcul d’intersection DEA IIL - Cours IM 4
Volumes englobant Construction de la hiérarchie : l En général, construction montante Scène Boite. Cyl Lumière Robot. G Cylindres DEA IIL - Cours IM 4 D 2 R 2 Robot. D
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 DEA IIL - Cours IM 4 D 2 R 2 Robot. D
Volumes englobant Avantages : l l Simplicité de mise en œuvre Bonne efficacité Inconvénients : l Précision des volumes englobants l l Slabs, boite min-max, sphére Difficulté de construction (surtout si scène fermée) DEA IIL - Cours IM 4
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 Construction d’une grille fixe ou adaptative Parcours incrémental de la grille DEA IIL - Cours IM 4
Subdivision régulière Principe : l l l 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 DEA IIL - Cours IM 4
Subdivision régulière Découpage de la scène en voxels Liste d’objets contenus associée à chaque voxel DEA IIL - Cours IM 4
Subdivision régulière Propagation du rayon Passage au voxel suivant Détermination du voxel initial Intersection dans le voxel Dès qu’une intersection est trouvée, arrêt de la propagation DEA IIL - Cours IM 4
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 Répartition hétérogène des objets dans les voxels Coût de stockage important DEA IIL - Cours IM 4
Octree Objectif : l Diminuer le coût de propagation d ’un rayon dans un espace discret. Principe : l l l Subdivision irrégulière de la scène. Construction descendante des voxels. Organisation en arbre octal indexé DEA IIL - Cours IM 4
Octree Construction descendante Subdivision Estimation du contenu du voxel Initialisation : Boite englobante Liste d’objets contenus associée à chaque voxel DEA IIL - Cours IM 4
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 DEA IIL - Cours IM 4 (rox, roy, roz) (rdx, rdy, rdz)
Octree Représentation et stockage de l’arbre DEA IIL - Cours IM 4
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} DEA IIL - Cours IM 4
Traversée de l’octree Déterminer le premier nœud : Détermination du plan d’entrée Z Y Tzo X Tyo DEA IIL - Cours IM 4
Traversée de l’octree Plan d’entrée XY: Plan d’entrée XZ: Plan d’entrée YZ: DEA IIL - Cours IM 4 2 6 0 4 1 5 3 2 1 0
Traversée de l’octree Détermination du nœud d’entrée Calcul de Txm, Tym, Tzm Y Ty 1 Txm = ( Tx 0 + Tx 1 ) / 2 Tym = ( Ty 0 + Ty 1 ) / 2 Tym Tzm = ( Tz 0 + Tz 1 ) / 2 X Tyo DEA IIL - Cours IM 4
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 X DEA IIL - Cours IM 4 Y Txm < Tzo Tym Tz X Nœud 4 Y Txm > Tzo 0 0 X
Traversée de l’octree Plan Condition Bit affecté 011 010 2 001 000 DEA IIL - Cours IM 4 0 3 1 6 4 7 110 5 100
Traversée de l’octree Détermination du plan de sortie Z Y Tx 1 Ty 1 X DEA IIL - Cours IM 4
Traversée de l’octree Déterminer le nœud suivant 3 2 7 6 1 0 DEA IIL - Cours IM 4 5 4
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 DEA IIL - Cours IM 4
Généralisation pour tout rayon Problème de numérotation des nœuds r 2 0 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 DEA IIL - Cours IM 4 7 5 f(i) = i XOR a avec a = 4. Sx + 2. Sy + Sz Se = 1 si de > 0 Se = 0 si de < 0
Octree Avantages : l l Meilleure adaptation de la subdivision à la scène. Détermination efficace de la suite de voxels. Inconvénient : l l Efficacité inversement proportionnelle à la profondeur. Temps d’initialisation. DEA IIL - Cours IM 4
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 Circuit AR 250 de Art Technologies DEA IIL - Cours IM 4
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 © 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 DEA IIL - Cours IM 4
Processeur spécifique AR 250 l l © 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 … DEA IIL - Cours IM 4
La machine Render. Drive Possibilités l l l 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 DEA IIL - Cours IM 4
Ouf !!! DEA IIL - Cours IM 4
- Banque dimages phonologie
- Synthse
- Synthse
- Synthse
- First manmade fiber
- Hilifuges
- Knosas pils leģendārais valdnieks bija
- Lancer monument
- échauffement athlétisme cycle 3
- Starry night tupac poem
- Lancer translation
- Função par e impar
- Tri par tas
- Maria chapdelaine résumé par chapitre
- Guidage en rotation par roulement
- Saf par
- Dibawah ini yang tidak temasuk security vpn adalah
- Infrence
- Bibliotka
- Voyageurs national par
- īss alegorisks vēstījums ar pamācošu saturu
- šķidruma mehānisku noliešanu no nogulsnēm sauc par
- Veux tu briser du péché le pouvoir parole
- Revelation 4 nasb
- Kartaki
- Par oxidação redução
- Approche par les forces
- Classification duparc alnot
- Par değeri hesaplama
- Langkah-langkah par
- Retained earnings accumulated deficit
- La vieillesse philippe noiret
- Par all-flash
- Système de graissage
- Le pain de ta vie
- Maizes vēsture latvijā
- Ilahi teri chokhat par
- Parform review
- Homofoni i homografi
- Score de propension
- Par ordenado
- Brille o jesus
- Tirez pas sur le scarabée fiche de lecture
- Scoring a hole in the prescribed set of shots is called
- Dosage en retour exemple
- Par değeri hesaplama
- Habilidade ef06ma16
- What is par 3
- Pretleņķi
- Aliment mis en évidence par l'eau iodée
- Domugraudi par tēti
- Carnetloomen
- 100 é impar ou par
- Akrostihs dzejolis
- Vieillissement par le bas
- Pronoms personnels conjoints
- Biomagnetismo
- Conception et fabrication assistées par ordinateur
- Approche par les forces
- Bac pro commerce par correspondance
- Prise de constantinople par les croisés
- Par inerte
- Bénéfice par action
- Funcion del par craneal 11
- Funkcijas saknes
- Moodle.par
- Moodle par
- Organisko savienojumu daudzveidības iemesli
- Recherche par image
- Jesus par ton sang precieux enleve mon iniquite
- Par les cieux
- L'amour vu par les enfants
- Par ton corps tu nous donnes la vie
- Par form lpdr
- Une chaine alimentaire commence toujours par
- Comparaison rouge comme
- Par panel bcps
- Função par e impar
- Allez par toute la terre annoncer l'évangile aux nations
- Questions d’entretien rédacteur
- Je viens à ton autel offrande volontaire
- 2 mots par jour
- Função impar
- Par ou impar python
- Sakārtotas izlases
- Cont par thor jelentése
- Redon non aspiratif
- Recherche par image
- Dessin technique soudure
- Paizo sql
- Glagoli zbivanja primjeri