Ray-tracing
Ray-tracing to technologia robiąca fenomenalne wrażenie, ale i wymagająca bardzo wysokiej mocy obliczeniowej, by działać płynnie w czasie rzeczywistym. O śledzeniu promieni zrobiło się głośno po zapowiedzi nowych kart graficznych z serii RTX od Nvidii na gamescomie 2018. Czym dokładnie jest i do czego jest wykorzystywana?
Czym jest ray tracing?
Ray tracing (śledzenie promieni) jest techniką dynamicznego oświetlenia w grafice komputerowej, dzięki której generowane są fotorealistyczne obrazy scen trójwymiarowych. Opiera się na analizie jedynie tych promieni świetnych, które docierają bezpośrednio do obserwatora (także tych, które docierają poprzez wszelkie odbicia i załamania). W efekcie powstaje bardziej realistyczna animacja cieni, odbić i okluzji otoczenia.
Ray tracing nie jest zupełnie nowym podejściem do tematu renderowania. Bowiem od wielu lat jest z powodzeniem wykorzystywany przez profesjonalistów do tworzenia fotorealistycznej grafiki komputerowej w kinematografii, reklamie czy wizualizacjach architektonicznych. Z pewnością każdy miał mnóstwo okazji, by spotkać się z tą techniką, m.in. w nowych, animowanych bajkach lub we współczesnych projektach wnętrz.
Algorytm śledzenia promieni pozwala znacznie poprawić realizm animacji, ale jeszcze niedawno nie był wykorzystywany w grach z powodu bardzo dużego zapotrzebowania na moc obliczeniową… Preferowano zatem prostsze oświetlenie, w którym cienie, odbicia oraz światła były wyliczane statycznie. Jednak zmieniło się to od momentu opracowania technologii Nvidia RTX.
Czym ray tracing różni się od rasteryzacji, która nadal jest najpopularniejszą techniką stosowaną w grach komputerowych?
Technologia śledzenia promieni polega na tym, że na bieżąco, z punktu, w którym zlokalizowana jest kamera w grze, do trójwymiarowego otoczenia wysyłane są promienie. Gdy promienie trafią na jakikolwiek obiekt, definiowana jest jego barwa. Jednak ray tracing bierze pod uwagę także załamania światła na tej powierzchni, jak również wszelkie odbicia, bowiem promienie odbiją się w każdym możliwym kierunku. Umożliwia to realistyczne odbijanie kolorów innych obiektów przy błyszczących lub jasnych powierzchniach, a obliczane tą metodą cienie są bardzo zbliżone do realnych, co pomaga stworzyć bardzo realistyczne CGI, przekładające się na spektakularne efekty specjalne.
Są też minusy
Oczywiście ray tracing ma również wady. Ze względu na to, że operuje na pojedynczych promieniach, czasem nie radzi sobie z prawidłowym modelowaniem rozproszenia światła (dyfrakcji), jak i rozszczepienia. Nie pozwoli również na uzyskanie efektów zjawisk falowych, takich jak aberracja fotochromatyczna. W celu ich osiągnięcia zostały stworzone dodatkowe techniki, współpracujące z technikami śledzenia promieni i uzupełniają brakujące efekty, takie jak metoda energetyczna (ang. radiosity), śledzenie ścieżek (ang. path tracing), metoda map fotonowych (ang. photon map) i tzw. forward raytracing.
Obliczanie obrazu przy pomocy ray tracingu jest również bardzo czasochłonne. W przypadku filmów czy reklam nie stanowi to problemu, jednak w przypadku gier komputerowych sprawia to już mały problem. W tym przypadku mamy wpływ na to, co widzimy, dlatego obrazy nie mogą być wyrenderowane wcześniej, tylko muszą być obliczane w czasie rzeczywistym. Jednak w momencie, gdy nowa technologia Nvidia RTX wejdzie do masowego użytku, problem nie będzie już istniał.