Точнее наверное все-же может создаваться в спецификации OpenVR вообще есть прямое подключение оверлея и вряд ли в OpenXR это изменилось .dedm0zaj писал(а):в OpenXR отдельный контекст OpenGL не создается. берется тот же, что создается для окна WinAPI
OpenXR для FPC
Модератор: Модераторы
вроде доработал. пришлось разобраться не только с матрицей репроекции, но и с буфером под глубину (делаю по с++ урокам под вулкан, но для gl. на вулкане буфер под глубину почему то не участвует).
завтра сделаю простой пример с кубиком и выложу куда нить.
видосик на затравку. ссылка с дискорда
https://cdn.discordapp.com/attachments/ ... 231606.mp4
Добавлено спустя 37 минут 55 секунд:
кстати, если сидишь в дискордах, могу дать ссылку на русскоязычное сообщество ВР (сейчас там 7к людей). по разработке там мало, в основном сам вр. да и разработка в основном на движках unity, ue.
но всё же, если интересно, то приглашаю.
завтра сделаю простой пример с кубиком и выложу куда нить.
видосик на затравку. ссылка с дискорда
https://cdn.discordapp.com/attachments/ ... 231606.mp4
Добавлено спустя 37 минут 55 секунд:
кстати, если сидишь в дискордах, могу дать ссылку на русскоязычное сообщество ВР (сейчас там 7к людей). по разработке там мало, в основном сам вр. да и разработка в основном на движках unity, ue.
но всё же, если интересно, то приглашаю.
" ссылку на русскоязычное сообщество ВР " Это она ?dedm0zaj писал(а):кстати, если сидишь в дискордах, могу дать ссылку на русскоязычное сообщество ВР (сейчас там 7к людей). по разработке там мало, в основном сам вр. да и разработка в основном на движках unity, ue.
но всё же, если интересно, то приглашаю.
https://gamedev.ru/code/forum/?id=258029
Зы
.. сидишь в дискордах
Дискорд "терпеть ненавижу" типичная асоциальная сеть с чудовищным самомнением и неудобным функционалом .
Добавлено спустя 14 минут 9 секунд:
О это дело ! Интересно будет совместить то что я наработал на OpenVR с OpenXR .dedm0zaj писал(а):завтра сделаю простой пример с кубиком и выложу куда нить.
- только для винды
- отслеживание контров пока что нет. займусь в следующие выходные
- вывод картинки только в шлем. как на экран, не рендеря ещё раз, вроде понял, но надо подразобраться (вроде как вывести буфер в текстуру на весь экран)
https://github.com/dedm0zaj/simple_openxr_freepascal
Добавлено спустя 4 минуты 5 секунд:
upd:
делал по туториалу этого человека, переводя с с++
https://amini-allight.org/post/openxr-tutorial-part-0
Добавлено спустя 2 минуты 7 секунд:
upd2:
за говнокод не пинайте. я лишь любитель )
- отслеживание контров пока что нет. займусь в следующие выходные
- вывод картинки только в шлем. как на экран, не рендеря ещё раз, вроде понял, но надо подразобраться (вроде как вывести буфер в текстуру на весь экран)
https://github.com/dedm0zaj/simple_openxr_freepascal
Добавлено спустя 4 минуты 5 секунд:
upd:
делал по туториалу этого человека, переводя с с++
https://amini-allight.org/post/openxr-tutorial-part-0
Добавлено спустя 2 минуты 7 секунд:
upd2:
за говнокод не пинайте. я лишь любитель )
Спасибо ! Посмотрю ... Сейчас у меня в другом проекте полный аврал. "Но как только, так сразу !"
...и перефразируя известную фразу "...Любитель? Без таких любителей заглохнет нива жизни!"
...и перефразируя известную фразу "...Любитель? Без таких любителей заглохнет нива жизни!"
Собрал в Лазарус 2.10 64-битаdedm0zaj писал(а):- только для винды
- отслеживание контров пока что нет. займусь в следующие выходные
- вывод картинки только в шлем. как на экран, не рендеря ещё раз, вроде понял, но надо подразобраться (вроде как вывести буфер в текстуру на весь экран)
https://github.com/dedm0zaj/simple_openxr_freepascal
Добавлено спустя 4 минуты 5 секунд:
upd:
делал по туториалу этого человека, переводя с с++
https://amini-allight.org/post/openxr-tutorial-part-0
Вылетает с дампом
Код: Выделить всё
simple_openxr_pascal.exe
An unhandled exception occurred at $0000000000000000:
EAccessViolation: Access violation
$0000000000000000
$0000000100012732 CREATEXRINSTANCE, line 183 of xrinitloop.pas
$0000000100014172 INITXR, line 767 of xrinitloop.pas
$0000000100001885 main, line 42 of simple_openxr_pascal.lpr
$00000001000019E6
$000000010000DF00
$00000001000017E0
$00007FFFC87C4034
$00007FFFCAA03691
https://wiki.delphigl.com/index.php/Archiv:dglOpenGL
Добавлено спустя 19 минут 54 секунды:
Скопировал openxr_loader.dll в каталог программы . Так запустилось но все что видно "мертвый, бледно голубой как венозная кровь покойника" (с)Гари Гаррисон фон.
create wind
1462103
3918175429
FPS - 0
FPS - 1
Failed to acquire swapchain image: XR_ERROR_CALL_ORDER_INVALID
Failed to acquire swapchain image: XR_ERROR_CALL_ORDER_INVALID
OpenXR general (error): Unknown failure
Failed to end frame: XR_ERROR_RUNTIME_FAILURE
FPS - 0
...
OpenXR general (info): RuntimeInterface being destroyed.
OpenXR general (info): Destroying LoaderInstance = 0x000000000012fec0
Зы
Впрочем это "режим эмуляции"... Попробую на реальном железе ..
Добавлено спустя 1 час 39 минут 58 секунд:
Попробовал на Q2 + ALVR тоже самое .. ( Моя OpenVR демка худо бедно работает )
Впрочем это старый "рабочий" ноут-бук с древней видеокартой так что возможно дело в этом .
( Потом попробую на более свежем железе )
Прессованный Гладиолус 1 и Прессованный Гладиолус 2


