Symulacje komputerowe

17
Symulacje Symulacje komputerowe komputerowe Fizyczny model Fizyczny model oświetlenia w 3D oświetlenia w 3D zyka w modelowaniu i symulacjach komputerowych cek Matulewski (e-mail: [email protected]) tp://www.fizyka.umk.pl/~jacek/dydaktyka/modsym/ Wersja: 7 kwietnia 2010

description

Fizyka w modelowaniu i symulacjach komputerowych Jacek Matulewski (e-mail: [email protected] ) http://www.fizyka.umk.pl/~jacek/dydaktyka/modsym/. Symulacje komputerowe. Fizyczny model oświetlenia w 3D. Wersja: 7 kwietnia 2010. Plan. Opis koloru w grafice. Układy współrzędnych koloru - PowerPoint PPT Presentation

Transcript of Symulacje komputerowe

Page 1: Symulacje komputerowe

Symulacje komputeroweSymulacje komputeroweFizyczny model oświetlenia w 3DFizyczny model oświetlenia w 3D

Fizyka w modelowaniu i symulacjach komputerowychJacek Matulewski (e-mail: [email protected])http://www.fizyka.umk.pl/~jacek/dydaktyka/modsym/

Wersja: 7 kwietnia 2010

Page 2: Symulacje komputerowe

Plan

1. Opis koloru w grafice. Układy współrzędnych koloru2. Oświetlenie w 3D. Model oświetlenia Phonga3. Prawo Lamberta4. Cieniowanie płaskie, Gourarda i Phonga (uśr. norm.)5. Cieniowanie globalne. Ray tracing

Page 3: Symulacje komputerowe

Kolor

• Składowe RGB + A (atrybut figury), alternatywa HSB

• R = 650 nm, G = 530 nm, B = 450 nm

• Możliwość cieniowania wewnątrz figury (atrybut wierzchołków)

Page 4: Symulacje komputerowe

Kolor• Inne układy wsp. kolorów nie są wspierane w XNA:

CMY(K), HSB, YPbPr, CIE xyY, CIE LUV, CIE Lab

• RGB – dobre dla monitorów, TV (emisja światła), odpowiada fizjologii oka• CMY(K) = 1 – RGB – drukarki (absorpcja światła)

Page 5: Symulacje komputerowe

Kolor

• HSB (HSV, HSL) – hue, saturation, brightness (value, lightness, luminance)

• Bardziej intuicyjne, używane w interakcji z człowiekiem

Page 6: Symulacje komputerowe

Fizyka i biologia koloru

• Składowe RGB + A (atrybut figury), alternatywa HSB

• R = 650 nm, G = 530 nm, B = 450 nm

Page 7: Symulacje komputerowe

Fizyczny model oświetlenia – na efekt końcowy (tj. kolor piksela) wpływają „własności emisyjne” źródła światła, „własności absorpcyjne” materiału, który jest oświetlany i własności ewentualnych ciał półprzezroczystych

Światło (cieniowanie)

Typy źródeł oświetlenia:• Światło otoczenia (ambient) – bez źródła i kierunku – rozświetla jednorodnie całą scenę, także wewnątrz figur) – nie daje cieni na obiekcie (nie ma złudzenia 3D)

Typy źródeł oświetlenia:• Światło otoczenia (ambient)• Rozproszone (diffuse) – posiada źródło, ale jest jednorodne we wszystkich kierunkach Generalnie: Jasność proporcjonalna do kosinusa kąta padania (normalna)

Typy źródeł oświetlenia:• Światło otoczenia (ambient)• Rozproszone (diffuse)• Rozbłysk (specular) – źródło i kierunek reflektor, efekt „zajączka” – rozbłysku na gładkich pow.

+ + =

Typy źródeł oświetlenia:• Światło otoczenia (ambient) – światło słoneczne w białym pomieszczeniu• Rozproszone (diffuse) – mleczna żarówka, świeca• Rozbłysk (specular) – reflektor, odbicie od lustra

Dla każdego typu parametry materiału ustalane są osobno

Page 8: Symulacje komputerowe

Model oświetlenia Phonga

+ + =

• Opracowany w 1975 przez Phong Bui-Tuonga• Jest jedynie zgrubnym przybliżeniem praw optyki• Zakłada trzy niezależne komponenty odbitego światła• Światło rozproszone – model Lamberta (1760)

