Post on 06-Jul-2018
transcript
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 1/48
1
Modele de culoare
Modelul RGB (Red Green Blue)
• Model aditiv
• Culorile sunt rezultatul luminii transmise
• Folosit de monitoare
Red + Blue + Green = White
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 2/48
2
Modele de culoare
Modelul RGB (Red, Green, Blue)
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 3/48
3
Modele de culoare
Modelul CMY(Cyan, Magenta, Yellow)
• Model extractiv
• Culorile sunt rezultatul luminii reflectate
• Folosit la imprimante
Cyan + Magenta + Yellow = Black
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 4/48
4
Modele de culoare
Modelul CMY (Cyan, Magenta, Yellow)
• Model complementarcu modelul RGB:
• C=1-R
• M=1-G
• Y=1-B
B
G
R
Y
M
C
1
1
1
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 5/48
5
Modele de culoare
• Modelul CMYK• Datorita imperfectiunii cernelurilor se
adauga K (blacK)
– K = min(C,M,Y)
– C = C-K
– M = M-K – Y = Y-K
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 6/48
6
Modele de culoare
Modelul HSV (Hue, Saturation, Value)
negru
alb
tente
tonuri
nuante
culoare pura
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 7/48
7
Modele de culoare
Black
White
Modelul HSV (Hue, Saturation, Value)
Blue
Cyan Red
YellowGreen
Magenta
V
S
H
V: [0, 1]
S: [0, 1]
H: [00, 3600]
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 8/48
8
Modele de culoare
Modelul HSV (Hue, Saturation, Value)
(300, 1, 1)Magenta(1, 0, 1)
(240, 1, 1)Blue(0, 0, 1)
(180, 1, 1)Cyan(0, 1, 1)
(120, 1, 1)Green(0, 1, 0)
(60, 1, 1)Yellow(1, 1, 0)
(0, 1, 1)Red(1, 0, 0)
HSVRGB
Black
White
Blue
Cyan
Green
V
Red
Yellow
Magenta
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 9/48
9
Modele pentru calculul luminii
• Modele empirice: – Lumina ambianta
– Lumina difuza
– Lumina speculara
• Modele analitice
– Modelul Lambert
– Modelul Gouraud – Modelul Phong
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 10/48
10
• Iluminarea locala – sursele de lumina
– pozitia observatorului
– proprietatile de material
• Iluminarea globala
– interactiunea dintre lumina
provenita de la toatesuprafetele scenei
Modele pentru calculul luminii
obiect 1
obiect 2obiect 3
obiect 4
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 11/48
11
Lumina ambientala
• Obiectele primesc lumina de la
– sursele de lumina
– lumina reflectata sau transmisa de celelalte obiecte
ale scenei = lumina ambientala (este o sursa de
lumina distribuita uniform in spatiu).
Iam
= Ia
* ka
• Ia – este intensitatea luminii ambientale (este constantapentru toate obiectele scenei)
• ka
( 0<= ka<= 1) este coeficientul de difuzie a
luminii ambientale, dependent de material.
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 12/48
12
Lumina difuza
• Lumina difuza – se apropie cel mai mult de majoritatea luminilor din
lumea reala
– clasa luminilor cu sursa si directie.
– pozitia observatorului nu influenteaza culoareaobiectului in acest caz (intensitatea sa este aceeasiindiferent de pozitia observatorului)
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 13/48
13
Lumina difuza
• Trebuie sa se determine cantitatea de lumina primita
de obiect de la sursa de lumina: legea lui Lambert.
Primeste mai multa lumina Primeste mai putina lumina
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 14/48
14
Lumina difuza
Id=I
p* k
d* cos(i)
• Daca vectoii N si L sunt normalizati:
Id = Ip * kd * (N.L)
• Ip – este intensitatea luminii incidente
• kd – este coeficientul de difuzie aluminii incidente, 0<=k
d<=1.
i
N
L
P
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 15/48
15
Lumina difuza
• Pentru vizualizarea a doua suprafete paralele construite
din acelaşi material se va obtine o aceeasi intensitate
• Obiectele mai îndepărtate de sursă sunt mai slab luminate.
d Distanta de la sursa de lumina
k C coeficient de atenuare constant
k L coeficient de atenuare liniar
k Q coeficient de atenuare patratic
2
d*k d*k k
1f
QLC
at
N
L
B
A
Id
= f_atenuare * Ip* k
d* (N.L)
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 16/48
Lumina difuza
16
Raza incidenta
Normala
U = unghi(Raza incidenta, Normala)
• A: U ~ 90 => putina lumina
• B: U ~ 0 => lumina maxima
• C: U > 90 => nu primeste lumina
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 17/48
17
Lumina speculara
• Este componenta care da stralucirea obiectelor.
• Se aseamana cu lumina difuza, este focalizata.
• Lumina speculara nu poate fi vazuta din orice
pozitie.• Observatorul trebuie sa se afle chiar pe directia ei.
• Aceasta componenta depinde de pozitiaobservatorului.
nu vede nimic
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 18/48
18
Lumina speculara
Is
= Ip* k
s* cos(φ)n
ks: coeficientul de reflexie speculara
N: normala la suprafata in P
IP: intestatea luminii
n: coeficient de stralucire
vectorii R si V normalizati
Is = Ip* k s * (R.V)n
i i V
R N
L
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 19/48
19
Lumina speculara
Is = Ip* k s * (R.V)n
H = (L+V)
(N·H) ≈ (R.V)
Is = Ip* k s * (N.H)n
V
R NL H
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 20/48
Lumina speculara
• Lumina specularadaca unghiul format
de N si H < 90
20
H = V + L
V
R NL H
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 21/48
21
N N
n mare n mic
R L L R
Lumina speculara
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 22/48
22
Iluminare
ambientala difuza speculara
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 23/48
Iluminare
23
ambientala ambientala+difuza speculara
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 24/48
24
Exemplu de iluminare
Lumina ambientala Lumina difuza Lumina speculara
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 25/48
25
Calculul luminii
• Iluminarea de la o sursa de lumina i:
Iluminarei
= ambientala + difuza + speculara
• Daca sunt N surse de lumina
Iluminarea totala pentru un punct P = i=1..N (Iluminarei)
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 26/48
26
Modelul Lambert
• Pentru fiecare fata se calculeaza o
singura intensitate
I = k* (Nu · L
u)
• Nu este vectorul unitate normal la suprafata• L
ueste versorul directiei sursei de lumina
• k este constanta
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 27/48
27
Modelul Gouraud
1. Se calculeaza o normala in fiecare varf al reteleipoligonale.
2. Se calculeaza o intensitate in fiecare
varf al reţelei.
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 28/48
28
Modelul Gouraud
3. Se afişeaza suprafata calculand intensitatea intr -un punct al unui poligon:
• prin interpolarea
liniara a intensitatilor varfurilor, pentru
punctele de pe laturi;
• prin interpolare liniara intre intensitatile de pe
laturi, pentru punctele interioare de
pe fiecare linie de hasurare.
M d l d il i
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 29/48
29
Modele de iluminareModelul Lambert
Modelul Gouraud
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 30/48
30
Modelul Phong
• Se calculeaza normala in fiecare varf alsuprafetei
• Se calculeaza normala in fiecare punct interior suprafetei de afisat (prin interpolare)
• prin interpolarea liniara anormalelor varfurilor, pentru punctele de pelaturi;
• prin interpolare liniara intre normalele de pelaturi, pentru punctele interioare depe fiecare linie de hasurare.
• Se calculeaza intensitatea in fiecare punct
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 31/48
31
Modelul Phong
• Interpolarea normalelor
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 32/48
32
Modelul Gouraud - Phong
Gouraud Phong
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 33/48
33
Iluminarea in OpenGL
• se calculeazailuminarea in varfuri
Modelul de
iluminare se
aplica pentru
toate punctele
unei suprafete
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 34/48
34
Modelul de iluminare
• Atributele luminii (intensitatea luminii, culoare, pozitie,
directie, forma)
• Atributele suprafetelor obiectelor (culoare,
transparenta)
• Interactiunea dintre lumini si obiecte (orientarea
obiectelor)
• Interactiunea dintre obiecte si observator (directia de
vizualizare)
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 35/48
35
Calculul luminii in OpenGL
• Tipuri de lumini (pentru fiecare sursa de lumina):
– Ambientala
– Difuza
– Speculara
• Lumina emisiva (lumina pe care un obiect o emite prin el insusi)
– obiecte incandescente
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 36/48
36
Realizare iluminare
• Specificarea surselor de lumina
• Specificarea proprietatilor de material
• Specificarea normalelor
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 37/48
37
Tipuri de lumina
– sursa de
lumina este lainfinit (lumina
directionala)
– sursa de
lumina se afla
exact in
pozitia finita(lumina
pozitionala) Lumina pozitionalaLumina de tip spot
soare
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 38/48
Exemplu
Lumina pozitionala
GLfloat light_position[] = { 50.0, 100.0, -50.0, 1.0 };
Lumina directionala (soarele)
GLfloat light_direction[] = { -1.0, 0.0, 0.0, 0.0 };
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 39/48
39
Proprietati sursa de lumina directionala
GLfloat light_ambient[] = {0.2, 0.2, 0.2, 1.0};
GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 1.0};
GLfloat light_specular[] = {1.0, 1.0, 1.0, 1.0};
GLfloat light_position[] = {-1.0, 1.0, -1.0, 0.0};
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 40/48
40
Specificarea luminilor
• lumina de tip spot
–Directie spot D(x,y,z) in care este orientat spotul
–CUTOFF - deschiderea spotului (θ)
–EXPONENT - reprezinta concentratia luminii in
interiorul spotului (poate fi constanta sau mai puternica
spre centru si mai mica spre margini).
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 41/48
Lumina de tip spot
•Directia sursei de lumina de tip spot: D
•P - punctul care trebuie sa fie luminat
if unghi(D, L) < θ then P in conul de lumina
θ
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 42/48
Lumina punctiforma / de tip spot
42
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 43/48
43
Lumina de tip spot
–EXPONENT - reprezinta concentratia luminii in
interiorul spotului (poate fi constanta sau mai puternicaspre centru si mai mica spre margini).
Con de lumina:
– Con interior – intensitate constanta
– Con exterior – intensitate variabila
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 44/48
Modificarea intensitatii luminii
spotEffect = (D. L)spotExponent
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 45/48
Exemplu
GLfloat light_position[] = { 50.0, 100.0, -50.0, 1.0 };GLfloat light_spot_direction[] = { 0.0, 0.0, -1.0};
GLfloat light_spot_cutoff[] = { 25.0 };
GLfloat light_spot_exp[] = { 2.0 };
Lumina de tip spot
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 46/48
46
Specificarea luminilor
• Specificarea factorului de atenuare, numai pentruluminile pozitionale
– Componentele factorului de atenuare
– Constant
– Liniar
– Patratic2
1 _
d k d k k atenuare f
Q LC
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 47/48
47
Specificarea proprietatilor de material
• Ambientala• Difuza
• Speculara
• Emisiva (obiect incandescent - obiectul va apareagenerand lumina prin el insusi fara sa o primeascadin alta parte)
– Specificata sub forma de culoare (RGB sau RGBA)
8/18/2019 6_Modele de Culoare. Iluminare
http://slidepdf.com/reader/full/6modele-de-culoare-iluminare 48/48
Exemplu – proprietati de material
Setare proprietati de material
GLfloat mat_ambient[] = { 0.3, 0.3, 0.3, 1.0 };
GLfloat mat_diffuse[] = { 0.8, 0.8, 0.8, 1.0 };
GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat mat_shininess[] = { 50.0 };