2016-01-07 7 views
0

Как вы, наверное, знаете, DK2 поддерживает новый режим Direct Mode, который уменьшает задержку и, следовательно, улучшает работу VR. Когда я запускаю образцы DK2, которые поставляются с последним 0,8 (бета) SDK, версия DiredctX11 OculusTinyRoom работает нормально.ovr_CreateSwapTextureSetGL не работает [OpenGL + Oculus 0.8.0/DK2]

Моя проблема: OpenGL (с использованием 3,3 профиля) версия использует функцию под названием ovrHmd_CreateSwapTextureSetGL(), который возвращает textureset с нулевыми текстурами (но называет glGenBuffer в качестве запасного варианта), а возвращаемое значение -1006 (ovrServiceError).

Я видел много сообщений о проблемной поддержке OpenGL на форуме разработчиков Oculus. Для более ранних версий SDK поддержка OpenGL игнорировалась с 0.2.4+ и, похоже, была разрешена с версий 0.5 и выше (все в режиме рендеринга клиента). Ничего не говорится о более новом Direct Mode, за исключением того, что для некоторых людей он вообще не работал, если у них был второй экран, даже в DirectX11. Это не относится ко мне.

Я также видел, что люди предлагают драйверы 3D Vision от NVidia, поскольку они могут конфликтовать с драйверами Oculus Rift. Они сообщают о резких улучшениях частоты кадров, хотя я сам получаю 10% -ное улучшение. Очевидно, что GameWorks VR от NVidia укусит драйверы, просто установив его. К сожалению, их удаление не устраняет проблему.

Последнее обновление драйвера (361.34) предлагает улучшенную поддержку Oculus и OpenGL в GameWorks VR OpenGL, а также поддержку Direct Mode (даже для SLI-настроек, которые, похоже, имеют довольно impressive results). Но это решение только для NVidia. В качестве альтернативы AMD имеет LiquidVR. Но я все равно хотел бы использовать стек Oculus SDK.

Я использую одновременно Geforce 480 и Titan X.

ответ

0

Я вернулся ко второму вопросу экрана, что некоторые, кажется, не было. Поскольку это работало для меня в DX11, я решил, что моя проблема будет не такой.

Во время моего исследования я нашел несколько интересных forum post на reddit, предполагающих, что часть проблемы может быть связана с использованием нескольких мониторов. Оказывается, он, похоже, был исправлен для DX11, но не для OpenGL тем временем.

Так что я могу подтвердить, что отключить все вторичные экраны, подключенные к вторичным картам, устраняет проблему. Для OpenGL вам необходимо подключить ВСЕ ваши устройства вывода к SAME карте.

Я сделал еще несколько испытаний:

Что сработало:

  • Первичный экран и Oculus как подключенную к TitanX (480 не подключено).
  • Подключение обоих экранов и Окулус на Титане работал

Что не работает (!):

  • Подключение к первичной Титана и Окулус на 480 не работает.
  • Подключение первичного к 480 и Oculus к Titan также не работает.

Так что это проблема с драйвером с перечислением графического устройства.

Примечание: Это произошло после того, как я удалил драйверы NVidia 3D Vision и обновил его до сборки 361.43, поэтому он также может быть связан с их установкой. Если кто-то сможет это подтвердить, было бы хорошо знать.

 Смежные вопросы

  • Нет связанных вопросов^_^