Synthèse d'Image Avancée

Commencez. C'est gratuit
ou s'inscrire avec votre adresse courriel
Rocket clouds
Synthèse d'Image Avancée par Mind Map: Synthèse d'Image Avancée

1. La chaîne de rendu

1.1. Transformation aux sommets

1.1.1. Vertex Shader

1.1.2. Données présentes

1.1.2.1. Variables globales

1.1.2.2. Données par face (dupliquées pour chaque sommet)

1.1.2.3. Données par sommet

1.1.2.3.1. Position

1.1.2.3.2. Normale

1.1.2.3.3. Couleur

1.1.2.3.4. Paramètres d'éclairement

1.1.3. Notion absente

1.1.3.1. Voisinage

1.1.3.2. Sommet déjà traité

1.1.3.3. Face

1.2. Assemblage

1.2.1. Geometric Shader

1.2.2. Données présentes

1.2.2.1. Variables globales

1.2.2.2. Données par face

1.2.2.3. Données sur tous les sommets

1.2.2.3.1. Position

1.2.2.3.2. Normale

1.2.2.3.3. Couleur

1.2.2.3.4. Paramètres d'éclairement

1.2.2.4. 1-voisinage : les faces partageant un sommet avec la face courante

1.2.3. Notion absente

1.2.3.1. Voisinage étendu

1.2.4. Utilisation classique

1.2.4.1. Subdivision

1.3. Élimination/Projection

1.3.1. Back Face Culling

1.3.1.1. Algorithme

1.3.1.2. Avantages

1.3.2. Projection

1.3.2.1. Orthogonale

1.3.2.2. Perspective

1.3.3. Viewport : coordonnées écran -> coordonnées pixel

1.4. Rastérisation/échantillonnage

1.4.1. Théorème de Shanon / fréquence de Nyquist

1.4.2. Anti-aliasing

1.4.2.1. Problèmes de répétition

1.4.2.1.1. Échantillons aléatoires

1.4.2.1.2. Interleave Sampling

1.4.2.2. Problème d'échantillonage

1.4.2.2.1. Calcul de la couverture d'un pixel

1.4.2.2.2. Calcul de la distance à la ligne (approximation solution précédente)

1.4.2.2.3. Sur-échantillonnage

1.4.2.2.4. Mip-mapping

1.5. Élimination des pixels non visibles

1.5.1. Méthode de Sutherland-Hodgeman

1.6. Transformation du fragment

1.6.1. Données présentes

1.6.1.1. Variables globales

1.6.1.2. Données issues de la rasterization

1.6.1.2.1. Interpolation des valeurs par sommets

1.6.1.2.2. Position

1.6.1.2.3. Normale

1.6.1.2.4. Couleur

1.6.1.2.5. Paramètres d'éclairement

1.6.1.2.6. Eclairement

1.6.2. Notion absente

1.6.2.1. Voisinage

1.6.2.2. Pixel

1.6.2.3. Face/Sommet

1.7. Transformation du pixel

1.7.1. Histogramme

1.7.2. Alpha test

1.7.3. Z-Buffer

1.7.3.1. Algorithme

1.7.3.1.1. Tous les pixels à -infini

1.7.3.1.2. Pour chaque polygone

1.7.3.2. Avantages

1.7.3.2.1. Facile à implémenter

1.7.3.2.2. Travaille dans l'espace image : pas de prés traitement

1.7.3.3. Inconvénients

