View
219
Download
0
Category
Preview:
Citation preview
1
Infographie v.2014
HE-Arc / HES-SO – BSc3
Stéphane Gobron
Infographie – chapitre 3
Rendu fondamentaux :
Algorithmes de base et techniques locales
2
Cadre de cette présentation :
Modélisation
Rendu
Animation
E.g. Via
OpenGL
fluides
E.g. NPR
1
2
3E.g. Via
OpenGL
Avant-propos
3
Introduction
1. Algorithmes de base
2. Diverses techniques locales
Référence / conclusion / discussion
Plan
4
Plan
Introduction
1. Algorithmes de base
2. Diverses techniques locales
Référence / conclusion / discussion
i. Buts du rendu
ii. Buts de ce cours
iii. Pré requis
vi. Un "bon" rendu
5
Introduction
i. Buts du rendu
• Percevoir les objets visibles
– Quoi ?
– Où ?
• Dessiner ces objets
– Comment ?
6
Introduction
ii. Buts de ce cours
Présenter les principales méthodes et techniques de rendu
local et global en infographie
A noter : pour une meilleure compréhension des approches relatives à
l’éclairage global, une brève interprétation formelle sera présentée
Pour l’étudiant, les objectifs à atteindre sont
• Connaître les avantages et faiblesses de ces techniques et méthodes
de rendu fondamentales
• Savoir choisir une méthode de rendu adaptée pour rendre telle ou telle
scène basée sur un ou plusieurs modèles géométriques que ce soit dans
le cadre de développement ou d'option logicielle
7
Introduction
iii. Pré requis
Il est préférable de connaître
• Les algorithmes de base de infographie 2D
• Les différents modèles géométriques en infographie
• Les bases de la géométrie projective
8
Introduction
iv. Un "bon" rendu
Le rendu est influencé par
• Le/les types de modèles géométriques
• De nombreuses techniques et méthodes
• Affectation locale ou globale (scène ou écran)
Ces principes peuvent être combinés
=> On ne peut pas définir de propriétés relatives à
un « bon rendu »
9
Plan
Introduction
1. Algorithmes de base
2. Diverses techniques locales
Référence / conclusion / discussion
1.1 Algorithme du peintre
1.2 Z-buffer
1.3 Area subdivision
1.4 Illumination locale de Phong
1.5 Shadings de Gouraud et de Phong
10
1. Algorithmes de base
1.1 Algorithme du peintre
Tri par la profondeur
• On dessine d’abord les polygones les plus
lointains, puis les polygones proches de l’œil
• Les polygones plus proches cachent les polygones
lointains
Caméra
11
Exercice et discussion
• Identifions les problèmes de cette approche
1. Algorithmes de base
1.1 Algorithme du peintre -suite
12
1. Algorithmes de base
1.1 Algorithme du peintre
Avantages / inconvénients
+ Le plus simple des algorithmes
- Ambiguïté
13
1. Algorithmes de base
1.2 Z-buffer
• Principe– Pour chaque polygone dans la liste de pré-sélection
– Pour chaque pixel qui touche ce polygone
– Si Z courant est + petit que Z stocké
– Alors stocker sa couleur et son Z• Champs d’action
15
1. Algorithmes de base
1.2 Z-buffer
Résultats
• Avantages– Facile à implémenter
– Inutile de trier les facettes
– Le développement hardware est facile
– Requière relativement peu de mémoire • Env 9MB pour une résolution de 1280x1024
• Inconvénients– Génère des problèmes d’aliasing
• Un unique échantillon par pixel
– Ne gère pas les transparences
16
1. Algorithmes de base
1.3 Area subdivision (1/5)
Principe
• Algorithme de « Warnock »
• Principe– Diviser l’écran en zones de travail (Quadtree)
– Pour chaque zone => polygones inclus
– Si la visibilité est connue, s’arrêter
– Sinon subdiviser
– Interrompt la subdivision si une taille limite atteinte
17
EnglobeInclus
1. Algorithmes de base
1.3 Area subdivision (2/5)
Zone de travail
Intersecte Disjoint
18
• Zone vide ou complète
• Tous les polygones sont disjoints
• Un seul polygone intersecte ou inclus
• Un polygone englobant qui est devant les autres
1. Algorithmes de base
1.3 Area subdivision (3/5)
Visibilité connue
19
+/- Plus efficace avec des grands polygones
- Coût mémoire parfois élevé
+ Implémentation facile : appels récursifs
• Exemple :
1. Algorithmes de base
1.3 Area subdivision (4/5)
Pour ou contre
20
1. Algorithmes de base
1.3 Area subdivision (5/5)
Solutions optimisées
• FOLEY et al. 1996: Divide-And-Conquer
– Division warnock
– Division utilisant les sommets des polygones
21
Trois grands effets pour générer un modèle simple
• Lumière ambiante
• Lumière diffuse
• Lumière spéculaire
1. Algorithmes de base
1.4 Illumination locale :
modèle de Phong (1/6)
22
1. Algorithmes de base
1.4 Illumination locale : modèle de Phong (2/6)
Effet ambiant
• Couleur dépend uniquement de l’objet : I = Ia ka
• Ia lumière ambiante
• ka coefficient de réflexion ambiante
• Modèle très primitif– Pas de sens physique possible
– La forme des objets est invisible
– Mais néanmoins très utile pour masquer les défauts des autres modèles
(ka)
23
1. Algorithmes de base
1.4 Illumination locale : modèle de Phong (3/6)
Effet diffus
• Réflexion dans toutes les directions
•Matériaux mats
• I = Ip . kd . cos(q)
– Ip source ponctuelle
– kd coefficient de réflexion diffuse
– t angle entre la source et la normale
(kd)
24
1. Algorithmes de base
1.4 Illumination locale : modèle de Phong (4/6)
Effet ambiante et diffuse
• Lumière ambiante (ka) et diffuse (kd)
(kd)
(ka)
25
1. Algorithmes de base
1.4 Illumination locale : modèle de Phong (5/6)
Effet spéculaire
• Effet de « brillance »
q
26
1. Algorithmes de base
1.4 Illumination locale : modèle de Phong (6/6)
En pratique
• Tout ensemble Ambiant, diffus, et spéculaire
I = Iaka+ Ipkd cos(q)Ip ks cos(a)n
avec un coefficient n représentant les propriétés spéculaires de la
surface au point P
• Si plusieurs sources lumineuses :
=> somme des intensités
27
• Un Shading ? "ombrage" /!\ à cette traduction
comment considérer les normales pour faire un dégradé de couleur?
• En effet :
• Deux modèles : Gouraud et Phong
• Ne pas confondre modèle d'illumination de Phonget modèle de Shading (i.e. normale) de Phong
q q a
1. Algorithmes de base
1.5 Shadings (1/5)
28
Exercice et discussion
• Réfléchir sur le rapport entre vecteurs normaux et couleurs pour réaliser le dégradé de couleur
1. Algorithmes de base
1.5 Shadings (1/5) suite
29
1. Algorithmes de base
1.5 Shading (2/5)
… de Gouraud
• Gouraud (« Ombrage de… »)– Calcul des normales en chaque sommet
– Calcul de la couleur en ces sommets
– Interpole linéaires des couleurs
n1
n2
n3
Pb Gouraud
dégradé de couleur
30
• Phong– Quelque soit le pixel, calcul de la normale interpolée – ou par
facette ou par sommet– en ce point
– Calculs des couleurs correspondants
• Plus lent que Gouraud, mais spéculaire plus net
1. Algorithmes de base
1.5 Shading (3/5)
…de Phong
n1
n2
n3
C1C2
C3Ci
…
32
•Un exemple de chez Pixar
•Phong / Gouraud
1. Algorithmes de base
1.5 Shading (5/5)
Phong vs. Gouraud
33
Plan
Introduction
1. Algorithmes de base
2. Diverses techniques locales
Référence / conclusion / discussion2.1 Backface culling
2.2 Bump mapping et normal map
2.3 Textures
2.4 Ombrages
34
Caméra
• Éliminer tous les polygones qui ne sont pas tournés
vers la caméra
2. Diverses techniques locales
2.1 Backface culling
35
Caméra
• Si le point de vue n’est pas devant le polygone, on
n’affiche pas le polygone
• Utilisation du produit scalaire (vectCam . VectFacet)
2. Diverses techniques locales
2.1 Backface culling
Principe
+
-
36
• Comparaison avec / sans
• Résultat identique sauf…
2 x plus rapide !
2. Diverses techniques locales
2.1 Backface culling
Résultat
37
2. Diverses techniques locales
2.2 Bump mapping et normal map
Principe
• Les deux : illusion de profondeur sur une surface plateDirection
de la
lumière
Calcul de la
géométrie
réelle
Illusion
de géométrie
normal mapnormal map
38
2. Diverses techniques locales
2.2 Bump mapping et normal map
Application
Bump mapping• Grey image
• Léger
• mais un peu plus de calculs
Normal map• RGB image
• 3x plus lourd
• mais moins de calculs
Le cumul des deux techniques apporte
élévations et normales et donner lieu à moins
de calcul pour plus d’effets Normal map
Bump map
39
2. Diverses techniques locales
2.2 Bump mapping et normal map
Application• Exemple classique : les planètes
40
2. Diverses techniques locales
2.3 Textures (1/7)
• Pourquoi texturer ?
– Ajout d'information visuelle à petit prix
– Support hardware
+ =
41
Exercice et discussion
• Où se trouve la difficulté?
2. Diverses techniques locales
2.3 Textures (1/7) suite
42
2. Diverses techniques locales
2.3 Textures (2/7)
Continuité
• Continuité dans la texture et la géométrie
43
2. Diverses techniques locales
2.3 Textures (3/7)
Réalisation 2D ou 3D
• 2D => projection directe
• 3D => construction d’une texture en volume
(e.g. « bruit de Perlin »)
44
2. Diverses techniques locales
2.3 Textures (4/7)
Billboards (1/3)
• Utilisation de transparence dans les textures
• (a) Utilisation classique
=> 1 texture avec projection relative à la caméra
• Idée générale exemple – Doom1TM
45
• (b) Pour simuler un objet en 3D
• Multi textures pour la géométrie & texture d’un objet
=> Il n’y a pas de projection relative à la camera
• Idée générale exemples
2. Diverses techniques locales
2.3 Textures (4/7)
Billboards cloud (2/3)
46
2. Diverses techniques locales
2.3 Textures (5/7)
Billboards cloud (3/3)
• (c) Simplification maximum du modèle => relatif au LoD
Deux films exemples
/!\ Modification géométrique impossible
/!\ L’objet est dénaturé –géométrie et texture!
47
2. Diverses techniques locales
2.3 Textures (6/7)
Texture 3D avancée (1/2)
• Calcul de la continuité dans la texture sur un
nombre restreint d’échantillons
48
2. Diverses techniques locales
2.3 Textures (8/8)
Texture 3D avancée (2/2)
• Automates cellulaires réguliers sur
surface 3D (3DSCA)
– Auto-génération de texture 3D
– Association de comportement
entre cellules voisines
• Voir chapitre 6 « animation » et
simulation de phénomènes naturels
49
2. Diverses techniques locales
2.4 Ombrages
Ombres dures et douces
• Ombres dures (Hard shadows)
– Source ponctuelle
– Détermination binaire
– Renseignent sur la position des obstacles par rapport à l'oeil
• Ombres douces (Soft shadows)
– Source étendue
– Variation continue
– Renseignent sur la position relative source/obstacle/récepteur
51
2. Diverses techniques locales
2.4 Ombrages
Diverses techniques (1/2)
• Lancer de rayons
– Facile mais très lent
• Accélération
52
• BSP
• /!\ La position des obstacles est fausse
2. Diverses techniques locales
2.4 Ombrages
Diverses techniques (2/3)
53
2. Diverses techniques locales
2.4 Ombrages
Diverses techniques (3/3)
Imag
eS
cène
déc
oupé
e
1 source 3 sources
Recommended