Введение
Без спецэффектов вид 3D-окружения и текстур отнюдь не впечатляет.
С появлением DirectX 8 мы получили впечатляющую поверхность воды благодаря программам-шейдерам. И одни из первых карт, которые стали их выводить – GeForce 4 и Radeon 9600 в игре Morrowind. Впервые вода стала реалистично отражать 3D-окружение, на ней появились волны. Что ещё лучше, эффектами воды можно было наслаждаться на протяжении всей игры. А если войти в воду или поплавать, то можно заметить создаваемые волны с отражающей поверхностью.
После этого пути шейдеров разделились. nVidia решила остаться с версией 2, в то время как ATi модернизировала свои новые графические карты до версии PixelShader 2.1. После выпуска GeForce 6 эффекты DirectX 9 с PixelShader 3 получили массовое распространение. И новые богатые эффекты впервые появились в игре Splinter Cell 3 – Chaos Theory.
Последние графические чипы от ATi и nVidia обеспечивают достаточную 3D-производительность, чтобы насладиться красивой графикой. Линейки Radeon X1000 и GeForce 6/7 обзавелись поддержкой PixelShader Version 3, построив платформу для нового поколения графических возможностей. Уже сегодня в 3D-словарь продвинутого геймера вошли такие термины, как параллакс-маппинг (parallax mapping) и HDR-рендеринг. Преимущества новых шейдеров заметны по свету и теням, оптическим искажениям, отражающим или анимированным поверхностям. Позвольте привести несколько примеров современных графических эффектов.
Функция замедления мира “bullet time” создаёт пространственно-временные искажения. Впервые она появилась в фильме “Матрица”. Зрители увидели траектории отдельных пуль в виде характерных волновых эффектов. На ПК эффект “bullet time” впервые был реализован в игре Max Payne. Если взять последние игры, то F.E.A.R. способствует притоку адреналина, оптически искажая поле зрения.
В F.E.A.R. можно визуально наблюдать ударную волну гранаты.
Огонь выделяет тепло, в результате чего мы можем видеть поднимающийся воздух, который причудливо искривляет фон за ним.
Ещё один пример пламени в игре Shadowgrounds. Чем выше температура пламени, тем сильнее будут клубиться язычки пламени и воздух.
Лучше всего эффекты PixelShader демонстрировать на поверхности воды. Здесь можно заметить, как окружающий мир отражается в волнах. Даже выстрел лазера в Shadowgrounds отражается в воде.
Газ симулируется с помощью искажений фона и объектов. Если герой войдёт в отравленное облако, то весь мир вокруг начнёт искажаться.
Splinter Cell использует различные фильтры для реалистичного отображения ночного видения и тепловизора.
Различия между PixelShader 2 и PixelShader 3
Сегодня номер версии программ-шейдеров действительно важен. Карты с поддержкой версии ниже PixelShader 3 не могут отображать новые графические эффекты вроде HDR-рендеринга, параллакс-маппинга и прозрачной воды. Среди чипов, поддерживающих PixelShader 3, можно назвать всю линейку Radeon X1000 от ATi, а также GeForce 6 и GeForce 7 от nVidia.
Примечание: вполне очевидно, что все спецэффекты можно вывести и без помощи 3D-ускорителя. Но скорость при этом будет очень низкая. Когда мы говорим о том, что красивую воду можно достичь только с помощью PixelShader 3, то мы имеем в виду слишком низкую для игры скорость этого эффекта на шейдерах предыдущего поколения.
Самые заметные отличия в качестве графики между поколениями карт с аппаратной поддержкой DirectX 8 и DirectX 9 кроются в улучшенной яркости источников света, а также в улучшенных 3D-эффектах на камне и кирпичных стенах. Да и PixelShader 3 реалистичнее отображает воду. Волны становятся более детализованы, в них искажаются отражённые тени.
В Age of Empires III вода выглядит прозрачнее при использовании настройки Very High, которая включает PixelShader 3. На настройке High (PixelShader 2 и 2.1) эффекты не такие впечатляющие. Впрочем, оптимизация игры вроде Black & White 2 для ATi улучшает представление воды и с PixelShader 2.1.
При использовании PixelShader 2 воде не хватает прозрачности и пены прибоя. Волны и отражения присутствуют.
Переход на PixelShader 3 заставляет волны биться о берег, создавая пену прибоя, а море становится прозрачным. После того, как Black & White 2 была оптимизирована для карт ATi, эти эффекты появились и с версией PixelShader 2.1.
Версия PixelShader 2 создаёт движение волн и отражения. Тени объектов тоже отчётливо заметны.
Переход на PixelShader 3 обеспечивает прозрачность воды, а тени накладываются на воду правильнее и искривляются вместе с волнами.
Самое большое отличие в F.E.A.R. заметно на стенах. Переход на шейдеры DirectX 8 приводит к тому, что стены уже не дают ощущения глубины.
На картах GeForce 6 или 7, либо Radeon X1x00 можно снизить качество шейдеров с DirectX 9 до DirectX 8.
В Splinter Cell 3 игру можно урезать с PixelShader 3 до PixelShader 1.1. При переходе на PixelShader 1.1 вы получите более тусклое отражение луны на поверхностях, в отличие от PixelShader 3 с HDR-рендерингом.
Если шейдеры PixelShader 3 не выставлены на максимальное качество, Splinter Cell 3 сначала загружает все эффекты в кэш игры.
Окружающие источники дают более яркий свет после включения HDR-рендеринга с PixelShader 3.
HDR-рендеринг
Рендеринг с высоким динамическим диапазоном (High Dynamic Range, HDR) даёт лучшие эффекты освещения и фильтрации. Скажем, зеркальные поверхности будут правильно отражать очень яркие источники света. HDR удачно поддерживается в новых играх, например, в Splinter Cell 3 – Chaos Theory и Serious Sam 2.
Если ваша система оснащена картами из линеек GeForce 6 или 7, либо Radeon X1x00, то в Splinter Cell 3 можно вызвать меню опций PixelShader 3, где активируются эффекты вроде параллакс-маппинга и HDR-рендеринга.
HDR-рендеринг позволяет игре более реалистично выводить яркие источники света и отражения.
HDR-рендеринг в Serious Sam 2 обеспечивает более качественные и яркие отражения источников света.
В экстремальных случаях свет может оказаться настолько ярким, что будет просто ослеплять.
Без HDR-рендеринга окружение яркое, облака, закрывающие Луну, практически непрозрачные, а баскетбольная корзина выглядит невзрачно.
Если карта поддерживает PixelShader 3, то у неё можно включить HDR-рендеринг. Рассеянный свет становится несколько темнее, облака, закрывающие Луну, прозрачнее, а щит баскетбольной корзины начинает отражать солнечный свет.
Параллакс-маппинг
Параллакс-маппинг заменяет классическую технологию отображения неровностей (bump mapping), более качественно выводя трещины и борозды в стенах. Эффект отображения неровностей становится более динамичным, что можно наглядно наблюдать в играх вроде F.E.A.R. и Splinter Cell 3 – Chaos Theory.
Трюк со смещением, создаваемый с помощью PixelShader 3, создаёт иллюзию глубины отверстий от пуль.
Параллакс-маппинг PixelShader 3 используется также и в Splinter Cell 3. Неровности на земле выглядят оптически более реалистично.
Каменная стена выглядит интереснее.
Лучшая графика с GeForce 7 и Radeon X1x00
3D-игра F.E.A.R. является хорошим примером для демонстрации возможностей современных графических карт на ПК. Чем мощнее и современнее ваша графическая карта, тем больше вы получите эффектов и тем выше будет визуальное качество. На приведённых в нашей статье иллюстрациях наглядно заметно, какие детали картинки отсутствуют у старых или слабых карт. Вообще, для современного 3D-шутера вряд ли подойдёт процессор меньше 3 ГГц и карта слабее GeForce 7. В противном случае вы получите меньшее разрешение, не такие красивые тени и освещение, а также урезанную текстурную фильтрацию. Вряд ли стоит лишний раз говорить, что карта должна поддерживать PixelShader 3.
3D-чип класса GeForce 2. Самое низкое качество графики приводит к тому, что почти все функции выключены. Вы не обнаружите эффектов шейдеров, текстуры используют билинейную фильтрацию, а теней нет вообще.
3D-чип класса GeForce 3, GeForce 4, Radeon 9800. При качестве “Low” текстуры используют трилинейную фильтрацию, а картинка становится более резкой. Но у кирпичной стенки отсутствует глубина. Теней по-прежнему нет.
3D-чип класса GeForce 5, Radeon X800. Качество “Medium” уже демонстрирует игру света и тени. Световые эффекты от пламени причудливо освещают стены. Для отображения графических эффектов PixelShader 2 на данном уровне качества достаточно. Если частота кадров в игре вас не устроит, отключите тени.
3D-чип класса GeForce 6, 7, Radeon X1x00. Графические детали максимальны. Каменная кладка выглядит реалистично. Параллакс-маппинг в PixelShader 3 даёт более реалистичные неровности и трещины с ощутимой глубиной, в отличие от стандартного отображения неровностей PixelShader 2. Кроме того, источники света отбрасывают на стенах трепещущие, анимированные тени.