Punkt początkowy globalnego oświetlenia (w czasie rzeczywistym) [zamknięte]

10

Na jakie techniki należy zwrócić uwagę, wchodząc w globalne oświetlenie w czasie rzeczywistym (w scenariuszach z dynamicznym oświetleniem)?

Trudno jest opanować różne wspomniane techniki, nie wiedząc nic na ten temat. Jeśli chciałbym włączyć GI do mojego silnika graficznego, to gdzie powinienem zacząć czytać jako punkt odniesienia? Które algorytmy są możliwe do wdrożenia w rozsądnych ramach czasowych przez kogoś nowego (tj. Nie jest wysoce wyspecjalizowanym algorytmem, który zyskuje niewielką wydajność w miesiącach pracy), a które nie są do tej pory całkowicie przestarzałe (tj. Prosto zastąpione przez coś po prostu ładniejszego i szybszego)?

Wydaje się, że mapowanie fotonów pojawia się bardzo często i czytałem o takich rzeczach, jak śledzenie stożków wokseli i bardziej szczegółowe algorytmy, np. Ta technika stosowana w CryEngine 3 . Jednak nie wiedząc prawie o polu, trudno jest zdecydować, od czego zacząć.

W jakie ogólne techniki warto się zastanowić?

TravisG
źródło
Czy szukasz dynamicznego globalnego oświetlenia? Istnieje wiele dobrze zrozumiałych i udokumentowanych algorytmów dla globalnego oświetlenia statycznego (czyli wstępnie obliczonego), ale mam wrażenie, że ich nie szukasz.
Chewy Gumball
1
Chociaż jest to interesujący temat, to pytanie jest w zasadzie „Czego się nauczyć dalej” i tak naprawdę nie ma poprawnej odpowiedzi. Zamiast tego widzę, że generuje tylko listę tematów (które moim zdaniem są dokładnie tym, czego szukasz). To z pewnością fajny temat, ale jest to temat dyskusji i prawdopodobnie nie pasuje do strony.
MichaelHouse
1
Pytanie o obecny stan wiedzy byłoby wysoce zlokalizowane w czasie.
1
9 głosów pozytywnych i zamknięte? Mówisz poważnie? @ Byte56
ashes999
1
@JoshPetrie Być może sformułowane jako najnowocześniejsze, ale pytanie to może mieć bardzo przydatne odpowiedzi, a powód zamknięcia wydaje się dość powierzchowny.
Chewy Gumball,

Odpowiedzi:

6

Dlaczego nie zajrzysz do mojej pracy magisterskiej ?

Wynik najwyraźniej był zbyt trudny do zaakceptowania przez SIGGRAPH (odrzucili moją pracę) i nie zgłosiłem się na żadną inną konferencję. Ale nadal stanowi dobre wprowadzenie do GI, napisane w typowej zrozumiałości bobobobo (w rzeczywistości niektóre sekcje przechodzą nieco za głęboko, ale hej).

Będziesz chciał spojrzeć na sekcję 2.4, która bardzo szybko i z referencjami przebiega przez niektóre z nowszych algorytmów gi w czasie rzeczywistym, w tym

  • śledzenie promieni w czasie rzeczywistym
  • radia w czasie rzeczywistym (enlighten / bf3)
  • odroczone cieniowanie i metody przestrzeni ekranu (ssdo, ssao)
  • wstępnie obliczony transfer blasku i harmoniczne sferyczne

To wszystko, co mam w mojej ankiecie. Oświadczenie, że mogłem coś przeoczyć.

Tak czy inaczej, naprawdę nie masz nadziei na wdrożenie ich wszystkich w ciągu 3 miesięcy. Powiedziałbym, że wybierz jeden i pracuj z nim. Śledzenie promieni w czasie rzeczywistym jest dla mnie najbardziej ekscytujące , ponieważ jest to prawdziwa metoda Gi. W przeciwieństwie do metod przestrzeni ekranowej, rtrt nie jest „hackem” - nie cierpi z powodu dziwnych efektów, które robi ssdo:

wprowadź opis zdjęcia tutaj

Bobobobo
źródło
> Tak czy inaczej, naprawdę nie masz nadziei na wdrożenie ich wszystkich w ciągu 3 miesięcy. Powiedziałbym, że wybierz jeden i pracuj z nim. <To rozczarowujące. Nie jestem pewien, jak podchodziłbym do jednego algorytmu w sposób, który byłby warty pracy licencjackiej. Myślę, że samo wdrożenie tego, aby zobaczyć, jak to wygląda, nie jest prawie wystarczające. I nie sądzę, że jestem w stanie wymyślić własne ulepszenia określonego algorytmu (po prostu nic nie wiem o tej dziedzinie). Przynajmniej nie chciałbym ryzykować, że spędzę 6 miesięcy na studiowaniu.
TravisG,
Porozmawiaj ze swoim przełożonym. Czy pisałeś już wcześniej raytracer? Podstawą każdego z nich jest zwykle raytracer. Foton mapujący „parkuje” fotony na scenie (zasadniczo rzucając promienie ze źródła światła na scenę), a następnie scena jest śledzona promieniowo. Szczerze mówiąc, uważam, że RTRT jest najlepszym kandydatem, ponieważ podniesienie podstawowego raytracera nie jest zbyt trudne i możesz dodawać / wycinać funkcje w miarę upływu czasu. W przypadku niektórych bardziej zaawansowanych algorytmów (takich jak ten, który łączysz) są one bardzo skomplikowane i mają wysoką barierę wejścia.
bobobobo,
Ten przykład wykonany przez evan jest dobrym przykładem działania rtrt w przeglądarce.
bobobobo,