GrabDuck

Стереодрайверы для игр | sView

:

Первые игры со встроенной поддержкой вывода стереоизображения появились очень давно (вспомнить хотя бы Descent). Тем не менее, большинство современных игр по-прежнему игнорируют существование 3D стерео. Для решения этой проблемы были разработаны приложения особого класса - ‘стереодрайвер’, позволяющий адаптировать игру под стереодисплей.

Введение

Стереопара представляет собой два изображения, созданные с небольшим сдвигом камеры. Обычное 3D приложение рисует картинку для одного ракурса камеры, при этом камера задаётся с помощью матрицы проекции 4x4. Матрично-векторные операции являются основой вычислений в 3D графике, более того - в графических API Direct3D и OpenGL матрицы проекции задавались отдельными методами. Поскольку большинство приложений используют матрицы проекции стандартной формы, камеру можно переопределить непосредственно модифицируя матрицу проекции.

Собственно говоря, именно этим и занимается любой стереодрайвер - он достраивает за игру дополнительный кадр, переопределяя матрицы проекции. Однако не всё так просто, как может показаться на первый взгляд:

  1. Подготовка стереопары практически удваивает вычисления на каждый кадр, что приводит к падению производительности.
  2. Современные приложения имеют большую свободу в задании вычислений и используют хитрые алгоритмы для отрисовки теней и спецэффектов с использованием внеэкранных буферов кадра. Это значительно осложняет логику стереодрайвера, требуя ручной адаптации под особенности конкретного приложения. Очень часто стереодрайвер неспособен отработать корректно некоторые спецэффекты в игре, что делает изображение бракованным. Наиболее распространены проблемы с тенями и небом.
  3. Подготовленную стереопару необходимо вывести на соответствующее стереооборудование, которое весьма разнообразно. Иногда поддержка конкретного оборудования технически невозможна стереодрайвером или не реализуется производителем с целью продвижения своих решений.

К сожалению, на сегодняшний день выбора между производителями стереодрайверов практически нет. В приведённой ниже таблице перечислены существовавшие в прошлом решения, а также их сравнительные характеристики.

Сводная таблица

NVIDIA, WinXP NVIDIA 3D Vision IZ3D OPEN STEREO eDimensional TriDef
Статус разработки: прекращена постоянно
обновляется
прекращена прекращена прекращена постоянно
обновляется
Поддерживаемые Операционные системы
Windows XP x86: + - + + + +
Windows XP x86-64: - - + + + -
Windows Vista / 7 x86: - + + + + +
Windows Vista x86-64: - + + + + -
Windows 7 x86-64: - + + + + +
32-битные приложения: + + + + + +
64-битные приложения: - + + (?) - - -
Поддерживаемые 3D API
DirectX 7: + -
(info)
- - - -
DirectX 8: + + +
(info)
- - -
DirectX 9c: + + + + + +
DirectX 10: - + + - - +
OpenGL: + - - - - -
Поддержка оконного стерео: - -
(info)
+ + - +
Автоматический перехват 3D-приложений: + + + - - -
(info)
Поддерживаемые стереоустройства
Анаглиф:
(Red-Cyan anaglyph)
+ + + + - +
NVIDIA 3DVision: - + - - - -
Затворные очки
(других производителей):
+ - +/-
(AMD HD3D, software emulation)
+/-
(частичная)
- +/-
(AMD HD3D)
Чересстрочный монитор + + + - + +
Монитор Sharp: + - ? - - +
HMD Z800: + - - - - -
Vuzix VR920: ? - + - - -
Двойной вывод: + - + - - +
Зеркальные вывод: + - + - - -
Монитор IZ3D: +
(info)
- + - - -
Дополнительно
Официальный сайт: nvidia.ru nvidia.ru iz3d.com blogspot.com edimensional.com tridef.com
Последняя официальная версия:
(на момент написания статьи)
91.31
(2006.06.29)
- 1.13RC
(2011.06.15)
0.3b
(2007.04.26)
- -
Download: nvidia.ru nvidia.ru RealStereo 0.3b tridef.com

Дополнительные подробности

Стереодрайвер NVIDIA можно и любить и ненавидеть одновременно. Это один из самых старых представителей, который оставался бескомпромиссным вариантом для стереолюбителя на протяжении многих лет.

