Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
GRAPHISME PAR ORDINATEUR
SIF-1032
2
Contenu du cours 7 Rendu de surfaces Rendu de surfaces (OpenGL 3.x)
Couleur Couleur et réflexion de la lumière Sources lumineuses Effets d’illumination Exemples pratiques Rendu de surfaces (OpenGL 3.x) Chargement de modèles OBJ Normales, composantes: ambiante, diffuse et spéculaire Lectures (Chapitre 8) nehe.gamedev.net: Solid objects (Lesson 5)
3
Rendu de surfaces Les méthodes de rendu de surfaces permettent d’ajouter les surfaces, leurs propriétés ainsi que leurs interactions avec les sources lumineuses Rendu uniforme (flat shading)
4
Rendu de surfaces Rendu lisse (Smooth shading)
Rendu lisse avec composante spéculaire
5
La couleur Une couleur est déterminée par sa longueur d'onde et par son intensité. Le rouge à une longueur d'onde de 700 nm et le bleu a une longueur d'onde de 400 nm. Toutes les longueurs d'onde entre le bleu et le rouge, dont le jaune et le vert, se trouvent entre le bleu et le rouge. Les écrans utilisés sur les ordinateurs (moniteurs) utilisent des points qu'on appelle "pixel". Chaque pixel est constitué de 3 petits cercles de couleur rouge (Red), vert (Green), bleu (Blue). Ainsi, on appelle ce mode de représentation des couleurs: RGB. Pour chaque pixel d'une fenêtre à l'écran, on doit spécifier l'intensité de chaque composante de couleur RGB. La méthode la plus utilisée consiste à donner, pour chaque composante RGB, l'intensité avec un nombre de 8 bits (unsigned char) de 0 à 255. Avec OpenGL , on peut aussi utiliser un nombre float de 0.0 à 1.0. Notez que (1,1,1) est le blanc le plus intense. Par exemple: glColor3f(1.0f, 0.0f, 0.0f); // rouge vif (composantes float) glColor3ub(255,0,0); // rouge vif exprime avec des composantes unsigned char
6
La couleur (Composante et LUT)
OpenGl utilise aussi une 4ième composante lors de la spécification d’une couleur, le facteur Alpha (). Cette composante additionnelle permet de mélanger (blend) un pixel avec le pixel du fond et permet ainsi d’implémenter les effets de transparence. La couleur peut être spécifiée en format 24 bits (8,8,8) pour le RGB, correspondant à 16 millions de couleurs, ou le mode True Color avec 32 bits par pixel (RGBA). Notez qu'une table de couleur appelée LUT: Lookup Table, est très utile pour créer des effets spéciaux haute vitesse, pour les jeux sur ordinateur. Toutefois, en général, nous devrions disposer de plus que 256 (Ancien standard des anciennes cartes graphiques SVGA) entrées dans la table.
7
La couleur Modèle RGB pour la couleur
8
Modèle RGB pour la couleur
2 vues du cube RGB
9
La couleur Modèle RGB pour la couleur (Voir exemple ccube, version 2.x)
10
La couleur Modèle RGB pour la couleur (Voir exemple ccube, version 2.x)
11
La couleur Modèle RGB pour la couleur (Voir exemple ccube, version 2.x)
12
La couleur Dans le modèle de coloriage GL_SMOOTH, "Smooth" signifie de mélanger les couleurs de façon bi-linéaire: les 4 sommets d'une facette reçoivent une couleur et le système mélange les couleurs des sommets selon la proximité relative à chaque sommet et ce de façon linéaire. Nous remarquons que les couleurs sont tellement mélangées qu'on n'arrive pas à les distinguer. Ceci vient du fait que l'oeil humain perçoit la couleur d'une région en fonction du contraste de son voisinage. Un rouge sur un fond bleu n’a pas le même effet de contraste que le même rouge sur un fond vert.
13
La couleur et la réflexion de la lumière
Dans une scène réelle, la couleur réfléchie des objets est fonction de l’illumination et des propriétés des surfaces Scène sans illumination et propriétés de surfaces
14
La couleur et la réflexion de la lumière
Propriétés de la lumière supportées par OpenGL: ambient, diffuse, specular, emissive OpenGL permet de définir des propriétés des surfaces liées à leurs interactions avec la lumière, en spécifiant le potentiel de réflexion, d'absorption ou d'émission de chacune de ces surfaces. OpenGL traite différents types de lumière: ambient: lumière non directionnelle découlant de la réflexion de la lumière sur un ensemble de surfaces (lumière ambiante). diffuse: lumière réfléchie dans toute les directions à partir d’une surface plutôt rugeuse. Correspond à la réponse à une lumière directionnelle. specular: lumière directionnelle réfléchie d’une surface lisse comme un miroir ou une surface métallique. c'est la réponse correspondant à l'effet de miroir emissive: Lumière émise par une surface.
15
La couleur et la réflexion de la lumière
Quand la composante de lumière ambiante est fixée par exemple à (1.0,0.5,0.5) et qu’une surface a un potentiel de réflexion de la lumière ambiante (une réponse à la lumière ambiante) de (0.5, 0.5, 0.4), alors la couleur ambiante de la surface sera (1.0*0.5, 0.5*0.5, 0.5*0.4), ce qui correspond à une couleur (0.5, 0.25, 0.20). En fait nous retrouvons d’une part la lumière émise d’un source lumineuse. Cette lumière émise de la source possède un ensemble (un mélange) de longueurs d’onde, une couleur. Par exemple, un faisceau de lumière blanche correspond à la couleur (255, 255, 255). D’autre part, nous retrouvons une surface qui interagit avec la lumière, qui possède des propriétés de réflexion de la lumière incidente. Le calcul précédent, s'applique à toutes les sortes de lumières quelles soient ambiante, diffuse ou spéculaire.
16
La couleur et la réflexion de la lumière
Lumière ambiante Une surface non exposée directement à une source de lumière reste quand même visible si les objets environnants sont illuminés Le modèle d’illumination suppose que les multiples réflexions de lumière provenant des surfaces produisent une illumination uniforme (lumière ambiante) La lumière ambiante n’a pas de prédominance spatiale ou directionnelle Le niveau de lumière ambiante incident de chaque surface est alors supposé constant avec une valeur Ia
17
La couleur et la réflexion de la lumière
Lumière ambiante La lumière réfléchie est aussi constante pour chaque surface et est indépendante de la direction de visualisation et de l’orientation spatiale des surfaces L’intensité de la lumière réfléchie de chaque surface est fonction de ses propriétés de réflexion et d’absorption
18
La couleur et la réflexion de la lumière
Lumière diffuse La lumière diffusée à partir d’une surface, provient d’une direction donnée mais est réfléchie uniformément dans toute les directions
19
La couleur et la réflexion de la lumière
Lumière diffuse Par contre, l’intensité de la lumière diffuse est fonction de l’angle d’incidence du faisceau incident par rapport à la surface. L’intensité de lumière diffuse réfléchie étant maximale quand le faisceau incident est parallèle à la normale d’une surface et diminue plus la direction d ’illumination s’éloigne de la normale
20
La couleur et la réflexion de la lumière
Lumière diffuse L’intensité réfléchie est fonction des propriétés optiques des surfaces La fraction de lumière incidente qui est diffusée peut être établie pour chaque surface avec une valeur Kd 0,1 (coefficient de réflexion diffuse) Pour une surface brillante Kd -> 1 (forte réflexion) Pour une surface terne Kd -> 0 (forte absorption) Lorsqu’une surface est seulement exposée à la lumière ambiante
21
La couleur et la réflexion de la lumière
Lumière diffuse
22
La couleur et la réflexion de la lumière
Lumière diffuse Pour avoir un rendu de scène plus réaliste au moins une source lumineuse est incluse et ce souvent à la position de visualisation La réflexion diffuse d’une surface illuminée par une source ponctuelle implique la réflexion d’ondes lumineuses d’intensité égale dans toutes les directions et ce indépendamment de la direction de visualisation (surface Lambertienne) Par ailleurs, selon la loi des cosinus de Lambert, l’énergie radiante réfléchie par n’importe quel point d’une surface de section dA orientée dans n’importe quelle direction N par rapport à la normale N est proportionnelle à cosN
23
La couleur et la réflexion de la lumière
Lumière diffuse Énergie radiante réfléchie dA cos N
24
La couleur et la réflexion de la lumière
Lumière diffuse L’intensité lumineuse réfléchie dépend de l’énergie radiante émise normalisée par la surface projetée perpendiculairement à la direction N (dA cos N) Par conséquent, pour des surfaces Lambertiennes l’intensité lumineuse réfléchie est la même dans toutes les directions La brillance des surfaces dépend de leur orientation par rapport à la source lumineuse Une surface orientée perpendiculairement par rapport à la direction de la lumière incidente est plus brillante qu’une surface oblique
25
La couleur et la réflexion de la lumière
Lumière diffuse Illumination d’une surface
26
La couleur et la réflexion de la lumière
Lumière diffuse L’intensité lumineuse réfléchie d’un point d’une surface connaissant l’intensité de la source ponctuelle Il est Si la surface est perpendiculaire à la lumière incidente Ildiff sera maximale ( = 0, angle d’incidence, cos(0) = 1)
27
La couleur et la réflexion de la lumière
Lumière diffuse cos = N L ou N est le vecteur unitaire normal à la surface et L le vecteur unitaire dans la direction de la source
28
La couleur et la réflexion de la lumière
Lumière diffuse Les valeurs de réflexion devraient idéalement être calculées dans le système de coordonnées de visualisation La figure suivante illustre le calcul de Ildiff pour Kd 0,1 et ce pour une scène illuminée seulement par une source ponctuelle
29
La couleur et la réflexion de la lumière
Lumière diffuse Si nous ajoutons l’illumination ambiante l’équation de réflexion devient Ka et Kd dépendent des propriétés de chaque surface
30
La couleur et la réflexion de la lumière
Lumière diffuse Illumination ambiante et diffuse
31
La couleur et la réflexion de la lumière
Lumière diffuse Illumination ambiante et diffuse
32
La couleur et la réflexion de la lumière
Lumière spéculaire Les surfaces lisses réfléchissent la lumière dans une direction privilégiée
33
La couleur et la réflexion de la lumière
Lumière spéculaire L’observation de surfaces luisantes (métal poli, pomme) nous permettent de constater que pour certaines directions de visualisation la surface est plus brillante (réflexion spéculaire) La réflexion des ondes lumineuses incidentes est concentrée autour de l’angle de réflexion spéculaire ()
34
La couleur et la réflexion de la lumière
Lumière spéculaire R est le vecteur unitaire pointant dans la direction de réflexion spéculaire et V le vecteur unitaire pointant dans la direction de l’observateur Pour une surface spéculaire parfaite, la lumière incidente est réfléchie seulement dans la direction de R et est perçue par l’observateur seulement si R coïncide avec V ( = 0) Les surfaces spéculaires imparfaites réfléchissent la lumière incidente dans un faisceau centré à R dont l’ouverture est fonction des propriétés de la surface
35
La couleur et la réflexion de la lumière
Lumière spéculaire Les surfaces spéculaires imparfaites
36
La couleur et la réflexion de la lumière
Lumière spéculaire Réflexion spéculaire et modèle de Phong Dans le modèle de Phong l’intensité lumineuse réfléchie est donnée par
37
La couleur et la réflexion de la lumière
Lumière spéculaire Réflexion spéculaire et modèle de Phong Ks est le coefficient de spécularité et ns un paramètre de réflexion spéculaire Ks 0,1 alors que ns est grand (ex.: 100 et plus) pour les surfaces luisantes et petit (ex.: 1) pour les surfaces ternes
38
La couleur et la réflexion de la lumière
Réflexion diffuse et spéculaire Pour une source lumineuse ponctuelle
39
La couleur et la réflexion de la lumière
Réflexion diffuse et spéculaire
40
La couleur et la réflexion de la lumière
Réflexion diffuse et spéculaire Pour plusieurs sources lumineuses ponctuelles, I devient:
41
La couleur et la réflexion de la lumière
Réflexion diffuse et spéculaire Ajout de la couleur Si nous utilisons une notation RGB chaque couleur dans la scène est exprimée en terme des composantes rouge, vert et bleu Nous devons alors spécifier les composantes RGB de l’intensité de la source lumineuse ainsi que les coefficients de réflexion sous forme de triplet Le coefficient de réflexion diffuse pour être représenté par un triplet comme (KdR,KdG,KdB) Pour une surface bleue nous aurions (0,0,[0,1]) Les composantes R et G de lumière incidente sont absorbées par la surface alors que le B est réfléchi
42
La couleur et la réflexion de la lumière
Réflexion diffuse et spéculaire Ajout de la couleur
43
La couleur et la réflexion de la lumière
Réflexion diffuse et spéculaire Ajout de la couleur L’intensité de chaque composante est donnée par
44
La couleur et la réflexion de la lumière
Exemple pratique (voir projet Litjet) Les triangles dessinés sont gris sans effets lumineux
45
La couleur et la réflexion de la lumière
Exemple pratique (voir projet Litjet) Les triangles dessinés sont gris sans effets lumineux
46
La couleur et la réflexion de la lumière
Exemple pratique (voir projet Litjet) Les triangles dessinés sont gris avec lumière ambiante et diffuse
47
La couleur et la réflexion de la lumière
Exemple pratique (voir projet Litjet) Les triangles dessinés sont gris avec effets lumineux
48
Rendu de surfaces (OpenGL 3.x)
Voir les tutoriels: Voir le code associé:
49
Rendu de surfaces (OpenGL 3.x)
Chargement de modèles OBJ (tutoriel 7), cube:
50
Rendu de surfaces (OpenGL 3.x)
Chargement de modèles OBJ (tutoriel 7), cube: Voir la méthode loadOBJ():
51
Rendu de surfaces (OpenGL 3.x)
Chargement de modèles OBJ (tutoriel 7), cube: Exécution
52
Rendu de surfaces (OpenGL 3.x)
Chargement et utilisation des normales
53
Rendu de surfaces (OpenGL 3.x)
Chargement et utilisation des normales (fragmentShader)
54
Rendu de surfaces (OpenGL 3.x)
Chargement et utilisation des normales (fragmentShader ….)
55
Rendu de surfaces (OpenGL 3.x)
Chargement et utilisation des normales (vertexShader)
56
Rendu de surfaces (OpenGL 3.x)
Composante diffuse (Énergie lumineuse diffusée) Si n.l < 0 cosTheta = 0
57
Rendu de surfaces (OpenGL 3.x)
Composante diffuse (couleur réfléchie) // Fragment shader // Vertex shader
58
Rendu de surfaces (OpenGL 3.x)
Composante diffuse (couleur réfléchie, voir suzanne.obj)
59
Rendu de surfaces (OpenGL 3.x)
Composante ambiante (couleur réfléchie) // fragment shader // fragment shader
60
Rendu de surfaces (OpenGL 3.x)
Composante ambiante (couleur réfléchie)
61
Rendu de surfaces (OpenGL 3.x)
Composante spéculaire (couleur réfléchie) // fragment shader pow(cosAlpha,5) donne l’ouverture du faisceau réfléchis, un exposant plus grand donne un faisceau plus fin
62
Rendu de surfaces (OpenGL 3.x)
Composante spéculaire (couleur réfléchie)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.