1.7.3.3.1. Coût en mémoire (tampon de la taille de l'image

1.7.3.3.2. Travaille dans l'espace image : aliasing, artefacts

1.7.3.3.3. Problème d'ordre pour la transparence

1.7.3.3.4. Coût en O(nbPixelMoyenPoly * nbPoly)

1.7.3.4. Variante : Hierarchical Z-buffer

1.7.3.4.1. Interdit toute modif du Z dans le fragment

1.7.4. Stencil

1.7.5. Alpha blending

1.7.6. Operation logique

1.7.7. Dithering

2. Complexité des algos de rendu

2.1. Notation

2.1.1. n = nombre de pixel moyen par polygones

2.1.2. N = nombre de pixel dans l'image

2.1.3. p = nombre de polygones

2.2. Z-buffer

2.2.1. O(n*p)

2.3. Algorithme du peintre

2.3.1. O(n*p*ln(p))

2.4. Tracé de rayon

2.4.1. O(N*ln(p))

3. Transformation perspective et caméra

3.1. Utilisation des coordonnées homogènes pour pouvoir cumuler les opérations géométriques

3.2. Multiplication de matrice non commutative

4. Éclairage local

4.1. Définition

4.1.1. Lumière propre (source de lumière)

4.1.2. Lumière ambiante (approximation de la lumière émise ou réfléchie par l'environnement)

4.1.3. Autres sources de lumières

4.2. Catégories des sources de lumière

4.2.1. Infinitésimales

4.2.1.1. Directionnelle

4.2.1.2. Ponctuelle

4.2.1.3. Diagrammes goniométriques

4.2.1.3.1. Ponctuelle

4.2.1.3.2. Distribution directionnelle

4.2.2. Étendues

4.2.2.1. Uniforme (néon)

4.2.2.2. Non uniforme (phare de vélo avec déflecteur)

4.2.2.3. Percentage Closer Soft Shadow (PCSS) : Taille d'échantillonnage en fonction de la distance aux occludeurs

4.3. Réflexions (BRDF)

4.3.1. Diffus (lambertien)

4.3.2. Phong

4.3.2.1. Simple : (rayonCamera . rayonReflechi)

4.3.2.2. Blinn-Phong (normale . bissectrice(incident,reflechi))

4.3.3. Glossy

4.3.4. Miroir (spéculaire)

4.3.5. Anisotropie : velours

4.3.5.1. Nécessite une paramétrisation de la surface

4.3.5.2. Le modèle de Lafortune-Phong est anisotrope

4.4. Interpolation

4.4.1. Gouraud

4.4.1.1. Interpole valeur aux sommets

4.4.2. Phong

4.4.2.1. Interpole les données d'entrée au sommet, puis recalcule au niveau du fragment

4.4.2.2. Nécessite une renormalisation de la normale (sinon, trop courte)

4.5. Ombres

4.5.1. Ombre dure : est-ce qu'il existe au moins un objet occultant ?

4.5.2. Shadow Volum

4.5.2.1. Stencil Buffer : On compte le nombre d'entrées et sorties dans un volume d'ombre depuis la caméra jusqu'à l'objet :

4.5.2.1.1. Si 0 : éclairé

4.5.2.2. Deux passes (pour compter successivement les fronts et les back)

4.5.3. Shadow Mapping

4.5.3.1. Standard

4.5.3.2. Perspective Shadow Map

4.5.3.3. Exponential Shadow Map

4.5.3.4. Soft shadow Mapping

4.5.4. Ambient occlusion

5. Éclairage global

5.1. Géométrique sphérique

5.1.1. Angle solide

5.1.1.1. L'angle solide sustenté par une surface en P est l'aire de cette surface projetée sur la sphère unité centrée en P

5.1.1.2. Unité : stéradian

5.1.2. Angle solide différenciel

5.1.2.1. Intégration de l'angle différentiel par un pas de discrétisation)

5.1.3. On cherche à calculer la radiance en chaque point

5.1.3.1. Ajout de la radiance de la surface (source primaire) à la BRDF + convolution des radiances des autres surfaces

5.1.3.2. La notion de visibilité ajoute des discontinuités

5.1.3.3. Proba de Monte-Carlo

5.1.4. Facteur de forme

5.2. Radiométrie

5.2.1. Propriétés Surface

5.2.1.1. Puissance

5.2.1.2. Irradiance (combien d'énergie arrive sur une surface)

5.2.1.3. Radiosité (combien d'énergie est ré-émise sur une surface)

5.2.2. Propriétés Point+Direction

5.2.2.1. Radiance : Puissance par aire projetée et par angle solide

5.3. Photométrie

5.3.1. Pondération de la radiométrie en fonction de la perception humaine

5.3.2. Peut être réalisé en post processing (Tone mapping)