Основная проблема драйвера - это отсутствие конкретной линии разработки. Выпуски драйверов для Windows XP были крайне редкими и к сожалению очень редко радовали игроков качественными нововведениями. На версии 91.31 NVIDIA решила прекратить дальнейшую разработку этого драйвера.

Однако в 2008 году NVIDIA выдвигает собственный продукт для стерео - это ‘старые добрые’ затворные очки, но теперь под брендом NVIDIA. Производитель продвигает новый товар в купе с новыми драйверами - это фактически те же самые наработки в области стерео, но уже для Windows Vista! Помимо сменившегося интерфейса настроек, урезанного до минимума списка поддерживаемых стереоустройств (только анаглифные очки, фирменные затворные очки и мониторы Zalman), драйвер также лишился и дружбы с OpenGL играми. В более поздних релизах незаметно пропала поддержка игр на DirectX 7.

Такое перевоплощение не очень то порадовало пользователей старых стереоустройствами, которые в миг потеряли всякую надежду на поддержку в Vista+.

Однако с момента перевоплощения многое изменилось в лучшую сторону. В первую очередь это касается сроков выпуска - стереодрайвер теперь включён в поставку основного драйвера (чего так долго ждали со времён драйвера для Windows XP), а значит нет проблем обновления различных компонентов. Изменилась панель настроек стереодрайвера, а также туториал для его активации. Появился OSD (On-Screen-Display), который выводит некоторые сведения о работе драйвера на экран прямо во время игры. Некоторые настройки (конвергенции) были перенесены в разряд ‘продвинутых’ и по-умолчанию не доступны для настройки. Компания стала активно сотрудничать с разработчиками игр с целью поддержки ими стереовывода средствами стереодрайвера. В результате вышло уже несколько игр, полностью совместимых со стереотехнологией NVIDIA, но с неприятным сюрпризом для опытных игроков - невозможностью регулировать параметр конвергенции (авторы выбрали ‘подходящее’ значение за вас).</p>

Историческая заметка - разработчик стереодрайвера, к сожалению, объявил себя банкротом в 2012 году. Выход “новичка” на рынок стереоустройств подарил не только весьма доступный по цене монитор, но и стереодрайвер собственной разработки. Основной упор драйвера - это поддержка современных игр со включенными спецэффектами. В последствии к поддержке IZ3D мониторов была добавлена поддержка и иных стереоустройств, на платной основе.

Программа вышла в начале 2007 года и сразу же вызвала большой интерес у стереосообщества. Автор программы, Аркадий Шапкин, написал его для вывода игр в анаглифном стереоформате. В основе программы используется бесплатная версия библиотек для перехвата вызовов. Принцип работы программы основывается на перехвате команд видеодрайверу, добавления к ним новых команд для вывода стерео.

К сожалению, драйвер закончил своё развитие практически в самом начале, так как автора “забрали” в команду разработчиков iZ3D, где он и использовал свои знания и умения на благо уже iZ3D драйвера. Тем не менее информация об этой программе оставлена здесь для истории.

В недавнем прошлом стереодрайвер этого разработчика продавался отдельно для каждой игры. Это была любопытная идея (ведь покупатель мог быть уверен в 100%-ой работоспособности стерео в игре при покупке), но конкуренция со стороны других производителей драйверов вынудила TriDef выпустить универсальный драйвер.

В списке поддерживаемых драйвером устройств значатся анаглиф, чересстрочные мониторы, AMD HD3D и некоторые другие. Программа платная, однако драйвер также поставляется со многими стереомониторами.

Особенности использования драйвера вытекают из его прошлого. Для каждой установленной игры необходимо создать ярлык запуска - никакого автоматического перехвата всех 3D-приложений как в NVIDIA 3D Vision и iZ3D не предусмотрено. Компенсирует неудобство функция обнаружения установленных программ.

К каждой игре необходимо указать профиль. Очень интересным способом решаются проблемы некоторых игр - эффекты, которые не удаётся адаптировать под стерео, отключаются независимо от настроек приложения.

Из приятных особенностей драйвера следует отметить самый продвинутое OSD меню, позволяющее менять все настройки драйвера не выходя из игры.

Trademarks The name NVIDIA and the NVIDIA logo are registered trademarks of NVIDIA Corporation. AMD, the AMD Arrow logo, and combinations thereof, are trademarks of Advanced Micro Devices, Inc.