réalité virtuelle et interaction introduction au rendu 3d · intensité dans toutes les...

Post on 07-Jun-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Réalité Virtuelle et Interaction Introduction au Rendu 3D

Année 2017 - 2018 / APP5 Info à Polytech Paris-Sud Cédric Fleury (cedric.fleury@lri.fr)

https://www.lri.fr/~cfleury/teaching/app5-info/RVI-2018/

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Réalité Virtuelle

• Restitution visuelle des objets de l’environnement virtuel

2

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Visualisation d’objets virtuels

• Image = { pixels }

• Rendu = associer à chaque pixel : – Une couleur – Une intensité lumineuse

• L’intensité lumineuse dépend : – Des sources lumineuses – De la position de l’observateur – De la position des objets de la scène

3

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Principales étapes du rendu

• Placer les objets dans le repère caméra : – Simplifier les calculs – Axe Z = axe des profondeurs

• Déterminer les objets se trouvant dans le champ de vision de la caméra (pyramide de vue)

• Utiliser des algorithmes pour déterminer les facettes visibles de chaque objet

4

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Plan du cours

• Introduction au rendu 3D – Projections – Pyramide de vue et clipping – Algorithmes de rendu – Modèles d’éclairage – Placage de texture

Remerciement à Thierry Duval (Université de Rennes 1)

5

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Plan du cours

• Introduction au rendu 3D – Projections – Pyramide de vue et clipping – Algorithmes de rendu – Modèles d’éclairage – Placage de texture

Remerciement à Thierry Duval (Université de Rennes 1)

6

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Projections

• Afficher des modèles 3D sur une surface 2D • Transformer les coordonnées 3D du modèle

vers les coordonnées 2D des pixels7

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Projections

• Rendu de la scène 3D pour un observateur virtuel particulier (camera) – Point de vue (isAt) – Direction de visée (lookAt)

• Projection sur un plan particulier8

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Différents types de projections

• Projections parallèles – Pas de rétrécissement des objets éloignés – Plusieurs types de projections parallèles

• Isométrique, cavalière,…

• Projections perspectives – Les objects éloignés sont plus petits – Plusieurs types

• Un, deux ou trois points de fuite

9

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Projection parallèle

10

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Projection perspective

11

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Projection perspective

Différents types de projections

Projection parallèle

12

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Plan du cours

• Introduction au rendu 3D – Projections – Pyramide de vue et clipping – Algorithmes de rendu – Modèles d’éclairage – Placage de texture

Remerciement à Thierry Duval (Université de Rennes 1)

13

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Pyramide de vue

14

• Modélise le champs de vision de l’utilisateur • Est constituée de 6 plans

Yc

Oc

Xc

Zc

plan arrière (back plane) (far plane)

plan avant (front plane) (near plane)

plan de projection

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Distance focale

15

plan de projection

Distance focale

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Distance focale et ouverture

• Distance focale – Défini la pyramide de vue pour un écran donné – Paramètre peu intuitif : nécessite de connaitre la

taille de l’écran

• Ouverture de vue – Paramètre plus simple lorsqu’il n’y a pas de head

tracking (indépendant de la taille de l’écran) – Défini la largueur du champ visuel (field of view) – Différent pour l’horizontal et la verticale

16

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Ouverture

17

plan de projection

Angle d’ouverture

vertical FOV

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

• Pour le head tracking : déformation de la pyramide de vue – En fonction de la position de l’utilisateur – On définit généralement :

• 4 coins de l’écran et position de l’utilisateur

Pyramide de vue

18

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Pyramide de vue et clipping

• Les objets visibles sont ceux qui se trouvent dans la pyramide de vue

• Les objets en partie dans la pyramide de vue sont coupés par un ou plusieurs des 6 plans

• Clipping = trouver les facettes situées dans la pyramide de vue – Exemple : algorithme de Sutherland-Hogman

• Visibilité de chaque facette par un plan infini • Appliquer 6 fois le traitement pour les 6 plans

19

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Plan du cours

• Introduction au rendu 3D – Projections – Pyramide de vue et clipping – Algorithmes de rendu – Modèles d’éclairage – Placage de texture

Remerciement à Thierry Duval (Université de Rennes 1)

20

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

• < 0 : on garde la facette • > 0 : on l’élimine

Back Face Culling• Eliminer tous les facettes qui ne sont pas

tournés vers la camera

21

Produit scalaire : direction de visée (lookAt) * normale sortante de la facette

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Back Face Culling

• Economise 50% du temps de calcul du rendu – En moyenne

• Faible coût de calcul pour chaque facette – Algorithme rapide

• Etape préliminaire pour les autres algorithmes

22

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Elimination des parties cachées• Eliminer les facettes qui se trouvent cachées

derrière d’autres facettes

23

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Elimination des parties cachées

• Deux types d’algorithme : – Basé image (chaque pixel de l’image) – Basé objets (chaque objet dans la scène)

