Oświetlenie (grafika komputerowa)
Ten artykuł należy dopracować |
W grafice 3D wierne modelowania rzeczywistego oświetlenia w dużej mierze stanowi o fotorealizmie danej sceny. Rozróżnia się dwa główne podejścia do oświetlenia sceny:
- oświetlenie lokalne – obliczenia związane z rozkładem oświetlenia są wykonywane w zależności od położenia obserwatora; to podejście jest wykorzystywane w ray tracingu;
- oświetlenie globalne – oświetlenie jest liczone dla całej sceny; to podejście jest stosowane w mapowaniu fotonowym, path tracingu, radiosity.
Spora część efektów świetlnych (takie jak odblaski, odbicia i załamanie światła) ściśle zależy od położenia obserwatora, natomiast oświetlenie globalne dobrze oddaje subtelne cienie. Dlatego taż obecnie stosowane są rozwiązania hybrydowe, które pozwalają w bardzo dużym stopniu oddać rzeczywiste efekty świetlne, widziane ludzkim okiem.
Realizm
O realizmie oświetlenia decydują następujące elementy:
- źródła światła;
- charakterystyka powierzchni obiektów trójwymiarowych;
- interakcja światła z obiektami:
- rzucanie cienia,
- odbicie,
- załamanie,
- rozszczepianie i skupianie światła;
- interakcja światła z otoczeniem – światło może być tłumione w ośrodku lub rozpraszane.
Źródła światła
Światła mogą być punktowe lub posiadać pewną powierzchnię. Światła punktowe są stosowane częściej, ponieważ ich model matematyczny jest bardzo prosty, ale niestety dają bardzo ostre, nienaturalne cienie. W świecie rzeczywistym promieniują powierzchnie, dając w efekcie miękkie cienie – modelowanie tego rodzaju źródeł światła jest trudniejsze i bardziej kosztowne obliczeniowo.
Światła mogą promieniować w każdym kierunku, ale również model matematyczny światła może nakładać ograniczenia, np. dając efekt podobny do światła latarki (ang. spot lights).
W oświetleniu lokalnym stosuje się również:
- Światła kierunkowe – określa się jedynie kierunek, z którego pada światło; promienie są do siebie równoległe – można w ten sposób symulować np. jaskrawe światło słoneczne.
- Światło otoczenia – jest to natężenie światła jakie „emituje” otoczenie; założenie, że natężenie jest wszędzie jednakowe rzadko kiedy jest spełnione w rzeczywistym świecie.
Charakterystyka powierzchni (cieniowanie)
Charakterystyki powierzchni mogą być oparte na fizycznych podstawach (np. cieniowanie Lamberta, Blinna) albo po prostu dobrze przybliżać wygląd niektórych powierzchni (np. cieniowanie Phonga, metaliczne). Charakterystyki opisują jaki procent światła odbitego trafia do oka obserwatora, w zależności od kąta padania światła na powierzchnię; dodatkowo można również określić kolor światła odbitego.
Poza wybraniem charakterystyki powierzchni, obiektowi należy przypisać również kolor lub fakturę. W przypadku powierzchni metalicznych można określić współczynnik odbicia światła, a w przypadku obiektów przezroczystych stopień przezroczystości i współczynnik załamania światła.
Oświetlenie w grach komputerowych
Pełne oświetlenie sceny wymaga dużych nakładów obliczeniowych, ale w grach komputerowych (czy bardziej ogólnie: grafice czasu rzeczywistego), dzięki znacznemu wzrostowi wydajności kart graficznych, możliwe jest uzyskanie niektórych efektów związanych z oświetleniem:
- cieniowanie Lamberta i cieniowanie Phonga,
- cienie,
- odbicia zwierciadlane,
- światła wolumetryczne,
- przezroczystość bez załamań.
Po raz pierwszy oświetlenia globalnego do wyznaczania statycznego oświetlenia użyto w grze komputerowej Quake, uzyskując dzięki temu duży realizm scen.
Zobacz też
- materiał
- cieniowanie płaskie
- cieniowanie Gourauda
- ambient occlusion
- mapowanie wypukłości
- mapowanie paralaksy
- bufor Z