Что сказать ? Работает. Но заставить этот пример заработать стоило немалых нервов и "не передаваемого ощущения дурдома "веселка" на выезде " ну или как вариант попадания в "куб брогов" ага "Сопротивление бесполезно вы будете ассимилированы !" А вот ФигВам !
Запущено в на реальном WMR от Леново через SteamVR с включенным OpenXR врапером . ( Пробовал OpenXR от WMR и Окулус не заработало )
"Сквозь морок лжи мечты витражи!"


Это уже Квест 2 + Окулус Линк + SteamVR


Что сказать ? Работает. Но заставить этот пример заработать стоило немалых нервов и "не передаваемого ощущения дурдома "веселка" на выезде " ну или как вариант попадания в "куб брогов" ага "Сопротивление бесполезно вы будете ассимилированы !" А вот ФигВам !
"Сквозь морок лжи мечты витражи!"


Это уже Квест 2 + Окулус Линк + SteamVR
Последний раз редактировалось Alex2013 06.04.2023 03:47:38, всего редактировалось 2 раза.
возможно проблема в том, что надо выставлять среду выполнения OpenXR.Alex2013 писал(а):Пробовал OpenXR от WMR и Окулус не заработало
если SteamVR, то среда выполнения должна быть SteamVR.
если окулус, то окулус и т.д.
делается в настройках каждой программы.
плюс openxr_loader.dll надо брать от каждого свой.
вообще openxr_loader.dll должен подхватываться сам. почему его надо класть рядом с exe, так и не понял. ведь другие проги работают норм.
Вроде все "по феншую" делал ( то бишь переключал среду и копировал свою DLL для каждой ) + касательно SteamVR то его я кроме прочего пытался запустить на Квест через ALVR ( А не через Окулус Линк постоянно тянущий "одеяло" среды выполнения на себя. ).dedm0zaj писал(а): возможно проблема в том, что надо выставлять среду выполнения OpenXR.
ALVR не юзаю. и линк не юзаю. юзаю VD.Alex2013 писал(а):касательно SteamVR то его я кроме прочего пытался запустить на Квест через ALVR
кстати у ALVR есть версия ALXR. возможно нужна она https://github.com/korejan/ALVR/releases/tag/v0.10.0
Это кстати идея ! Нужно проверить .dedm0zaj писал(а): юзаю VD.
Ну я до самого ALVR сейчас не добрался. ( Начались проблемы с 5ГГц диапазоном WiFi и я отложил это безобразие в долгий ящик ).dedm0zaj писал(а):кстати у ALVR есть версия ALXR. возможно нужна она https://github.com/korejan/ALVR/releases/tag/v0.10.0
Зы
Кстати интересно SteamVR на VD через gnirehtet( NET2USB ) пойдет ? В впрочем скорее всего если VD не видит клиент на компе то SteamVR он тоже не увидит.
Что нового по теме ? ( Я тут заюзал свою старую добрую техно-демку с OpenVR для просмотра сгенерированных нейросетью скайбоксов )

(Гифка понятное дело не в "VR mode" но представление о чем идет речь дает )
Зы
Хотел переделать технодемку с OpenVR на OpenXR но пока ничего хорошего из этого не получилось

(Гифка понятное дело не в "VR mode" но представление о чем идет речь дает )
Зы
Хотел переделать технодемку с OpenVR на OpenXR но пока ничего хорошего из этого не получилось
Кстати недавно нашел OpenXR для Android (на quest и pico )
Сама библиотека libopenxr_loader.so
https://github.com/lovr-org/ovr_openxr_ ... ree/master
и Oculus Mobile SDK (С++) с примерами использования
https://github.com/lovr-org/ovr_sdk_mobile
Вопрос как-бы ее в Лазарус транслировать?
Зы
Еще пытаюсь обойти SteamVR для более простого использования PCVR (через VDXR) пока не получается .
Сама библиотека libopenxr_loader.so
https://github.com/lovr-org/ovr_openxr_ ... ree/master
и Oculus Mobile SDK (С++) с примерами использования
https://github.com/lovr-org/ovr_sdk_mobile
Вопрос как-бы ее в Лазарус транслировать?
Зы
Еще пытаюсь обойти SteamVR для более простого использования PCVR (через VDXR) пока не получается .
