wymienic_i_opisac_metody_renderingu

# Wymienić i opisać metody renderingu

Metody renderingu

- Ray Tracing – metoda śledzenia promieni
- Radiosity – metoda energetyczna
- Photon map – mapa fotonów
- Forward Ray Tracing

## Ray Tracing

Ray Tracing (dosłownie śledzenie promieni) to technika renderowania fotorealistycznych scen 3D. Obecnie najpopularniejszy z systemów. Jest dość wolny, lecz daje dobre rezultaty, systemy dające lepsze efekty są zwykle o wiele wolniejsze - często używa się systemów mieszanych.

#### Algorytm

Algorytm Ray tracingu wygląda następująco:

1. Z punktu w którym znajduje się kamera wypuszczany jest promień (półprosta) w kierunku rzutni. Rzutnia podzielona jest na piksele, jeden (lub więcej) promieni przechodzi przez każdy piksel.
2. Wyszukiwane są wszystkie przecięcia promienia z obiektami. Tutaj szybkość algorytmu zależy nie tyle od efektywności wyznaczania współrzędnych punktu przecięcia promienia z powierzchnią obiektu, ale od tego by tych dokładnych obliczeń było jak najmniej, by przetwarzać tylko te obiekty, które wysłany w p.1 promień przecina. Mówiąc obrazowo: jeśli scena zawiera milion obiektów, by za każdym razem nie testować milion razy, czy promień przecina każdy z obiektów, ale testować jedynie te, które potencjalnie mogą mieć punkt przecięcia z promieniem.
3. Spośród uzyskanych punktów przecięć wybiera się ten, który leży najbliżej kamery.
4. Punkt ten jest następnie przetwarzany. Najpierw są wypuszczane promienie z tego punktu w kierunku każdego ze świateł na scenie, by określić które oświetlą przetwarzany punkt. Na tym etapie można wyznaczyć cienie, testując czy odcinek pomiędzy punktem przecięcia, a światłem przecina jakiś obiekt - innymi słowy, czy jakiś obiekt zasłania konkretne światło. Następnie dla wszystkich “widocznych” świateł, podstawie wektora normalnego w tym punkcie, oblicza się, używając zadanego modelu oświetlenia (np. Lamberta, Phonga, Metal Shading), jasność punktu. Dodatkowo uwzględnia się takie parametry jak kolor punktu (np. odczytany z tekstury).
5. Jeśli obiekt jest przezroczysty to z tego punktu mogą zostać wypuszczone dodatkowe promienie (rekursywny Ray Tracing) - może to być zarówno promień odbity, jak i promień załamany - dla tych promieni algorytm jest powtarzany od punktu 2. Wówczas, nim przypisze się kolor danemu pikselowi, przetwarzane jest drzewo promieni; w programach, które umożliwiają rekursywny Ray Tracing jest możliwe ograniczenie głębokości drzewa.

#### Wady

Raytracing, mimo swoich zalet, nie jest idealnym sposobem tworzenia fotorealistycznych obrazów. Przede wszystkim słabo radzi sobie ze światłem rozproszonym i z modelowaniem bardziej skomplikowanych źródeł światła. Efektem są bardzo ostre, nierealistycznie wyglądające, krawędzie cieni.

Ponieważ Raytracing operuje na pojedynczych promieniach, nie możne prawidłowo modelować dyfrakcji, np. na pryzmacie, interferencji fal świetlnych i innych zjawisk falowych.

Stworzono wiele technik które stosowane samodzielnie, bądź razem z raytracingiem pozwalają obejść te wady. Są to m.in. radiosity, photon map i forward Raytracing.

## Radiosity

Radiosity (metoda energetyczna) jest metodą wykorzystywaną w grafice komputerowej do uzyskiwania fotorealistycznych scen trójwymiarowych, a wywodzi się z efektów badań nad promieniowaniem cieplnym. Metoda ta wyznacza globalny rozkład natężenia światła uwzględniając pochłonięcia i odbicia światła jakie ma miejsce na wszystkich powierzchniach znajdujących się na scenie. Czyli modeluje prawie dokładnie to samo, co obserwujemy w rzeczywistym świecie, gdzie każda powierzchnia pochłania światło, ale także część (może) odbijać. Metoda nie uwzględnia jednak efektów świetlnych zależnych od położenia obserwatora takich jak rozbłyski na powierzchniach metalicznych, odbicia zwierciadlane, załamanie światła itp. Uzyskane wyniki są niezależne od położenia obserwatora, co pozwala na wielokrotną, dowolną wizualizację sceny bez ponawiania obliczeń.

W metodzie energetycznej obiekty znajdujące się scenie trójwymiarowej podlegają rozkładowi na skończoną liczbę tzw. płatów. Z każdym płatem wiąże się współczynnik pochłaniania światła. Może być on dodatni, wtedy płat pochłania cześć energii świetlnej do niego docierającej, a resztę odbija. Gdy współczynnik ten jest ujemny płat emituje światło.

Dla każdej pary płatów określany jest współczynnik sprzężenia optycznego, który informuje ile energii świetlnej może zostać przekazane z jednego płata do drugiego. Jest to najtrudniejszy pod względem algorytmicznym i najbardziej czasochłonny etap. Jednocześnie, ze względu na błędy numeryczne, mogą występować “przecieki” światła na połączeniach płatów.

Ostatnim, finalnym krokiem w metodzie radiosity jest iteracyjne obliczenie jasności płatów.

Gdzie:

- Ej, Ei - energia j-tego i i-tego płata
- Sij - współczynnik sprzężenia optycznego pomiędzy i-tym, a j-tym płatem
- t - krok

Im więcej iteracji, tym uzyskany obraz jest lepszej jakości. Dobre efekty finalne uzyskuje się po połączeniu tej metody ze śledzeniem promieni (Ray Tracing), która modeluje to, co metoda energetyczna pomija.

## Photon map

Photon map (mapa fotonów) — technika modelowania realistycznego rozkładu oświetlenia. Polega na utworzeniu tekstur, które odpowiadają rozkładowi światła w danej scenie trójwymiarowej.

W tym celu, z punktu w którym znajduje się źródło światła, w różnych kierunkach “wypuszczane” są “fotony” (w liczbie kilkudziesięciu tysięcy lub więcej). Bada się ich interakcje ze sceną trójwymiarową typowymi metodami śledzenia promieni. Wirtualne fotony mogą ulegać rozproszeniu (dyfrakcji) i załamaniu (refrakcji) – umożliwia to modelowanie światła odbitego od powierzchni lustrzanych, światła przechodzącego przez soczewki, pryzmaty itp.

## Forward Raytracing

Forward Raytracing to metoda śledzenia promieni, która w przeciwieństwie do normalnego (czyli wstecznego - backward) raytracingu zaczyna się nie od kamery, lecz od źródeł światła. Określenie forward oznacza, że symulowane promienie poruszają się w tym samym kierunku co rzeczywistym świecie.

Daje ona lepsze wyniki niż Raytracing wsteczny, lecz wymaga nieporównywalnie więcej mocy obliczeniowej, więc jest używana tylko do pewnych specjalnych zastosowań, mających niewiele wspólnego z fotorealistycznym renderingiem, takich jak badanie właściwości sprzętu optycznego oraz w rozwiązaniach hybrydowych w połączeniu ze zwykłym raytracingiem.