Как вы, наверное, знаете, 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.