• Aucun résultat trouvé

Examen FinalLundi 21 Juin 2010, de 8h à 10hCoefficient : 40 %

N/A
N/A
Protected

Academic year: 2022

Partager "Examen FinalLundi 21 Juin 2010, de 8h à 10hCoefficient : 40 %"

Copied!
2
0
0

Texte intégral

(1)

UV IN55 : Synthèse d'images – Printemps 2010 Responsable : Fabrice LAURI

Examen Final

Lundi 21 Juin 2010, de 8h à 10h

Coefficient : 40 % Aucun document autorisé. Calculatrice autorisée.

Remarques et conseils :

Chaque partie devra être rédigée sur une feuille séparée.

Lisez attentivement chaque question avant d'y répondre.

Justifiez autant que possible vos réponses.

Partie I (8 points)

Exercice 1 – Questions de cours (4 points)

1. Rappeler les principales étapes du pipeline fixe d'OpenGL. A quels niveaux dans le pipeline fixe interviennent les Vertex Shaders et les Fragment Shaders ? (1 point)

2. Qu'est-ce qu'un modèle d'ombrage ? (0,5 point)

En quoi consiste le modèle d'ombrage de Phong ? (0,5 point) 3. Quelle structure de données est la plus efficace pour le stockage d’une scène statique ?

Pourquoi ? (0,5 point)

4. Quelle doit être la valeur émissive d’une surface pour projeter des ombres dans le cas d'un rendu différé et pour des ombres de type Shadow Map ? (0,5 point) 5. Qu'est-ce que la S.S.A.O ? Décrivez son principe. (1 point) Exercice 2 – Texture procédurale par Shader (4 points)

Soit un rectangle dont la surface représente un damier régulier de NxM cases de couleurs alternatives.

Proposez et commentez un programme Shader (Vertex Shader + Fragment Shader) qui permet de générer une texture de damier de manière procédurale, sans calcul d'illuminations.

Le programme Shader sera paramétré au moins par les informations suivantes :

Les composantes RVB des deux couleurs du damier

Le nombre N de cases horizontales

Le nombre M de cases verticales

Partie II (7 points)

Exercice 3 : Géométrie et illumination (3 points) Soient :

A (1 1 0) un point de couleur Ca (0.0 1.0 0.5) et de normale Na (0.0 0.0 1.0) ;

B (-1 -1 0) un point de couleur Cb (1.0 0.2 0.8) et de normale Nb (1.0 0.0 1.0) ;

P (0.5 0.5 0) le point appartenant à la droite AB ;

L (0 0 -1) le vecteur de direction d’une source de lumière directionnelle.

a) Donner les composantes RVB du pixel situé au point P dans le cas du modèle d’ombrage de Gouraud.

b) Donner les composantes RVB du pixel situé au point P dans le cas du modèle d’ombrage de

(2)

Phong.

Remarque :

Soient C et C' les vecteurs 3D de composantes RVB d’un point respectivement avant et après illumination. C’ peut être obtenu par l’équation suivante :

C’ = C * max (0, -N.L)

N et L doivent être normalisés. N est la normale à la surface et L le vecteur de lumière incident à la surface.

Exercice 4 : Structure de données et boîte englobante (4 points)

Soit un objet 3D complexe décomposé en différentes parties élémentaires (PEs) et rassemblé sous la forme d’un arbre binaire de nœuds intermédiaires. Pour chaque PE située en extrémité de l’arbre (feuille), on suppose connue sa boite englobante de la forme d’une sphère, définie par son centre et son rayon.

On cherche à créer dans un premier temps l’ensemble des boites englobantes des différents nœuds de l’arbre constituant cet objet, puis à optimiser le nombre PEs à afficher.

a) Proposer une structure de donnée BBox de la boite englobante (sphère) d’une partie élémentaire de base, et la procédure qui permet de déterminer la BBox d’un nœud à partir de celles de ses deux fils :

BBox* fusionneBB (BBox* bGauche, BBox* bDroite) ;

b) Proposer une structure de donnée BNode pour un nœud intermédiaire, incluant sa boite englobante.

c) Proposer un algorithme qui parcours l’arbre à partir de la racine de l’objet et génère les boites englobantes des nœuds intermédiaires :

void creeBB (BNode* nœud) ;

d) On suppose qu’on dispose d’une procédure qui donne le critère de visibilité d’une boite englobante par rapport à la position et orientation d’une caméra :

Boolean detecteVisibilite (BBox* bb) ;

Proposer l’algorithme de parcours de l’arbre de l’objet qui détermine les PEs de base susceptibles d’être interceptés par le cône de vision de la caméra.

listePE = rechercheVisibilite (BNode* nœud) ;

Partie III (5 points)

Exercice 5 – Génération de maillage et mapping (5 points)

1. Proposer un algorithme en pseudo-code permettant de générer une sphère unitaire. Toute structure de données utilisée devra être détaillée.

2. Soit une texture de taille NxN. Proposer une amélioration de l'algorithme précédent pour appliquer cette texture sur la sphère.

Références

Documents relatifs

Un modem a pour rôle de (sauvegarder/convertir/graver) un signal numérique en un signal transportable sur une ligne téléphonique : c’est la (modulation/démodulation), et

En appliquant une technique similaire, construire une pyramide régulière dont la base est un carré.. un cône de révolution de base de rayon 5cm et de

Mettez en évidence la différence principale et en calculez pour chacun l’estimateur à variance minimale... Vérifiez que les solutions obtenues avec ces deux méthodes sont

le maréchal de Vauban a réuni les différentes qualités dans le degré le plus éminent, supposent également la science de la fortification ; mais comme on peut posséder le détail de

On rappelle que le shadow mapping est une technique permettant de déterminer si un fragment est ombré ou non en le projetant dans l’espace de la lumière (considéré comme une

Décrivez aussi précisément que possible les étapes nécessaires pour obtenir ce rendu (en précisant notamment quels modèles 3D utiliser pour chaque objet de la scène, les lumières

On dispose de deux primitives graphiques tracerCarre() et traceTore() qui permettent respectivement de faire le rendu en 2D d'un carré unitaire et d'un tore dont

Montrez, en utilisant des coordonnées homogènes (vecteurs 4D et matrices 4x4), que la matrice représentant une translation suivie d'une mise à l'échelle n'est pas égale à la matrice