TechnologieRealizm w grafice

    Realizm w grafice

    Wydajne karty graficzne z procesorem AMD ATI Radeon HD 5000, obsługującym biblioteki DirectX 11, są już w sprzedaży. Karty z konkurencyjnym układem Nvidia Fermi dla DX 11 powinny się pojawić na początku marca, na targach CeBIT. Nvidia ujawniła niektóre szczegóły ich budowy i możliwości.

    Realizm w grafice

    Układ Fermi – oznaczony symbolem GF100 – składa się z 3 miliardów tranzystorów i ma być produkowany w 40-nanometrowym procesie technologicznym. Tak jak Radeon 5000, również GF100 został przygotowany z myślą o obsłudze gier wykorzystujących najnowsze biblioteki graficzne DirectX 11. Dzięki nowym funkcjom tych bibliotek obrazy i obiekty w grach mogą zyskać mnóstwo dodatkowych szczegółów. Fermi jest kompatybilny z bibliotekami OpenGL 3.x i OpenCL 1.x. Obsługuje ponadto technologię PhysX (ATI Radeon tego nie zapewnia), która ma zadbać o to, by obiekty w grach reagowały tak, jak w świecie rzeczywistym.

    Dla twórców gier ważne jest również to, że kość GF100 można programować w zwykłym języku programowania C++. Dzięki temu tworzenie gier powinno być łatwiejsze i szybsze niż w wypadku korzystania ze standardowych technik programowania układów graficznych. Dodatkowo układ będzie mógł np. w środowisku Windows 7 wspomagać swoją mocą obliczeniową zadania powierzane do tej pory tylko procesorowi (np. symulacje giełdowe, obliczenia inżynierskie) – podziałem zadań między procesor graficzny i centralny zajmą się wówczas sterowniki.

    Zgrupowane procesory strumieniowe

    Układ GF100 wykorzystuje 512 procesorów strumieniowych. To one odpowiadają za wszystkie kalkulacje związane z generowaniem grafiki oraz obliczenia fizyki (wzajemne oddziaływanie obiektów, np. deformacja po zderzeniu czy efekty specjalne, jak płonący ogień, falująca woda) w grach wykorzystujących technologię PhysX. Procesory pogrupowano w większe bloki liczące po 32 jednostki, by łatwiej było przydzielać procesory do poszczególnych zadań. Tych bloków jest 16. Te z kolei połączono w 4 klastry (moduły GPC) liczące po cztery bloki.

    Obraz

    Dla użytkownika ważne jest to, że architekturę GF100 można skalować z dokładnością do takiego klastra, gdyż zawiera on wszystkie elementy niezbędne do generowania grafiki. Obecnie najwydajniejsze karty z rodziny GF100 mają cztery klastry. Producent zapowiada, że dostępne będą również wolniejsze, ale zarazem tańsze karty z trzema, dwoma oraz jednym klastrem.

    Pamięć podręczna jak w procesorach

    Ciekawostką dotyczącą architektury układów Fermi jest to, że pojawiła się w nich współdzielona, dwupoziomowa pamięć cache – tak jak w procesorach. Dzięki temu obliczenia mogą być wykonywane szybciej, gdyż nie potrzeba co chwilę odwoływać się do zewnętrznej, wolniejszej graficznej pamięci RAM. Również znacznie szybsze i wydajniejsze jest przełączanie GPU między kalkulacjami związanymi z grafiką i obliczeniami fizycznymi PhysX. Chodzi o to, że po przełączeniu z jednego trybu pracy w drugi układ ma od razu do dyspozycji wszystkie związane z obliczeniami dane i nie musi sięgać po nie do wolnej pamięci RAM.

    Współdzielona przez wszystkie klastry pamięć podręczna drugiego poziomu ma 768 KB. Obsługę graficznej pamięci DRAM GDDR5 (maks. 6 GB) zapewnia sześć 64-bitowych kontrolerów pamięci, możliwe jest więc jednoczesne przesyłanie 384 bitów danych między pamięcią a procesorem graficznym.

    Wypukłości i krągłości

    Obraz

    Pod względem możliwości nowych układów graficznych Nvidii najważniejsze zmiany dotyczą generowania znacznie bardziej realistycznego obrazu przy wykorzystaniu technik teselacji i mapowania przemieszczeń. Obie techniki muszą być obsługiwane przez karty zgodne z DirectX 11.

    Na czym polega teselacja? Wszystkie obiekty na tworzonej przez kartę graficzną scenie 3D składają się z trójkątów. Zastosowanie teselacji dzieli te trójkąty na jeszcze mniejsze części. Powstaje znacznie gęstsza siatka trójkątów tworzących szkielet danego obiektu 3D, np. bohatera gry. Dzięki temu może on być narysowany dokładniej. W ten sposób w bardziej realistyczny sposób można odwzorować nierówności i chropowatości powierzchni, ale również wygładzić np. kuliste powierzchnie.

    Wyjątkowe rezultaty przy realistycznym odwzorowaniu obiektów uzyskuje się, łącząc technikę teselacji z mapowaniem przemieszczeń. To ostatnie polega na odwzorowywaniu wypukłości i chropowatości obiektów oraz częściowo ich oświetleniu przy wykorzystaniu specjalnych tekstur, przygotowanych w skali szarości i nazywanych mapami przemieszczeń. Zbiór jaśniejszych i ciemniejszych punktów na mapie przemieszczeń obrazuje wszystkie nierówności i chropowatości – pierwsze to miejsca oświetlone, drugie to cienie i miejsca niewidoczne. Mapa przemieszczeń jest łączona z nakładaną na przedmiot teksturą i w efekcie otrzymujemy przedmiot z odwzorowanym na nim wyglądem wszelkich nierówności.

    Teselacja oraz mapowanie przemieszczeń mogą być realizowane automatycznie przez kartę graficzną – do karty poza zgrubnym szkieletem obiektu przesyła się parametr LOD (Level of Details), określający, jak szczegółowo ma być odwzorowana scena. Najważniejszą korzyścią jest zmniejszenie ilości przesyłanych danych, a więc przyspieszenie generowania grafiki oraz zmniejszenie zapotrzebowania na przepustowość pamięci i samą pamięć.

    Wygładzanie krawędzi

    Obraz

    W układach Fermi poprawiono jakość metod wygładzania krawędzi, czyli antyaliasingu, i przyspieszono ich działanie. Zmiany dotyczą metod: CSAA (Coverage Sampled Anti-Aliasing) oraz TMAA (Transparency Multisample Anti-Aliasing). Technika CSAA do wygładzania krawędzi i uzyskania parametrów wynikowego punktu wykorzystuje próbki koloru pochodzące z sąsiednich punktów. Dzięki temu przejścia tonalne na wygładzanym obrazie są dość płynne, a krawędzie gładkie. W kości GF100 zwiększono z 16 do 32 liczbę próbek barwnych punktów oraz przyspieszono algorytm ich losowego i w miarę równomiernego wyboru. Efekt jakościowy jest znacznie lepszy niż w poprzedniej wersji algorytmu.

    Metoda TMAA dotyczy wygładzania zawartości przezroczystych tekstur. W ten sposób w grach wyświetla się cienkie liny, balustrady, źdźbła trawy. Dzięki TMAA można się pozbyć zniekształceń w generowanym obrazie, jeśli na obiekt nałożone zostały przezroczyste tekstury. W efekcie gałęzie drzew, linki, balustrady, anteny czy oczka w siatce płotu mają gładkie krawędzie.

    Obraz na 3 monitorach

    W kartach bazujących na układach Fermi znajdą się trzy wyjścia monitorowe. Podobnie jak w przypadku kart ATI i technologii EyeFinity, karty z układem Fermi będą mogły wyświetlać jednocześnie na trzech monitorach „rozciągnięty” obraz. Dzięki tej technologii, o nazwie 3D Vision Surround, gracz będzie w większym stopniu odnosił wrażenie, że gra jest częścią rzeczywistości – dotyczy to zwłaszcza symulatorów lotu i gier samochodowych.

    Symulacje zjawisk fizycznych w grach – demonstracja

    Aby zobrazować możliwości nowej rodziny układów Fermi, Nvidia przygotowała program demonstracyjny Supersonic Sled, zgodny z bibliotekami DirectX 11. Wykorzystano w nim intensywnie teselację, mapowanie przemieszczeń, efekty cząsteczkowe oraz zastosowano obliczenia zjawisk fizycznych przy użyciu technologii PhysX.

    Obraz

    Dzięki zastosowaniu praw fizyki ciało pilota po katastrofie staje się naturalnie bezwładne (1), jego twarz wygina się w zależności od pędu wiatru, budynek stacji oraz most rozpadają się w realistyczny sposób na tysiące (2) lub miliony (3) (w zależności od ustawień) kawałków, a pył i dym wyglądają jak w naturze (4).

    Obraz
    Obraz

    Demo to pokazuje, jak ważne stały się w grach symulacje efektów fizyki. Jedną z gier, w których np. zastosowano efekty cząsteczkowe (przemieszczanie się dymu, kurzu, mgły), jest Dark Void.

    Wybrane dla Ciebie