• Model cieniowania Phonga (coś innego niż model ośw.) = interpolacja normalnych (uśrednianie normalnych)

Page 9: Symulacje komputerowe

Model oświetlenia Phonga

+ + =

• W XNA i Direct3D model Phonga jest uzupełniony o światło emisji (emission)• Imitacja źródła światła (jednak nie oświetla innych aktorów na scenie!)• Realizowane podobnie jak światło otoczenia

Page 10: Symulacje komputerowe

Prawo LambertaModel światła rozproszonego

Jasność przedmiotu (natężenie światła) równa jest Ii.Jest ono jakąś funkcją natężenia światła padającego napowierzchnię i kąta odbicia (= padania)

Model zakłada, że natężenie światła odbitego Id jest proporcjonalne do „efektywnej powierzchni” widzianejprzez obserwatora Acos().

Id = Ii cos()

Obliczanie cos() jest szybkie:cos() = NxLx+NyLy+NzLz

N – wektor normalny, L – promień św. odbitego

NL

Page 11: Symulacje komputerowe

Model PhongaModel światła specular („zajączek”)

Wprowadzony przez Phonga – nie w ma podstaw fizycznych

Is = Ii cos n

()

Parametr n kontroluje „ostrość” zależności od kąta pod którym oglądamy fragment powierzchni

n = 1, 5, 10, 20, 50, 100n ~ B..Effect.SpecularPower

N – wektor normalnyL – promień św. odbitegoV – kierunek do obserwatora

NL

V

Page 12: Symulacje komputerowe

+ + = I

Model oświetlenia PhongaTrójkomponentowy model oświetlenia

+ + =

Ia Id Iska kd ks

ka kd ksIi cos() Ii cos n

()Ia

ambient diffuse specular

W rzeczywistości (tj. w XNA, Direct3D) takie obliczenia prowadzone są osobno dla każdej składowej koloru (RGB)

Page 13: Symulacje komputerowe

Modele cieniowaniaCieniowanie płaskie – jasność określana jest wzorem Phonga dla całej płaskiej powierzchni trójkąta w modelu.

W przypadku powierzchni płaskich efekt jest „kanciasty”

Jak kolorować powierzchnie zaokrąglone?

Dodatkowo niekorzystnyefekt pasm Macha

Page 14: Symulacje komputerowe

Modele cieniowaniaCieniowanie Phonga – obliczenia koloru dla każdego punktu trójkąta z wektorem normalnym wyznaczonym na podstawie interpolacji na bazie trzech wektorów normalnych przypisanych do każdego wierzchołka trójkąta

płaskie Phong

Page 15: Symulacje komputerowe

Modele cieniowaniaCieniowanie Gourauda – kolor punktu na prymitywie uzyskiwany jest przez interpolację składowych koloru jego wierzchołków (tylko te wyznaczane są np. wzorem Phonga)

Mniej wymagający numerycznie, ale też mniej realistyczny

Model to żona Henri Gourauda, Sylvie.

Wada: wyraźnie widać granicę użytych figur (wymaga gęstszej sieci niż met. Phonga)

Page 16: Symulacje komputerowe

• Obliczenia rekurencyjne• Używane w metodzie śledzenia promieni (ray tracing)• Powoli wchodzi do silników graficznych działających w czasie rzeczywistym• Automatycznie generuje także cienie obiektów rzucane na inne powierzchnie

Modele cieniowaniaCieniowanie globalne

Jim Kajiya, 1986 (Microsoft)

Przy obliczaniu składowych światła odbitegouwzględnia nie tylko światło pochodząceze źródeł, ale również odbite od innych pow.

I(x, x') – sumaryczna intensywność (składowe koloru) w punkcie x z punktu x'g(x, x') = 0 jeśli x i x‘ są przesłonięte, = 1/d 2 w przeciwnym wypadku, d = odl. między punktami x i x'(x, x') – intensywność emitowana przez x' do x(x, x ',x'') – intensywność światła odbitego z x'' do x przez x'S – wszystkie punkty na wszystkich powierzchniach odbijających światło

xdxxIxxxxxxxgxxI

S

),(),,(),(),()',(

Page 17: Symulacje komputerowe

Źródło: http://hof.povray.org

Przykłady użycia ray tracing