, ,

Od zarania dziejów, programiści piszący gry, wyciskali z siebie jak i ze sprzętu siódme poty, byle by te paręnaście pikseli było wyświetlanych ciut szybciej. Podobnie było ze sposobem wizualizacji postaci i otoczenia. Wszelkie starania szły by stworzyć bardziej realistyczny, przestrzenny obraz, mimo ograniczonych zasobów pamięci i mocy obliczeniowej. Wszystko po to, by gracz mógł ‘poczuć’ głębie grafiki. Cóż nie podnosi tego realizmu jak oświetlenia i cienie.

Wiadomym jest, że jeśli coś jest stare, to nie zachwyca już nas niczym rewolucyjnym jeśli chodzi o zastosowane techniki wyświetlania obrazu. Zatem nie powinniśmy się niczego super bajeranckiego spodziewać po grach wczesnych lat 90’tych. Niemniej jednak, to właśnie nowatorskie, sprytne podejście do zagadnienia światła i cienia poczynione w tamtym czasie, zdołało popchnąć temat do przodu, motywując kolejne pokolenia programistów do bardziej wytężonej pracy.

Początkowo cieniem był ciąg pikseli sunący się po ziemi pod postacią lub w ekstremalnych przypadkach- kółko, po którym chodziła postać.

Double Dragon V: The Shadow Falls – Atari Jaguar

Przez kolejne lata rozwój sprzętu był bardzo szybki, odkryto moc jaką mogą dzierżyć procesory kart graficznych – GPU. Grafika stała się trójwymiarowa, zamiast znaczków imitujących postacie, dostaliśmy w pełni trójwymiarowe, przyodziane w tekstury modele. Wtedy, oświetlenie i cienie były imitowane przez tak zwane light mapy, czyli przygotowane wcześniej specjalne tekstury nakładane na obiekty. Miały one za zadanie imitować cień rzucany z obiektów statycznych takich jak budynki, drzewa itp. Podkreślam statycznych, gdyż cienie były nieruchome i w żaden sposób nie dało się ich zmieniać już w trakcie gry.

Tomb Raider: Legend – PC

Potem długo, długo nic, aż doszliśmy do czasów Doom 3 czyli połowy roku 2004, kiedy to karty graficzne były już na tyle mocne, by móc wyświetlać modele z dodatkową techniką nazywaną bum mappingiem – czyli stwarzaniem wrażenia nierównych powierzchni, lub oślizgłych, mokrych potworów. Doom3 był również pierwszą grą, w której zastosowano na szeroką skalę metodę stencil shadingu. Jest to dość pokrętna wg mnie procedura generowania cieni. Nie będę się tutaj zakopywał w tłumaczenie jak to dokładnie działa. Wyobraźcie sobie, że cała scena musiała być dla każdego światła dodatkowo modyfikowana, a w rezultacie końcowym otrzymywało się coś na wzór szablonu do spraya. Wystarczyło więc narysować na całym ekranie ciemny prostokąt by pokryć wyłącznie miejsca zacieniane- sprytne, nie powiem. Dodatkową zaletą była już w pełni dynamiczna metoda wyświetlania cieni, czyli ruchome światła. Poruszające się, latające, pełzające obiekty generowały ruchomy i zmieniający się cień. Na tamte czasy, jak dla mnie, rewolucja !

Doom 3 – PC

Od tego momentu rozpoczął się istny boom jeśli chodzi o rozwój technologii i sposobów wizualizacji cieni w grach. Obecnie cienie są generowana w osobny cyklu renderowania – karta graficzna, do specjalnej tekstury zapisuje sobie położenia modeli z perspektywy podanego światła, zaś specjalne programy – shadery – na ich podstawie potrafią określić, czy dane miejsce jest zacienione czy też nie.

Jest to ogólny schemat w jakim teraz działa dodawanie zacieniowanych powierzchni. Można spotkać przeróżne wariacje tych technik wykorzystujące np. rozmywanie cienia wraz z dystansem od obiektu lub dodatkowe filtry wygładzające. Przykładem może ty być np. CryEngine 2~3, który jest swoistym kombajnem jeśli chodzi o oferowane technologie oświetlenia.

CryEngine – PC

Powoli zaczynam się zastanawiać, po co tak naprawdę ciągłe dążenie do tej doskonałej formy oświetlania. Jeszcze troszkę, i obraz na ekranie naszych komputerów będzie bardziej rzeczywisty niż ten za oknem 😉 Cóż, może taka właśnie jest przyszłość. Ale z uwagi samej czystej formy przekazu, jaką dysponuje gra, to na tych najnowszych technologiach właśnie grafika odgrywa rolę teatru cieni i barw. Gdzie gracz „odczuwa” na swoim monitorze to co się odgrywa w grze.

Jako jedyny FPS, w którego uwielbiałem grać był BioShock, gdzie nacisk na dramatyczne oświetlenie mapy był niesamowicie duży. Szczególnie dobrze pamiętam jak zza korytarza, rozbita lampa rzucała cień skradającej się postaci wprost na ścianę przede mną. Jest to idealny przykład tego, jak bardzo klimatyczne może być wyreżyserowanie tych zjawisk.

Sam jako programista gier wiem jak trudną rzeczą jest prawidłowe, a co najważniejsze- optymalne generowanie cieni i oświetlenia. Gdy widzę zdumiewające efekty w coraz to nowszych grach i to jaką metamorfozę przeszły przez ostatnie kilkanaście lat, jestem pełen podziwu pracy osób nad nimi pracujących.