|
|
Śledzenie promieni (ray tracing) |
|
Jedną z rzeczy, której chciałem spróbować, to algorytm śledzenia promieni świetlnych (ray tracing).
Więc zacząłem od tego.
Najpierw, rzutowanie promieni z trójkątami (kliknij aby powiększyć):
Na powyższym obrazku, zielone trójkąty są mocno poszarpane.
Dodałem więc antyaliasowanie (które, niestety, znakomicie zwiększa czas obliczeń).
Dwa obrazki poniżej pokazują antyaliasing 2x2 i 4x4.
Okazuje się, że antyaliasing 2x2 lub 3x3 jest najlepszym połączeniem jakości z prędkością.
Następnie dodałem kule:
Oraz opcjonalne tło:
Jednak, wszystkie powyższe obrazki opierają się na prostym rzutowaniu promieni, więc nie są zachwycające.
Postanowiłem więc w następnym kroku dodać cieniowanie; i to zaczyna już być prawdziwym
algorytmem śledzenia promieni.
Najpierw, jasność obiektu została zmieniona w zależności od kąta padania światła.
Następnie, obliczenia cieni:
Oraz dodane światło rozproszone, aby cienie nie były takie ciemne:
I można jeszcze pokazać wielokrotne źródła światła:
Figury obrotowe:
Ciąg dalszy nastąpi...
Góra
|
|
|
|