Prawie całą tę książkę da się opowiedzieć promieniem. Prawie — bo gwiazdki wokół latarni, kolor powłoki i granica ostrości wymagają przyznania, że światło jest falą.
Kiedy rysujesz, jak działa soczewka, rysujesz kreski. Promień wchodzi, załamuje się, wychodzi pod innym kątem, spotyka się z innymi promieniami w punkcie ostrości. Ten obrazek jest podstawą całej optyki geometrycznej, całego trasowania promieni w rendererze i mniej więcej dziewięćdziesięciu procent tej książki.
Jest też fikcją. Nie istnieje nic takiego jak promień świetlny. Nie da się go wyizolować, nie da się go zmierzyć, nie da się zbudować przesłony tak wąskiej, żeby przepuściła dokładnie jeden. Promień jest konstrukcją rachunkową — linią prostopadłą do czoła fali, wygodną, bo pozwala zamienić trudny problem falowy na łatwą geometrię linii i kątów.
Fikcja jest jednak wyjątkowo dobra. Dopóki wszystko, na co światło trafia po drodze, jest znacznie większe od długości jego fali, przewidywania promienia zgadzają się z pomiarem co do ułamka procenta. A ponieważ długość fali światła widzialnego to jakieś pół mikrometra, a soczewki, przysłony i matryce mierzy się w milimetrach, ten warunek jest w obiektywie spełniony niemal wszędzie.
Niemal — i cała ta książka mieszka w wyjątkach.
Zwróć uwagę, że oba rysunki mówią dokładnie to samo. Soczewka opóźnia środek fali bardziej niż brzegi (bo w środku szkła jest więcej), więc płaskie czoło fali wygina się w kuliste i zbiega do punktu. Promienie, prostopadłe do tych czół, zbiegają się w tym samym punkcie. Nie ma tu sporu o naturę światła — jest wybór narzędzia rachunkowego.
Granica między jednym opisem a drugim nie jest ostra ani umowna. Wyznacza ją stosunek rozmiaru przeszkody do długości fali — i jest to jedyne kryterium, jakiego będziesz potrzebował.
Światło widzialne mieści się mniej więcej między 380 a 700 nanometrami. Środek widma, zieleń, na którą oko jest najczulsze, to 550 nanometrów — pół tysięcznej milimetra. Warto zbudować sobie do tej liczby jakąś intuicję, bo w tej książce będzie wracać co chwilę.
Żeby ta liczba przestała być abstrakcją: ludzki włos ma około siedemdziesięciu mikrometrów grubości, czyli mieści się w nim mniej więcej sto trzydzieści długości fali. Czerwona krwinka to siedem mikrometrów — trzynaście fal. Pojedyncza bakteria bywa już porównywalna z falą światła i właśnie dlatego jest granicą tego, co mikroskop optyczny potrafi pokazać: obiektu mniejszego od fali, którą go oświetlasz, nie da się nią zobaczyć ostro. To nie kwestia jakości szkła w mikroskopie, tylko dokładnie to samo ograniczenie, które za chwilę spotkamy przy przymykaniu przysłony.
Ta ostatnia obserwacja jest ważniejsza, niż wygląda. Otwór przysłony jest od fali kilka tysięcy razy większy, więc dla niego promień jest opisem znakomitym. Ale piksel matrycy jest większy zaledwie dziesięciokrotnie — i właśnie dlatego dyfrakcja, którą można ignorować przy rozważaniu kształtu wiązki, staje się widoczna, gdy patrzysz na obraz w skali piksela. Rozdział 10 jest w całości o tym momencie.
Przesuń suwak i zobacz, co się dzieje z wiązką przechodzącą przez szczelinę, gdy zaczynasz ją zwężać. Dopóki szczelina jest szeroka, światło idzie prosto i granica cienia jest ostra — dokładnie tak, jak przewiduje promień. Poniżej pewnej szerokości wiązka zaczyna się rozbiegać, i to tym mocniej, im węższa szczelina.
Zauważ, w którą stronę to działa, bo intuicja podpowiada odwrotnie: im mniejszy otwór, tym bardziej światło się rozlewa. To jest sedno całego kłopotu z przymykaniem przysłony i wrócimy do niego z liczbami w Rozdziale 10.
Skoro długość fali okazała się kryterium rozstrzygającym, warto od razu ustalić, czym w tej książce jest barwa. Nie nazwą i nie trójką liczb — długością fali w nanometrach. Światło słoneczne zawiera wszystkie długości z zakresu widzialnego naraz, w proporcjach opisanych ciągłą krzywą, a nie trzema wartościami.
To ma bezpośredni skutek w pracy. Renderer zwykle liczy w trzech kanałach, nie w widmie. Trzy liczby wystarczają, żeby oko zobaczyło właściwy kolor, ale nie wystarczają, żeby policzyć zjawisko, które zależy od długości fali w sposób ciągły. Powłoka wygaszająca odbicie przy 550 nanometrach robi coś innego przy 500, a jeszcze coś innego przy 600 — i sprowadzenie tego do RGB gubi dokładnie tę zależność, dla której warto było ją liczyć.
Dlatego renderery mające ambicję poprawnego oddania dyspersji albo cienkich warstw pracują widmowo, dzieląc światło na kilkanaście albo kilkadziesiąt pasm. Jest to kilka razy droższe i zwykle nieopłacalne — ale kiedy widzisz w rendererze przełącznik „spectral”, teraz wiesz, czego on dotyczy i dlaczego w ogóle istnieje.
Konsekwencje dla załamania — Rozdział 2. Dla powłok — Rozdział 24.
Zanim wypiszemy wyjątki, warto docenić, jak dużo obsługuje model promieniowy. Wszystko poniżej wynika z dwóch reguł — światło biegnie prosto, a na granicy ośrodków zmienia kierunek według prawa Snella:
To jest też dokładnie ten zakres, który potrafi twój renderer. Path tracing, ray marching, każda technika, jaką zna Arnold czy Cycles, operuje na promieniach — i dlatego wszystko z powyższej listy renderer potrafi policzyć sam, jeśli tylko dasz mu odpowiedni model kamery. Reszta tej książki będzie musiała wejść do obrazu inną drogą.
Są dokładnie trzy rodziny efektów, których z modelu promieniowego nie da się wyprowadzić — nie dlatego, że rachunek jest trudny, tylko dlatego, że w tym modelu nie ma wielkości, o które one pytają. Promień nie ma fazy, nie ma długości i nie ma kierunku drgania. Każde z tych trzech zjawisk pyta właśnie o jedną z nich.
Fala przechodząca przez otwór rozbiega się. Im ciaśniejszy otwór, tym silniej — i nie ma sposobu, żeby to obejść lepszym szkłem, bo to nie jest wada szkła. Konsekwencje: istnieje granica ostrości, której nie da się przekroczyć przymykaniem przysłony, punkt świetlny nigdy nie jest punktem tylko krążkiem, a wokół jasnych źródeł pojawiają się promienie, których liczba zależy od listków przysłony.
Rozwinięcie z liczbami — Rozdział 10 i Dodatek D.
Dwie fale spotykające się w przeciwfazie znoszą się do zera. Na tym stoi cała technologia powłok przeciwodblaskowych: warstwa grubości ćwierci fali sprawia, że odbicie od jej wierzchu i od spodu wygaszają się nawzajem. Ponieważ „ćwierć fali" znaczy co innego dla każdej barwy, wygaszenie nigdy nie jest kompletne — i stąd bierze się kolor flary, cecha po której rozpoznaje się producenta obiektywu.
Rozwinięcie — Rozdział 3 i Rozdział 24.
Fala świetlna drga w poprzek kierunku swojego biegu, a to drganie ma orientację. Odbicie od powierzchni tę orientację porządkuje — przy kącie Brewstera do tego stopnia, że odbite światło drga wyłącznie w jednej płaszczyźnie. Na tym stoi filtr polaryzacyjny, i to samo tłumaczy, dlaczego dwie polaryzacje odbijają się od szkła zupełnie inaczej.
Rozwinięcie — Rozdział 3 i Dodatek AB.
Wygląda na dygresję z pierwszego wykładu fizyki. Ma jednak bardzo konkretną konsekwencję praktyczną, i to taką, która wraca za każdym razem, gdy dokładasz do renderu cokolwiek „obiektywowego”.
Renderer widzi wyłącznie promienie. Path tracer strzela promieniami, śledzi ich odbicia i załamania, sumuje energię. Nie ma w nim pojęcia fazy ani długości fali — zwykle nie ma nawet widma, tylko trzy kanały RGB. Z tego wynika bezpośrednio, że wszystko z poprzedniej sekcji nigdy nie pojawi się w renderze samo z siebie, choćbyś podniósł liczbę próbek do miliona i włączył najdroższy model kamery.
Odwrotnie: wszystko z sekcji o geometrii pojawi się samo, jeśli tylko dasz rendererowi odpowiednią kamerę. Głębia ostrości z poprawną okluzją, kształt bokeh wynikający z kształtu źrenicy, dystorsja — to renderer policzy dokładniej, niż zrobisz to potem w compie.
Ten podział jest fundamentem Rozdziału 34, w którym rozstrzygniemy, co do renderu, a co do compu. Możesz go już teraz zapisać jako regułę kciuka: geometria idzie do renderu, fala idzie do compu. Nie dlatego, że tak jest wygodniej — dlatego, że jedna z nich w rendererze fizycznie nie istnieje.
Jest w tym pewna ironia. Najbardziej rozpoznawalne „filmowe” cechy obrazu — gwiazdki wokół świateł, kolorowa flara, halacja, ziarno — to niemal wyłącznie zjawiska falowe albo materiałowe. Renderer, który jest doskonałym symulatorem promieni, jest jednocześnie ślepy na całą tę warstwę. Dlatego czysty render wygląda jak render.
Ta ślepota nie jest przy tym usterką do naprawienia w kolejnej wersji silnika. Model promieniowy wybrano świadomie, bo jest o rzędy wielkości tańszy — dlatego nawet renderery widmowe liczą widmo, ale nie liczą fazy. Nie czekaj, aż silnik zacznie robić to za ciebie.
Sprawdź, czy efekt, który dokładasz, ma prawo skalować się z rozdzielczością. Zjawiska falowe mają rozmiar w mikrometrach na matrycy, a więc stały rozmiar w pikselach dla danej kamery — krążek Airy'ego przy f/11 to zawsze mniej więcej ta sama liczba pikseli, niezależnie od tego, co jest w kadrze. Zjawiska geometryczne skalują się z kadrem. Jeśli twój filtr dyfrakcyjny w compie wygląda tak samo w 2K i w 4K, jest ustawiony źle w jednym z nich.
Kiedy ktoś mówi „ten obiektyw ma miękką rozdzielczość”, zapytaj przy jakiej przysłonie. Miękkość przy pełnym otworze to aberracje, czyli geometria — do naprawienia lepszą konstrukcją. Miękkość przy f/16 to dyfrakcja, czyli fala — nie do naprawienia niczym. Te dwie rzeczy wyglądają podobnie i mają zupełnie inne przyczyny, a rozróżnia je jedno pytanie.
Nie próbuj wyprowadzać gwiazdek z geometrii przysłony. Klasyczny błąd przy budowaniu proceduralnej flary: ktoś rysuje promienie jako przedłużenia krawędzi listków, bo tak wygląda intuicyjnie. Wychodzi z tego liczba promieni zgodna z liczbą listków także dla nieparzystych — a w rzeczywistości nieparzysta liczba listków daje dwa razy więcej promieni. Ta reguła wynika z fali, nie z rysunku przysłony, i bez fali nie da się jej odgadnąć.
Skoro promień wystarczy nam do opisu większości zjawisk, warto poznać jedyną regułę, jakiej ten promień słucha na granicy ośrodków. W następnym rozdziale zajmiemy się załamaniem — i od razu odkryjemy w nim rysę, która pociągnie za sobą połowę historii konstrukcji obiektywów: szkło nie zagina wszystkich barw jednakowo.
Prostoliniowość i prawo Snella wyglądają na dwa niezależne fakty, których trzeba się nauczyć osobno. Nie są. Obie wynikają z jednej zasady, sformułowanej przez Fermata w siedemnastym wieku: światło biegnie tą drogą, której przebycie zajmuje mu czas stacjonarny — w typowym przypadku najkrótszy.
W jednorodnym ośrodku najszybsza droga między dwoma punktami to linia prosta, więc prostoliniowość wypada z zasady natychmiast. Ciekawiej robi się na granicy dwóch ośrodków. Skoro w szkle światło porusza się wolniej, to droga najszybsza nie jest już najkrótsza — opłaca się nadłożyć w powietrzu, żeby skrócić odcinek w szkle. Kąt, przy którym ten kompromis wypada optymalnie, to dokładnie kąt z prawa Snella.
Jest to ta sama arytmetyka, którą wykonuje ratownik biegnący do tonącego: biegnie szybciej, niż płynie, więc nie wybiera linii prostej do celu, tylko taką, w której więcej drogi przypada na piasek, a mniej na wodę. Nikt tego nie liczy świadomie, a mimo to wychodzi z tego prawo Snella.
Zasada Fermata jest też pomostem między dwoma modelami z tego rozdziału. W opisie falowym światło próbuje wszystkich dróg naraz; wkłady od dróg sąsiadujących z tą najszybszą mają zbliżoną fazę i sumują się, a wkłady od dróg odleglejszych mają fazy rozrzucone i wygaszają się nawzajem. Promień jest więc tym, co zostaje po zsumowaniu wszystkich dróg — nie osobnym bytem, tylko śladem po interferencji. To dlatego oba opisy dają tę samą prognozę wszędzie tam, gdzie przeszkody są duże, i rozjeżdżają się dokładnie tam, gdzie wygaszanie przestaje być pełne.
Najprostszy mechanizm, jaki daje na to odpowiedź, podał Huygens jeszcze w siedemnastym wieku, na długo przed jakąkolwiek teorią elektromagnetyzmu. Brzmi tak: każdy punkt czoła fali zachowuje się jak nowe, punktowe źródło, wysyłające falę kulistą we wszystkie strony. Kolejne czoło fali jest obwiednią tych wszystkich kulek.
Dopóki fala jest szeroka, ten opis nie zmienia niczego. Kulki wysyłane na boki przez sąsiadujące punkty spotykają się w przeciwfazie i wygaszają nawzajem — zostaje tylko to, co leci prosto, czyli dokładnie płaska fala, od której zaczęliśmy. Tak właśnie powstaje złudzenie, że światło biegnie po prostych.
Ale na krawędzi otworu sąsiad się kończy. Skrajny punkt czoła fali nie ma partnera, który wygasiłby jego boczną kulkę — więc ta kulka zostaje. Im węższy otwór, tym większy udział punktów bez pełnego kompletu sąsiadów i tym silniej fala rozlewa się na boki. Rozbieżność wiązki z suwaka wyżej to policzona wprost konsekwencja tego jednego zdania.
Zapamiętaj ten obrazek, bo wróci w co najmniej trzech miejscach: przy granicy ostrości, przy gwiazdkach wokół świateł i przy tym, dlaczego listki przysłony rysują promienie prostopadle do swoich krawędzi, a nie wzdłuż nich.