Głębia ostrości jest często niedocenionym efektem w grach, zarówno pod kątem wpływu na stronę wizualną, jak i na aspekt wydajnościowy. Gry komputerowe korzystają z kamery opartej na modelu obiektywu otworkowego. Takie rozwiązanie oznacza, że głębia ostrości rozciąga się od zera do nieskończoności, a więc cały widoczny obraz jest ostry. W normalnych warunkach obraz jest najostrzejszy w punkcie, na którym skupia się soczewka ludzkiego oka albo soczewka aparatu / kamery, a im dalej od tego punktu, tym obraz jest coraz mniej ostry. Aby sprawić bardziej naturalne, a czasem wręcz filmowe wrażenie, gry starają się symulować efekt głębi ostrości. Dobry przykład to moment przyłożenia celownika broni do oka. W sporej części gier taka akcja powoduje rozmycie się modelu broni i skupienie ostrości na tym, co znajduje się przed lufą. Aczkolwiek, jako że rozmycie nie jest efektem naturalnie występującym w grze, musi być ono specjalnie dodane.
Zasada działania
Głębia ostrości jest efektem post-procesowym, a więc nakładanym na scenę po jej wyrenderowaniu. Popularne typy głębi ostrości stosowane obecnie w grach to:
- Gaussian DoF
- Bokeh DoF
- Circle DoF
Gaussian DoF aplikuje rozmycie, wykorzystując standardowy filtr Gaussa. Ta metoda nie obciąża mocno komputera i jest zalecana do używania w trakcie rozgrywki.
Bokeh DoF to metoda, w której teksturowane quady są renderowane dla każdego piksela przy użyciu tekstury w celu zdefiniowania kształtu odtwarzającego efekt wytworzony przez soczewki kamery. Bokeh DoF jest mocno obciążający dla sprzętu i zazwyczaj używa się go tylko do przerywników filmowych, gdzie wydajność nie jest kluczowa. Standardowo jest renderowany w ¼ rozdzielczości oryginalnego obrazu, ze względów wydajnościowych.
Circle DoF to najnowsza technika podobna do Bokeh DoF. Jej implementacja jest przeciętnie wymagająca, jeśli chodzi o sprzęt i daje ogólnie bardzo dobre efekty, jednak w specyficznych sytuacjach radzi sobie gorzej niż Bokeh DoF.
Efekt głębi ostrości jest dzielony na trzy warstwy – bliską, daleką i punkt centralny, każda z nich jest oddzielnie przetwarzana, a następnie łączona w celu uzyskania efektu końcowego. Obiekty znajdujące się w bliskiej i dalekiej warstwie (czyli obiekty nieznajdujące się w punkcie centralnym) są zawsze w pełni rozmyte. Następnie warstwy te są mieszane z nierozmytą sceną. Dzieje się to w następujący sposób:
- Obiekty w punkcie centralnym wykorzystują nierozmytą warstwę sceny.
- Obiekty w bliskiej lub dalekiej warstwie, ale poza obszarami przejściowymi, są w pełni mieszane z rozmytą warstwą.
- Obiekty w obszarze przejściowym są mieszane liniowo między nierozmytą warstwą sceny a ich rozmytą warstwą, na podstawie ich położenia w obszarze przejściowym.
Do niektórych gier istnieją mody pozwalające na aktywację bardziej zaawansowanego efektu DoF, niż przewidzieli to producenci danego tytułu. Dobry przykład to Crysis 2 i QualityMod.
Wpływ na wydajność
Platforma testowa:
- Intel Core i7-7700K @ 5 GHz
- 2 x 4 GB DDR4 @ 3200 MHz
- Sapphire NITRO Radeon RX 470 8 GB
- Radeon Software Crimson ReLive Edition 17.7.2
- Windows 10 x64 AU
Wbrew obiegowej opinii aktywacja efektu głębi ostrości potrafi wpłynąć na wydajność, gdyż w praktyce nie jest to jedynie prosty filtr rozmywający wszystko, na co został nałożony. W niektórych tytułach spadek wydajności jest prawie pomijalny (np. Rise of the Tomb Raider), a z kolei w niektórych zaskakująco duży (np. Dying Light).
Wpływ na jakość obrazu
Efekt głębi ostrości najczęściej i najbardziej intensywnie jest stosowany w przerywnikach filmowych, by spotęgować kinowe wrażenie lub jako zabieg mający na celu skupić uwagę gracza na istotnym przedmiocie lub postaci. Podczas samej rozgrywki projektanci gier zazwyczaj korzystają z niego z pewną powściągliwością.
W zależności od gry, efekt głębi ostrości i tego jak wpływa na wygląd przedstawionego świata, może się nieco różnić. Ponadto niektórzy gracze po prostu nie przepadają za tym efektem, więc możliwość całkowitego wyłączenia go z pewnością jest potrzebnym i praktycznym rozwiązaniem.
Podsumowując
Włączenie efektu głębi ostrości potrafi zwiększyć wrażenie filmowości gry i nie zawsze musi się wiązać z dużą utratą wydajności. Jednak w przypadku gier sieciowych, w których najważniejsze są dobra orientacja na polu walki oraz wysoka liczba wyświetlanych klatek na sekundę, lepiej zostawić tę opcję wyłączoną.