Kursy grafiki wstępnej zwykle mają projekt, w którym prosi się o zbudowanie ray tracera do renderowania sceny. Wielu studentów grafiki rozpoczynających naukę w grad grad mówi, że chcą pracować nad ray tracingiem. A jednak wydaje się, że ray tracing jest martwym polem w miejscach takich jak SIGGRAPH itp.
Czy ray tracing jest naprawdę najlepszym sposobem na dokładne odwzorowanie sceny przy dowolnym pożądanym oświetleniu itp. I czy to tylko powolne (odczytanie nieinteraktywne) działanie znaczników promienia sprawia, że są nieciekawe, czy może jest coś jeszcze?
Odpowiedzi:
Raytracing jest bardzo ładnym i intuicyjnym algorytmem i jest bardziej fizycznie realistycznym sposobem opisywania oświetlenia sceny niż rasteryzacja, ale:
Nawet w nieinteraktywnych aplikacjach, takich jak filmy, Raytracing jest używany bardzo mało ze względu na jego ograniczenia. Pixar zaczął używać Raytracing tylko w samochodach i tylko dla niektórych specyficznych efektów odbicia ( Ray Tracing w filmie „Samochody” ).
Oto doskonały artykuł, który bardziej szczegółowo opisuje aktualny stan Raytracing oraz jego zalety i wady: State of Ray Tracing (w grach) .
źródło
Podstawowy ray tracing ma poważny problem związany ze światłem otoczenia. Większość modeli oświetlenia traktuje światło z otoczenia jako stały czynnik przenikający eter. Podczas gdy śledzenie promieni doskonale nadaje się do obliczania odbić, cierpi na niestabilność numeryczną i skomplikowane testy przecięcia powierzchni. Śledzenie promieni może nie działać dobrze z renderowaniem przyspieszanym sprzętowo, ponieważ rekurencja odgrywa ważną rolę w określaniu oświetlenia dla określonego piksela. Podstawowe śledzenie promieni jest bardzo drogie obliczeniowo.
Radiosity lepiej radzi sobie ze światłem otoczenia, ponieważ traktuje wszystkie obiekty w otoczeniu jako źródła światła, tworząc model oświetlenia, który jest w pewien sposób bardziej realistyczny niż śledzenie promieni. Dzięki rozwiązaniu radiosity na scenie jest ustalona liczba wielokątów, a obliczenia podlegają przyspieszeniu sprzętowemu.
Transmitowanie promieniami nie jest najlepszym sposobem renderowania sceny, ale stanowi element dobrej strategii renderowania. Wysokie koszty obliczeniowe i słabe oświetlenie otoczenia stanowią poważne ataki na śledzenie promieni. Ponieważ temat badań jest w toku , prace koncentrują się na akceleracji sprzętowej.
źródło
Nie powiedziałbym, że śledzenie promieniami / śledzenie ścieżek jest martwe ... w ogóle nastąpiło odrodzenie zainteresowania w tej dziedzinie ze względu na nieodłączną równoległość wielu powiązanych algorytmów w tym obszarze w połączeniu z prędkością Systemy oparte na GPU, które umożliwiają obliczanie milionów promieni na sekundę. Do tego dochodzi elastyczność w renderowaniu, którą umożliwiają bardziej ogólne języki, takie jak CUDA i OpenCL, które pozwalają programistom na wykorzystanie równoległej funkcjonalności GPU bez konieczności jawnego korzystania z potoku graficznego OpenGL, tak jak w przypadku początkowych technik GPGPU. Niektóre znaczące przykłady ciągłych badań nad śledzeniem ścieżki obejmują:
Na koniec masz wiele badań dotyczących technik optymalizacji problemu globalnego oświetlenia, w tym globalnego oświetlenia punktowego, mapowania fotonów i powiązanych optymalizacji, zaawansowanego modelowania wyglądu (w tym metod opartych na danych), buforowania natężenia napromienienia itp. Itp.
źródło