Wikipedysta:Wojciech mula/Deferred shading: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
nowy
(Brak różnic)

Wersja z 13:26, 2 cze 2012

Deferred shading (dosłownie opóźnione cieniowanie) - technika generowania obrazów w grafice 3D stosowana w aplikacjach czasu rzeczywistego (np. grach), która pozwala efektywnie wyświetlać sceny zawierające dużą ilość obiektów cieniowanych algorytmami kosztownymi obliczeniowo.

W tej metodzie obraz jest tworzony dwufazowo:

  1. w pierwszej fazie obiekty są rysowane z uproszczonym cieniowaniem, jednocześnie dla każdego piksela obrazu uzyskuje się następujące informacje:
  2. w drugiej przeglądane są wszystkie piksele i na podstawie danych z pierwszego etapu oblicza finalny kolor powierzchni obiektu.

Metoda pozwala ominąć problem związany z buforem głębokości: podczas generowania obrazu zwykle duża część pikseli jest wielokrotnie nadpisywana, gdy rysowane są kolejne obiekty. Jeśli każdy obiekt byłby od razu w pełni cieniowany - a często wykorzystuje się zaawansowane algorytmy cieniujące, czy obliczające odbicia lub załamanie światła - wówczas część tych obliczeń ostatecznie okazałby się zupełnie zbędna. Uproszczenie cieniowania w pierwszej fazie pozwala zminimalizować straty.

Jednak praktyczne stosowanie deferred shadingu wymaga nowoczesnych kart graficznych, które pozwolą efektywnie zapamiętać informacje z pierwszej fazy, oraz wykorzystać te dane przy cieniowaniu.