I stały się gry


Jedną z pierwszych firm, która opracowała technikę pełnoekranowego antyaliasingu, był Sun. Niestety, rozwiązanie zaproponowane przez tę firmę wymaga zastosowania bardzo kosztownego sprzętu i niezbyt nadaje się do wykorzystania w domowych komputerach. Zainspirowało natomiast inżynierów z firmy 3dfx, którzy pod nazwą T-Bufor zaproponowali uproszczoną wersję techniki Suna. Wykorzystuje się tutaj specjalne bufory ramki, przechowujące kilka wersji tego samego obrazu. Przed ostatecznym wyświetleniem obrazu poszczególne wersje zostają ze sobą zmieszane, co daje efekt anty-aliasingu.

Opisane rozwiązanie pozwala na uzyskanie dodatkowych ciekawych efektów, niemożliwych do otrzymania przy użyciu kart nie wykorzystujących techniki T-Bufor. Najistotniejsze z nich to rozmycie w ruchu i zmienna głębia ostrości - pierwszy umożliwia symulowanie dobrze znanego zjawiska rozmycia obrazu szybko poruszających się obiektów, drugi przypomina zakres ostrości w aparacie fotograficznym przy dużej przesłonie. Gdy ostre są elementy znajdujące się blisko obiektywu, wówczas zamazaniu ulegają obiekty odległe, i odwrotnie, gdy ostrość ustawimy na obiekty znajdujące się daleko od obiektywu, wówczas bliższe stają się nieostre. Niestety, aby uzyskać te efekty, trzeba je uwzględnić już na poziomie kodowania, co oznacza, że starsze gry bez odpowiednich poprawek nie będą mogły ich wykorzystać. Antyaliasing natomiast nie wymaga żadnych zmian w kodzie programu i jest automatycznie realizowany przez kartę graficzną.

Bump Mapping

To kolejna technika, której głównym zadaniem jest poprawienie jakości i realizmu wyświetlanego obrazu. Ma nadać wyświetlanemu obrazowi chropowatość symulującą wklęsłości i wypukłości terenu. Należy wyraźnie podkreślić, że jest to jedynie symulacja, nie wymagająca dodawania do obiektu kolejnych wielokątów. Ponieważ nie zwiększa się szczegółowość geometrii obrazu, konieczne jest zastosowanie sztuczek z oświetleniem i cieniami. We wszystkich technikach wykorzystuje się następujące zjawisko: punkty wyżej położone są jaśniejsze i odbijają światło pod innym kątem niż punkty położone niżej.

I stały się gry
Najstarsza i najprymitywniejsza wersja tej techniki to Emboss Bump Mapping. W największym skrócie: działa tak samo jak dodawanie cienia w popularnych programach graficznych. Tworzona jest monochromatyczna wersja oryginalnej tekstury, którą następnie przesuwa się o odpowiednią liczbę pikseli. Obydwie tekstury zostają później zmieszane ze sobą i nałożone na obiekt.

I stały się gry

W najnowszych kartach 3dfx zaprezentuje technikę T-Buffer, pozwalającą m.in. na pelnoekranowy anty-aliasing. Efekty łatwo zauważyć na ilustracjach. Ta po lewej została wykonana z włączonym anty-aliasingiem, dzięki czemu wszystkie krawędzie i krzywe sa dużo gładsze.

Niestety, opisana technika ma wiele wad. Najpoważniejszą jest prawdopodobnie duże obciążenie procesora głównego komputera. Poza tym uzyskiwane efekty wizualne są słabej jakości, a w przypadku oświetlenia padającego pod kątem mniejszym niż -45 stopni bądź większym niż +45 stopni stają się bardzo nienaturalne. Niemożliwie jest również używanie kilku źródeł światła lub wypukłości o zmiennej wysokości.

Od pewnego czasu głośno jest natomiast o Environmental Map-ped Bump Mapping (EMBM), głównie za sprawą firmy Matrox, która wykorzystuje go w swoich kartach. Jest to najbardziej elastyczna spośród znanych obecnie metod bump-mappingu. Do odwzorowania wypukłości terenu używa się tutaj trzech oddzielnych map. Pierwsza składa się ze zwykłych tekstur pokrywających obiekt. Druga mapa zawiera wypukłości, które chcesz na ów obiekt nałożyć. Wreszcie trzecia mapa - "environmental map" - od której wzięła się nazwa całej techniki, wykorzystywana jest na wiele różnych sposobów, najczęściej do nałożenia na obiekt świateł, ale potencjalne zastosowania są znacznie szersze. Jedną z ciekawostek jest fakt, że EMBM potrafi wykorzystywać animowane tekstury, co idealnie nadaje się na przykład do uzyskania efektu falującej wody.

Dodatkową zaletą jest to, że obsługa EMBM została wbudowana w DirectX. Niestety, na razie jedynie Matrox G400 potrafi wykorzystać możliwości tej technologii. Prawdopodobnie jednak w tym roku pojawi się przynajmniej jedna konkurencyjna karta - Glaze3D - obsługująca EMBM.

Ostatnim popularnym wariantem bump-mappingu jest Dot 3 Mapping, stosowany między innymi w kartach opartych na procesorze GeForce 256. Dokładne specyfikacje tej techniki nie zostały opublikowane, jednak pozwala ona na uzyskanie interesujących wizualnie efektów. Wspomniany przed chwilą chip Glaze3D będzie obsługiwał również tę technologię.

Kompresja tekstur

Niemal wszystkie współczesne gry wciąż wykorzystują tekstury nie większe niż 256x256 pikseli. Zastanówmy się jednak, co dzieje się w sytuacji, gdy powierzchnia obiektu do teksturowania jest większa od samej tekstury. Jak łatwo się domyśleć, tekstura zostanie odpowiednio rozciągnięta, jednak odbywa się to kosztem utraty jakości. Wprawdzie stosuje się tutaj różnego rodzaju techniki, przede wszystkim zaś filtrowanie dwu- i trzyliniowe, zapobiegające powstawaniu wielkich i paskudnych pikseli, jakie pamiętamy z pierwszych gier 3D (na przykład Doom), ale jakość grafiki ulega mimo wszystko znacznemu pogorszeniu. Przede wszystkim obraz staje się rozmyty, co pociąga za sobą zmniejszenie liczby dostrzegalnych detali.

Skoro stosowane tekstury są za małe, dlaczego wciąż tak rzadko wykorzystuje się większe? Otóż istnieją dwa podstawowe problemy do rozwiązania. Zanim je opiszemy, dodajmy od razu, że lekarstwem na obydwa jest kompresja tekstur.