La synthèse d'imagesigm.univ-mlv.fr/~biri/Enseignement/MII2/TDPdf/Lancer_de...Amanatides & Woo...

93
LA SYNTHÈSE D'IMAGES II. Lancers de rayons & compagnie

Transcript of La synthèse d'imagesigm.univ-mlv.fr/~biri/Enseignement/MII2/TDPdf/Lancer_de...Amanatides & Woo...

  • LA SYNTHÈSE D'IMAGES

    II. Lancers de rayons & compagnie

  • 2

    Plan du cours

    I. Techniques d’ombrage

    II. Lancers de rayons et consort

    A. L’algorithmique des lancers de rayon

    B. Suivis de rayons

    C. Suivis de lumière

    D. Techniques bi directionnelles

    E. Comparaisons

    III. Photon mapping

    IV. Radiosité

    V. Simple diffusion & milieux participants

    VI. Techniques hybrides

  • LA SYNTHÈSE D'IMAGES

    II. Lancers de rayons & compagnie A. Le lancer de rayons

  • 4

    Algorithme

    Principe On place la caméra virtuellement dans la scène

    On « muni » la caméra d’un écran (virtuel)

    On tire des rayons du centre focal de la camera a travers chaque pixel de l’écran

    On suit ces rayons pour voir ce qu’ils touchent

  • 5

    Algorithme

    Algorithme

    Image lancer_rayon(Scene s) {

    pour chaque pixel p {

    Calcul du rayon r passant par la focale caméra et le pixel p

    last_inter = +infini

    pour chaque objet o de la scène s {

    si (intersection(r,o) < last_inter) {

    calcul illumination c au point d’intersection

    }

    }

    fixer la couleur c au pixel

    }

    renvoie image

    }

    Complexité ?

  • 6

    Algorithme

    Plusieurs étapes :

    1. Calcul des rayons r

    2. Calcul de l’intersection

    3. Calcul de l’illumination

    Amélioration de la complexité :

    Boucle for orange !

    Augmentation de la complexité :

    Récursivité sur l’instruction en bleue

  • 7

    Calcul des rayons

    Calcul des rayons : rayons centrés

    Détermination d’un coin de la grille

    Plus un demi pixel en hauteur et en largeur

    Pour chaque rayon on avance de la taille d’un pixel

    Autres techniques :

    Détermination d’un point de manière stochastique dans le pixel

    Détermination de n rayons dans un pixel

    Pixel sampling

  • 8

    Intersections

    Calcul de l’intersection :

    On utilise des primitives graphiques

    Sphère, cylindre, plan, carré, triangle, tore, ellipsoïde

    Chaque primitive définie dans un repère canonique

    On détermine précisément les conditions d’intersection rayon / objet

    Chaque primitive est placée dans la scène par transformation

    Les rayons subiront la transformation afin de les ramener dans le repère canonique des primitives

  • 9

    Intersections

    Stratégie de calcul d’intersection

    Équation paramétrique du rayon

    Équation cartésienne de l’objet

    Donne une condition sur le paramètre du rayon

    Exemple d’intersections : rayon / plan

    zz

    yy

    xx

    utOz

    utOy

    utOx 0 dzcybxa

    0)( zyxzyx cubuautdOcObOa

    )( zyx

    zyx

    cubuau

    dOcObOat

    Ou, vectoriellement : un

    Oequplant

    .

    )(

  • 10

    Intersections

    Exemple d’intersection : plan / rayon

    Avec objet canonique : plan z = 0

    Rapidité de calcul … après transformation

    Exemple d’intersection : sphère / rayon

    Vectoriellement, c’est plus simple !

    z

    z

    u

    Ot

  • 11

    Optimisations

    Optimisation sur boucle orange Objectif : Se libérer de la dépendance à la scène

    Utilisation de structure de données (scène) accélératrice : BSP Tree

    Grille uniforme

    KDTree

    Octree

    Hiérarchie de volume englobant

    Autres variantes (Hierarchie de grille uniforme…)

    Algorithme de traversée rapide

  • 12

    Optimisations

    Algorithme de traversé rapide d’un rayon Amanatides & Woo (Eurographics 87) Exemple en 2D Initialisation : Trouver le voxel X,Y origine de O Si pas dans la grille : trouver le premier point O

    Initialiser stepX et stepY à +1 ou -1 suivant le signe des coordonnées de v

    Calcul de tMaxX et tMaxY, mesure du déplacement (en t) avant de croiser la prochaine cellule sur l’axe des x et des y

    Calcul de tDeltaX, tDeltaY, déplacement (en t) pour se décaler d’un pixel en largeur et hauteur

    Équation du rayon : vtO

  • 13

    Optimisations

    Algorithme de traversé rapide d’un rayon

    loop { if(tMaxX < tMaxY) { tMaxX= tMaxX + tDeltaX; X= X + stepX; } else { tMaxY= tMaxY + tDeltaY; Y= Y + stepY; } NextVoxel(X,Y); }

    Comportement identique en 3D

  • 14

    Optimisations

    Problème de la traversée rapide :

    1 2 3 B

    A

    Solution : vérifier la valeur d’intersection de t par rapport au tmax autorisée pour la cellule donnée

    Optimisation supplémentaire : Chaque objet stocke l’identifiant du dernier rayon à l’avoir intersecté. Ainsi on ne calcule jamais deux fois la même intersection objet / rayon

  • 15

    Optimisations

    Traversée rapide et structure hierarchique

    Pour BSP Tree / Octree / Hiérarchie de volume englobant / KDTree

    Tous ont des structures d’arbre

    Méthode d’intersection récursive

    Parcours de l’arbre :

    Test sur le nœud

    Détermination de l’ordre de test sur les fils

    Récursivité dans cet ordre sur les fils

    Explications détaillées (octree) dans Geometric Data Structures for Computer Graphics Gabriel Zachmann & Elmar Langetepe, Course notes

  • 16

    Lancer de rayons de Whitted

    Modélisation de l’illumination : Modèle de Whited (1980) Modèle de Phong

    Une composante de transparence Non explicité

    Une composante de réflexion Non explicité

    )''()'()()coscos(),(),(

    :

    uLuLsLuxuxL ttsssourcess

    nsd

    éventuellement n fois

  • 17

    Illumination

    Intervient dans le calcul de l’illumination Éclairage directe de la lumière

    L’ombre associée

    Composante de réflexion

    Composante de transmission

    Séparation des rayons en 2 groupes : Rayon d’ombre Seul la présence ou non d’occulteur est testée

    Rayon d’illumination On veut connaître les caractéristiques géométrique des

    points d’intersection

  • 18

    Illumination

    Réflexion : réflexion spéculaire pure

    Transmission pure :

    Snell-Descartes

    N I R Calculez R !

    )sin()sin( 2211 nn

  • 19

    Lancer de rayons de Whitted

    Véritable algorithme du lancer de rayon Direction spéculaire u’ : direction spéculaire pure

    Direction transmise u’’ : transmission pure loi optique de snell-descartes

    Arrêt de la récursivité : Sortie de la scène

    Après n rebonds

  • 20

    Lancer de rayons de Whitted

    OpenRT :

    http://www.openrt.de/

    Bibliothèque de calcul en lancer de rayon

    Parallélisé & Distribué

  • 21

    Des défauts

    Lent

    Ne modélise pas :

    Les matériaux diffus

    Les caustiques

    Apparition de crénelage :

    Épaisseur nulle des rayons

  • LA SYNTHÈSE D'IMAGES

    II. Lancers de rayons & compagnie B. Techniques de suivi de rayons

  • 23

    Suivi de rayons

    Attention : Terminologie propre

    Suivi de rayons :

    Poursuite des rayons lumineux

    Dans le sens caméra / lumière

    Deux techniques :

    Suivi de chemin

    Distributed ray tracing

  • 24

    Suivi de chemins

    Auteurs :

    J.T. Kajiya (1986)

    Philosophie :

    Suivre un rayon primaire jusqu’au « bout »

    Choix des directions de réflexion aléatoire

    On ne collecte la luminance qu’à la fin

    sources lumineuses / nombre max de réflexions En anglais : PATH TRACING

  • 25

    Suivi de chemins

    Mise en œuvre : Sur une intersection :

    On calcul l’éclairage direct

    On choisi une direction de réflexion Guidée par la BRDF de l’objet

    On fait l’appel récursif sur ce nouveau rayon La luminance sera rajoutée

    Défauts : Bruit généré sur l’image Deux pixels consécutifs ne vont pas engendrer les

    mêmes chemins lumineux

  • 26

    Distributed ray tracing

    Auteur :

    R. L. Cook, T. Porter, and L. Carpenter (1984)

    Philosophie :

    Pb : tout n’est pas net dans la vie

    Solution : on tire plutôt 2 fois (n fois) qu’une !

  • 27

    Distributed ray tracing

    Suréchantillonage

    Sur les réflexions : modélise les BRDF

    Sur les transparences : modélise les BTDF

    Sur les sources lumineuses : modélisation des ombres douces

    Sur le temps : motion blur

    Sur les pixels caméra : profondeur de champs

  • 28

    Distributed ray tracing

    Exemple : réflexion

    A partir des rayons primaires

    Touchent une surface

    Tirs de rayons secondaires

    Selon la BRDF

    Qui peuvent devenir primaire

    Récursivité

  • 29

    Distributed ray tracing

  • 30

    Distributed ray tracing

    Défauts :

    Très très très long

    Complexité exponentielle sur le nombre de récursion autorisée

    Problèmes liés au suréchantillonage

    Apparition de bruit

    Peut s’atténuer en envoyant beaucoup de rayons

  • LA SYNTHÈSE D'IMAGES

    II. Lancers de rayons & compagnie C. Techniques de suivi de lumière

  • 32

    Suivi de lumière

    Attention : Terminologie propre

    Suivi de lumière :

    Poursuite des rayons lumineux

    Dans le sens lumière / caméra

    Deux techniques :

    Suivi de photons

    Tracé de lumière : Monte Carlo Light Tracing

    Méthode des vecteurs lumineux

    Photon Mapping

  • 33

    Suivi de photons

    Auteurs : J. Arvo « Backward Ray Tracing » (1986)

    Philosophie : Suivre la lumière A partir de la caméra

    Sur surface spéculaire : rebond

    Sur surface diffuse : stockage

  • 34

    Suivi de photons

    Objectif : Obtention des caustiques

    Contraintes Deux types de surfaces : Parfaitement diffuses

    Parfaitement spéculaires

    Limité à une réflexion diffuse

    Stockage : Dans des textures

  • 35

    Caustiques ?

    Définition :

    C’est une réflexion diffuse précédée d’une ou plusieurs réflexions spéculaires (pures ou non)

    Phénomène très local et très global

  • 36

    Suivi de photons

    Mise en œuvre :

    // Passe 1

    Pour chaque source {

    Choix rayon r

    send_rayon(Rayon r, Scene s) {

    if (objet o = intersect(s)) {

    if (o.speculaire)

    r.light += send_rayon(r’,s);

    if (o.diffuse)

    stockage(r,o.illumination_map);

    }

    }

    }

    // Passe 2

    Rendu en lancer de rayon

    Surfaces texturées par les illumination_map

  • 37

    Suivi de photons

    Algorithme efficace

    Limité par ses deux contraintes

    Défauts :

    Bonnes textures d’illumination => beaucoup de photons : algorithme lent

    Une texture par surface : gourmand en mémoire ?

  • 38

    Tracé de lumière

    Auteur :

    P. Dutré, E. Lafortune, Y.D. Willems, Monte Carlo Light Tracing with Direct Computation of Pixel Intensities (1993)

    Philosophie :

    Suivre la lumière

    A chaque intersection, modifier l’image

  • 39

    Tracé de lumière

    Mise en œuvre :

    Aux intersections :

    Absorption du rayon

    Choix aléatoire de la direction guidé par la BRDF de la surface

    Projection directe de la luminance vers le centre optique

    Défauts :

    Présence de bruit dû au comportement aléatoire

    Nécessité de tirer beaucoup de particules

  • 40

    Vecteurs lumineux

    Auteurs :

    J. Zaninetti, J. Serpaggi, B. Péroche, A Vector Approach for Global Illumination in Ray Tracing, Eurographics’98

  • 41

    Vecteurs lumineux

    Philosophie : Séparer le calcul / le comportement de

    Contribution indirecte

    Contribution directe

    Caustiques

    Stockage de vecteurs d’illumination Dans des kdtree pour chaque surface

    Calcul différentié des vecteurs lumineux Chaque contribution en un point résulte en 2+n

    vecteur lumineux n : nombre de source lumineuse

  • 42

    Vecteurs lumineux

    Mise en œuvre : 2 passes

    Passe 1 Sélection aléatoire de points dans la scène où les

    vecteurs lumineux sont calculés

    Différentes méthodes de calcul : Caustiques : tirs focalisés sur les objets spéculaires

    Direct : échantillonnage de la source

    Indirecte : échantillonnage de l’hémisphère

  • 43

    Vecteur lumineux

    Mise en œuvre : Passe 2 : lancer de rayon classique En chaque point d’intersection, interpolation des

    vecteurs lumineux les plus proches

    Si insuffisant, un calcul complet est réalisé

    Problèmes : Bruit de haute

    et basse fréquence Echantillonnage

    source

    Echantillonnage

  • LA SYNTHÈSE D'IMAGES

    II. Lancers de rayons & compagnie D. Techniques bidirectionnelles

  • 45

    Lancer de rayons bidirectionnel

    Auteurs :

    E.P. Lafortune, Y. Willems, Bi-directional Path Tracing,CompuGraphics 93

    Philosophie :

    Suivre une paire de chemin lumière / caméra

    Pour chaque point d’intersection, envoyer un rayon d’ombre pour tester l’existence d’un chemin et le conserver

  • 46

    Lancer de rayons bidirectionnel

    Mise en œuvre (simple)

    Suivre les deux chemins

    Pour chaque intersection

    Lancer un rayon d’ombre entre le nouveau point et tout ceux de l’autre chemin

    Si la visibilité est ok : stockage du chemin

    Moyenne pondérée des flux sur les chemins déterminé précédemment

  • 47

    Lancer de rayons bidirectionnel

    Exemples : Bruit atténué mais pas éliminé

  • 48

    Metropolis Light Transport

    Auteurs : E. Veach, L.J. Guibas, Metropolis Light Transport,

    SIGGRAPH’97

    Nom issu d’une méthode de physique Metropolis Sampling

    Idée : A partir d’un ensemble de rayons reliant lumières

    et caméra Les faire muter

    Reconsidérer les nouveaux chemins

  • 49

    Metropolis Light Transport

    Mise en œuvre :

    Trois stratégies de mutation :

    Mutations bidirectionnelles

    Perturbations (écran / caustiques)

    Mutations écrans

    Chaque chemin ajoute sa contribution à l’écran

  • 50

    Metropolis Light Transport

    Résultats : 450 mutations par rayon

    1000 mutations par rayon algorithme optimisé : Coherent Metropolis Light Transport (2007)

  • LA SYNTHÈSE D'IMAGES

    II. Lancers de rayons & compagnie C. Quelques comparaisons

  • 52

    Comparaisons

    Bidirectional Ray Tracing 1400 s ; 25 rayons / pixel

    Path Tracing 1510 s ; 100 rayons / pixel

  • 53

    Comparaisons

    Lancer de rayon Bidirectionnel

    Path tracing

  • 54

    Comparaisons

    Lancer de rayon 10 rayons par pixel 20 échantillons lumière 4 minutes

    Path Tracing : 5000 rayons par pixel ; 5h Bidirectional Ray Tracing : 300 rayons/pixel ; 2h

  • 55

    Comparaisons

    Path Tracing 200 rayons par pixel

    MLT

  • 56

    Comparaisons

    Bidirectionnal Ray Tracing

    Metropolis Light Transport Same rendering time

  • 57

    Comparaisons

  • 58

    Plan du cours

    I. Techniques d’ombrage

    II. Lancers de rayons et consort

    III. Photon mapping

    IV. Radiosité

    V. Simple diffusion & milieux

    participants

    VI. Techniques hybrides

  • LA SYNTHÈSE D'IMAGES

    III. Photon mapping

  • 60

    Plan du cours

    I. Techniques d’ombrage

    II. Lancers de rayons et consort

    III. Photon mapping A. Description générale

    B. Lancer de photon et cartes de photon

    C. Estimation sur les cartes de photon

    D. Lancer de rayon final & le modèle d’illumination

    E. Points forts et critiques

    IV. Radiosité

    V. Simple diffusion & milieux participants

    VI. Techniques hybrides

  • LA SYNTHÈSE D'IMAGES

    III. Photon mapping

    A. Description générale

  • 62

    Photon mapping

    Article fondateur : H.W. Jensen « Global Illumination using Photon

    Maps », Rendering Techniques '96

    Méthode d’illumination globale Très réaliste Parallélisable Bonne modélisation des différents

    comportements lumineux

    Idée phare : Choisir une méthode de traitement différente

    pour chaque comportement de la lumière

  • Photon mapping

    Exemple :

    63

  • 64

    Photon mapping

    Photon Mapping & Radiosité : Amélioration de la simulation des échanges diffus dans le photon mapping S. Dumazet, V. Biri

  • 65

    Photon mapping

    Technique générale : Algorithme en 2 passes

    1ère passe : lancer de photon dans la scène Avec stockage des photons

    Dans des directions spécifiques

    2nde passe : lancer de rayon « classique » Définition d’un « nouveau » modèle d’illumination

    Algorithmique distinct pour chaque composant de ce modèle

    Exploitation des cartes de photons de la première passe

  • LA SYNTHÈSE D'IMAGES

    III. Photon mapping B. Le lancer de photon et les cartes de photons

  • 67

    Lancer de photons

    1ère passe : envoyer et stocker dans la scène des photons lumineux

    Deux tirs distincts

    Carte de photon globale

    Utilisation d’une structure de stockage des photons

    Cartes de photon

    On tire les photons dans toute la scène

    A partir des sources lumineuses

    Permet une rapide et imprécise évaluation du comportement de la lumière

  • 68

    Lancer de photons

    Algorithme :

    Sélection d’une source lumineuse s

    pour chaque photon p parmi N partant de s {

    calculer l’intersection avec la scène

    enregistrement de p dans la carte de photon globale

    prolongation de p dans la scene

    pour chaque surface touchée {

    stocker un photon d’ombre po à l’intersection

    }

    roulette russe sur p pour être réémis en q

    pondération de q par les propriétés matériaux

    tant que q energie positive & q non “mort” {

    faire l’intersection avec la scene

    pondérer le photon par les propriétés matériaux

    roulette russe sur q

    }

    }

  • 69

    Lancer de photons

    Lancer de photons : détails Cas particulier des photons issus des sources Prolongés pour détecter les zones d’ombre Accélération de la phase de rendu

    Réflexions Suivant les propriétés de réflexivité et de transmission,

    faire un tirage de roulette russe Élimination du photon ou poursuite de la trajectoire Trajectoire déterminée aléatoirement en accord avec la

    BRDF

    Suivant la nature de la réflexion (diffuse ou spéculaire), le photon est « flagué » diffus dès qu’il subit une réflexion diffuse et spéculaire sinon

  • 70

    Lancer de photons

    Lancer de photons : détails Conservation de l’énergie

    On donne aux photons une énergie moyenne :

    A chaque réflexion, l’énergie du photon est pondéré par les coefficients de réflexion du matériau

    Puis il est normalisé afin de conserver son énergie totale

    Si sa couleur devient noire, alors il est éliminé

    photons

    lp

    N

  • 71

    Lancer de photons

    2ème tir de photons : carte caustique Même schéma de tir Dans les directions des surfaces spéculaires 100 fois plus de photons tirés par unité d’énergie Pour modéliser les caustiques, très locales

    Obtention des directions privilégiés Carte de projection Discrétisation en cellule de l’hémisphère de tir des

    sources Lancer de rayon sur chaque cellule Flag si interception sur une surface spéculaire

    Tir uniquement sur cellule valide

  • 72

    Lancer de photons

    Structure de photon importante

    Taille mémoire critique

    Structure de Jensen :

    Compression de l’angle d’incidence

    Compression des « couleurs »

    struct photon {

    float x,y,z; //Position

    char p[4]; //Power packed as 4 chars

    char phi, theta; //Compressed incident direction

    short flag; //Flag used in the Kdtree

    }

  • 73

    Lancer de photons

    4 catégories de photons

    Photons directs

    Photons d'ombre

    Photons caustiques ou spéculaires

    Photons diffus

  • 74

    Lancer de photons

    Structure de stockage des photons Ce sont les fameuses cartes de photon

    Au choix mais : Nécessiter de les construire « rapidement »

    Opération courante : trouver les photons voisins d’un point donné

    Le Kdtree s’impose

    J. L. Bentley, Multidimentionnal Binary Search Trees Used for Associative Searching, ACM Student Award 1975

    Un Kdtree pour la carte de photon globale

    Un autre pour la carte de photon caustique

  • 75

    Lancer de photons

    Exemples de carte de photon

  • LA SYNTHÈSE D'IMAGES

    III. Photon mapping C. Estimation sur les cartes de photons

  • 77

    Estimations

    Problème clé : Étant donné un point de l’espace, quelle est son

    énergie ?

    Méthode Quérir les n photons les plus proches

    Représentent l’illumination à partir du point Éclairement énergétique ou luminance pondérés par

    la BRDF au point considéré

    Utilisé directement au rendu (caustique) Besoin d’une méthode précise

  • 78

    Estimations

    Recherche des photons proches :

    Utilisation du kdtree

    Deux stratégies :

    Tous les voisins dans une sphère

    Potentiellement beaucoup de photons

    Taille de lissage fixe

    N plus proches voisins

    Taille de lissage adaptative

    Attention à ne pas aller trop loin …

  • 79

    Estimations

    Filtrage

    Saut de luminance à l’ajout / retrait de photons

    Nécessité de pondérer la contribution des photons

    Utilisation d’un filtre

    Exemple : filtre gaussien

    e

    ew

    r

    d p

    1

    11

    2

    2

    2 dp : distance au photon r : rayon maximal α,β : constantes

  • 80

    Estimations

    Filtre gaussien Filtre conique

  • LA SYNTHÈSE D'IMAGES

    III. Photon mapping D. Modèle d’illumination & lancer de rayon final

  • 82

    Lancer de rayon

    Caractéristique du photon mapping : Scinder l’illumination en 4 facteurs

    Illumination directe des sources

    Illumination spéculaire

    Illumination caustique

    Illumination indirecte diffuse

    Chaque type a son traitement spécifique

    Utilisation d’un lancer de rayon traditionnel

    Utilisant les cartes de photons précédentes

  • 83

    Lancer de rayon

    Illumination directe : L(S|D)

    Calcul du modèle de Phong (par exemple) directement par le lancer de rayon

    Cohérence énergétique :

    iii

    N

    i

    i lnlxLlxFxL .),(),,(),(1

    F : BRDF de la surface

    x : point sur la surface n : normale en x à la surface li : vecteur directeur en provenance de la ième source Li : luminance de la i

    ème source

    photons

    lp

    N

    dxN lpphotons .)(

  • 84

    Lancer de rayon

    Gestion des ombres On exploite la carte de

    photon globale

    Heuristique : Photons voisins : Très large pourcentage

    de photons directs : point éclairé

    Très large pourcentage de photons d’ombre : point ombré

    Sinon, on tire un rayon

    Visualisation des zones d'ombres : en rouge les zones indéterminées, en blanc les zones éclairées et en noir les zones d'ombres.

  • 85

    Lancer de rayon

    Illumination spéculaire (L|LD)S+

    Utilisation du lancer de rayon classique

    Équation :

    Illumination caustique (LS+D)

    Équation :

    Utilisation de la carte de photon caustique

    Photons spéculaires

    ''.)',()',,(),( dnxLxFxL isd

    ''.))',()',(()',,(),( dnxLxLxFxL idiss

  • 86

    Lancer de rayon

    Illumination indirecte diffuse (L(S*D)+S*D)

    Utilisation de la carte de photon globale

    Photons diffus uniquement

    Équation :

    ''.)',()',,(),( dnxLxFxL idd

  • LA SYNTHÈSE D'IMAGES

    III. Photon mapping D. Points forts & critiques

  • 88

    Photon mapping

    Points forts : Segmentation des composantes de la lumière

    Traitement efficace sur chacun d’eux

    Souplesse du lancer de rayon Modélisation simple de nouveau modèle : Milieux participants

    BRDF

    Autres longueurs d’onde

    Peu de dépendance à la géométrie des modèles Modélisation & complexité

    Parallélisable et distribuable

  • 89

    Photon mapping

    Défaut :

    Méthode essentiellement statique

    Dès qu’un objet bouge, les cartes de photon sont fausses

    Problème à l’estimation de l’énergie

    Aux bords des surfaces

    Dû au manque d’échantillonnage

    Mauvaise modélisation des échanges diffus multiples

    Apparition d’un bruit de basse fréquence

  • 90

    Photon mapping

    Estimation de l’énergie : bords

  • 91

    Photon mapping

    Estimation de l’énergie : sous échantillonnage

  • 92

    Photon mapping

    Bruit de basse fréquence sur l’indirect diffus

    Rendu de l’indirect diffus S.Dumazet, V. Biri

    Rendu mental ray http://www.3dvf.com/

    History of rendering Dmitry Shklyar (3DVF)

    V-Ray rendering (tutorial)

  • 93

    Photon mapping

    Solution pour éviter le bruit en diffus indirect : Irradiance Gradiant