• Quelques algorithmes particuliers : – Z-Buffer – Balayage en lignes – Priorités sur les objets – Subdivision du plan de projection de l’image

24

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Z-Buffer• Basé image • Mémoire de profondeur

– Utilise un tableau pour stocker les profondeurs de chaque pixel

25

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Balayage en lignes• Basé Image • Traitement ligne par ligne dans l’image

– Extension du Z-Buffer – Stocke une table des arrêtes actives

26

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Priorités sur les objets• Basé objets • Trier les objets en fonction de leur profondeur

par rapport à la camera • Afficher les objets en fonction de la profondeur

(de l’arrière vers l’avant de la scène) – Exemple : algorithme du peintre

27

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Subdivision de l’image

• Basé image

• Subdivision du plan de projection de l’image – Si on ne sait pas afficher simplement une zone

• on subdivise de façon récursive cette zone

– La diminution de la taille des zones entraîne une diminution des recouvrements

• Exemple : algorithme de Warnock

28

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Warnock• 4 cas d’arrêt de la

subdivision – Tous les objets sont

disjoints de la zone (d) • Couleur du fond

– Un seul objet sécant ou inscrit dans la zone (b ou c)

• Couleur du fond, puis couleur de l’objet

– Un seul objet circonscrit (a) • Couleur de l’objet

– Un objet circonscrit placé devant les autres (a)

• Couleur de l’objet29

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Stéréovision• Consiste à calculer 2 images

– 2 caméras situées à gauche et à droite du point de vue de l’utilisateur

– 2 calculs de clipping – 2 calculs de rendu – Association de chaque image à chaque œil

• 2 fois plus coûteux ? – Partager des calculs entre les 2 images ? – Dépend de l’algorithme de rendu...

30

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Plan du cours

• Introduction au rendu 3D – Projections – Pyramide de vue et clipping – Algorithmes de rendu – Modèles d’éclairage – Placage de texture

Remerciement à Thierry Duval (Université de Rennes 1)

31

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Modèle d’éclairage• Exprime l’intensité lumineuse d’un point

– Lumière ambiante que produit dans toutes les directions un éclairage uniforme

– Sources lumineuses qui sont à l’origine : • Réflexions diffuses et spéculaires • Ombres portées

• Ir = Ia + Id + Is – Ia : intensité ambiante – Id : intensité diffuse – Is : intensité spéculaire

32

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Eclairage ambiant

• Chaque objet est montré avec une intensité intrinsèque : – Pas de source extérieure – Univers irréel d’objets lumineux non

réfléchissants

33

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Réflexion diffuse• Une partie de la lumière incidente pénètre

dans l’objet et ressort avec la même intensité dans toutes les directions

34

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Réflexion spéculaire• Réflexion par la surface de l’objet de la

lumière incidente qui n’a pas pénétré dans l’objet, dépend de la direction d’observation

35

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Lissage des facettes• Il n’est pas réaliste, pour une facette :

– De calculer l’intensité lumineuse en chaque point (trop coûteux)

– D’attribuer la même intensité à tous les points (effet de « facettisation)

• Il est plus judicieux : – De calculer les intensités aux sommets de la

facette – De déduire l’intensité de chaque point par une

interpolation bilinéaire

36

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Lissage des facettes• 2 types de lissage :

– lissage de Gouraud : interpolation linéaire des couleurs des sommets (remplissage par balayage ligne par ligne)

– lissage de Phong : interpolation des normales des sommets (remplissage point par point)

37

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Definition de la couleur• Définition de la couleur d’un objet dans les

librairies graphiques 3D – Couleur ambient (RGB) – Couleur diffuse (RGB) – Couleur spéculaire (RGB) – Couleur emissive (RGB) – Transparence (alpha) – Brillance (value) – etc.

• Généralement regroupé dans un « Material »38

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Synthèse d’image avancée• Ombres

• Illumination globale et lancer de rayon

• Rendu sous-surfacique

39

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Plan du cours

• Introduction au rendu 3D – Projections – Pyramide de vue et clipping – Algorithmes de rendu – Modèles d’éclairages – Placage de texture

Remerciement à Thierry Duval (Université de Rennes 1)

40

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

Placage de textures• Texture : tableau 2D de triplets RVB • Associer à chaque sommet d’une facette des

coordonnées dans l’espace texture : – espace de texture normalisé :

• (u, v), u et v variant de 0 à 1

41

v

ux

y

(0,0) (1,0)

(1,1)(0,1)A

BC

D

espace 3D espace texture

Mise en situation : RVI / Cédric Fleury - APP5 Info à Polytech Paris-Sud - Introduction au Rendu 3D

v

ux

y

(0,0) (1,0)

(1,1)(0,1)A

BC

D

P

espace 3D espace texture

Placage de textures

• Pour un pixel donné P : – Les coordonnées texture de P sont obtenues

par interpolation bilinéaires des coordonnées de texture des sommets ABCD

42

top related