Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAllard Pottier Modifié depuis plus de 9 années
1
Synthèse réaliste d’image par raytracing et photon mapping
Présentation de toxic Synthèse réaliste d’image par raytracing et photon mapping François BEAUNE 12 janvier 2004
2
Plan de la présentation
Introduction Introduction au photon mapping Construction de la photon map Rendu final de la scène Résultats Conclusions
3
Introduction Brique de projet de 3ème année. toxic :
En développement depuis début 2003. lignes de code source. C++ moderne, code portable. Projet open source sous licence GPL. Disponible sur SourceForge.
4
Introduction Raytracing stochastique pur :
5
Introduction Illumination globale :
6
Introduction Quelques techniques d’illumination globale Path tracing
James T. Kajiya, 1986. Extension immédiate du raytracing. Principe : Échantillonnage de la fonction inconnue (la distribution de la lumière) par des rayons distribués de façon stochastique dans l’ensemble des chemins lumineux possibles. Valeur finale d’un pixel obtenue par moyennage d’un grand nombre d’échantillons (de 101 à 105).
7
Introduction Quelques techniques d’illumination globale Path tracing
Avantages Résoud intégralement l’équation de rendu. Aucune contrainte sur les BRDF et la géométrie. Implémentation triviale. Inconvénients Temps de calcul prohibitif. (Presque) toujours du bruit dans la solution.
8
Introduction Quelques techniques d’illumination globale
Éléments finis (radiosité) Goral, Torrance, Greenberg, Battaile, 1984. Principe : Décomposition de toutes les surfaces de la scène en patches (surfaces élémentaires). Calcul des échanges de lumière entre tous les patches. Résolution d’un système d’équations linéaires.
9
Introduction Quelques techniques d’illumination globale
Éléments finis (radiosité) Avantages Jamais de bruit dans la solution. Solution indépendante de la position de l’observateur. Inconvénients Nécessite la décomposition de chaque surface en patches (pas toujours efficace, et parfois impossible). Inapplicable aux scènes complexes (occupation mémoire et temps de calcul trop importants).
10
Introduction au photon mapping
Le photon mapping Henrik Wann Jensen. Développé durant son PhD. en Première publication en Principe simple : diviser le raytracing en deux phases distinctes : Émission de photons depuis les sources lumineuses et propagation à travers la scène. Collecte des photons pour le rendu final. Implémentation relativement aisée.
11
Introduction au photon mapping
Phase 1 : construction de la photon map Émission de photons depuis les sources lumineuses. Propagation des photons à travers la scène. Phase 2 : rendu final de la scène Raytracing distribué (stochastique). Sampling de la photon map.
12
Introduction au photon mapping
Position dans l’espace 3 flottants 32 bits (x, y, z) : 12 octets. Puissance transportée Exprimée avec l’exposant commun de Ward (Ward’s shared-exponent RGB format). 4 entiers 8 bits (r, g, b, e) : 4 octets. D’autres informations moins importantes. En pratique, 1 photon = 20 octets.
13
Construction de la photon map
Sources lumineuses parfaitement diffuses. Pour chaque source lumineuse : Émission aléatoire de N photons. Pphoton = Psource / N. N est un facteur de qualité (104 ≤ N ≤ 106).
14
Construction de la photon map
Pour chaque photon émis : Propagation du photon à travers la scène jusqu’à perte ou absorption.
15
Construction de la photon map
Interaction photon / surface diffuse idéale : Stockage du photon à la suite du tableau de photons. Selon probabilité p = réflectance surface ρ : Réflexion diffuse : Émission d’un nouveau photon depuis le point d’impact. Pphoton émis = Pphoton incident Absorption : fin de la propagation du photon.
16
Construction de la photon map
Interaction photon / surface spéculaire idéale : Puissance du photon multipliée par la réflectance de la surface. Réflexion / réfraction du photon par rapport à la normale à la surface.
17
Construction de la photon map
Remarques : L’interaction photon / surface peut être résolue : quelque soit la surface, pourvue que l’intersection rayon / surface puisse être calculée, quelque soit la BRDF de la surface. Les photons sont stockés dans un tableau linéaire à une dimension.
18
Construction de la photon map
Phase d’émission et de propagation Tableau linéaire de photons. Objectif : estimation de densité de photons Recherche des M plus proches photons d’un point donné de l’espace. Tableau linéaire très peu efficace. Structure plus adaptée : le kd-tree.
19
Construction de la photon map
Le kd-tree Arbre binaire multidimensionnel (ici de dimension 3). Chaque nœud partitionne une dimension. Recherche des M plus proches photons parmi N : O(M + log N) [1] en moyenne. Occupation mémoire : O(N). Représentation extrèmement compacte possible. [1] Jon L. Bentley. “Multidimensional binary search trees in database applications.” IEEE Trans. on Soft. Eng. 5(4): (July 1979).
20
Rendu final de la scène Raytracing récursif stochastique
Récursif (Turner Whitted, 1980) Réflexion Réfraction Stochastique ou distribué (Robert L. Cook, 1984) : Ombres douces Profondeur de champ Flou de mouvement Réflexions floues, translucence
21
Rendu final de la scène Lancé de rayons depuis l’observateur à travers chaque pixel de l’image (rayons primaires). Détermination de l’intersection rayon / surface. À chaque point d’intersection rayon / surface : Surface spéculaire : Lancé de rayons réfléchis / réfractés (rayons secondaires). Surface diffuse : Calcul de l’illumination directe Sampling des sources lumineuses (shadow rays). Calcul de l’illumination indirecte Estimation de la densité de photons au point d’intersection → « Visualisation directe » de la photon map.
22
Rendu final de la scène Photons Rayons primaires Rayons secondaires
Shadow rays
23
Rendu final de la scène Illumination directe seulement :
Temps de calcul (rendu) : 1 minute 40 secondes
24
Rendu final de la scène Illumination indirecte seulement (visualisation directe de la photon map) : Temps de calcul (rendu) : 20 secondes
25
Rendu final de la scène Constat : Solution : C’est joli mais…
Photon map trop grossière pour une visualisation directe. Solution : Ajout d’un niveau « d’indirection » : le final gathering.
26
Rendu final de la scène Le final gathering
Sampling de l’hémisphère au point d’intersection rayon primaire / surface : Lancé de rayons depuis le point d’intersection. Intersection des rayons avec la scène. Estimation de la densité de photons à ces nouveaux points d’intersection. Illumination indirecte finale = moyenne de chaque estimation de densité à ces nouveaux points.
27
Rendu final de la scène Le final gathering
Estimation en ce point de la densité de photons grâce à la photon map
28
Rendu de la scène Illumination indirecte seulement (final gathering) :
Temps de calcul (rendu) : 18 minutes 46 secondes
29
Rendu de la scène Illumination globale :
Temps de calcul (rendu) : 20 minutes
30
Résultats Rendu de référence (Cornell Univ.) Rendu toxic
31
Résultats Ce modèle est la propriété de François Gilliot.
32
Résultats Ce modèle provient du site Image-based 3D Models Archive, Télécom Paris ( Utilisé avec la permission de Carlos Hernández Esteban et Francis Schmitt.
33
Résultats Ce modèle provient du site Image-based 3D Models Archive, Télécom Paris ( Utilisé avec la permission de Carlos Hernández Esteban et Francis Schmitt.
34
Conclusions Puissance du photon mapping Robustesse Simplicité
Toute géométrie Toute BRDF Simplicité Performances Extensibilité
35
Conclusions Extensions possibles du photon mapping Caustiques
Caustiques volumétriques Milieux non-homogènes (participating media) Sub Surface Scattering
36
Résultats
37
Bonus : quelques images générées par Henrik Wann Jensen (Dali)
Cette image provient du site de Henrik Wann Jensen (
38
Bonus : quelques images générées par Henrik Wann Jensen (Dali)
Cette image provient du site de Henrik Wann Jensen (
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.