Пытался уже пока тщетно ... (В принципе на гагахабе есть много проектов на С++ можно просто найти несколько достаточно простых для конверсии в Лазарус - операция временами нудная но ничего особо страшного в ней нет )
Добавлено спустя 2 часа 50 минут 29 секунд:Хм ! Внезапно даже не виснет ... (Интерфейс openVR ->SteamVR->WMR при запуске загружается )
(DLL брал от сюда
https://github.com/ValveSoftware/openvr/tree/master/bin )
Все прочее стандартная "обвеска" из SteamVR и "Протала смешанной реальности" из Виндовс 10 .
КСТАТИ "Шлем виртуальной реальности" для запуска ВиАр приложений в Виндовс 10 необязателен - Код: Выделить всё
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
openVR_header ;
Const overlayHandle :longint = 0;
E:PEVRInitError=nil;
Var HOverlay:Pointer;
P2: UInt32;
// CVROverlay overlay = OpenVR.Overlay;
begin
Writeln('Test!');
{ Код на Си....
long overlayHandle = 0;
EVRInitError eError = EVRInitError.None;
OpenVRInterop.GetGenericInterface(OpenVR.IVROverlay_Version, ref eError);
CVRSystem system = OpenVR.Init(ref eError, EVRApplicationType.VRApplication_Overlay);
CVROverlay overlay = OpenVR.Overlay;
overlay.CreateOverlay("textureOverlay", "Picture Overlay", ref overlayHandle);
overlay.SetOverlayFromFile(overlayHandle, OverlayPath);
overlay.ShowOverlay(overlayHandle);
}
//Код на Паскале....
New(E);
E^:=TEVRInitError.EVRInitError_VRInitError_None;
HOverlay:=VR_GetGenericInterface(IVROverlay_Version,E);
P2:=VR_InitInternal(E,TEVRApplicationType.EVRApplicationType_VRApplication_Overlay);
Writeln('OpenVR RUN !!');
ReadLn;
VR_ShutdownInternal;
end.
Правда как картинку загрузить пока не понял ... (Как вот этот кусок переписать под openVR_header ? )
- Код: Выделить всё
CVROverlay overlay = OpenVR.Overlay;
overlay.CreateOverlay("textureOverlay", "Picture Overlay", ref overlayHandle);
overlay.SetOverlayFromFile(overlayHandle, OverlayPath);
overlay.ShowOverlay(overlayHandle);
Тупо написать что-то вроде
Var Bitmap:TBitmap;
..
Bitmap:=TBitmap.Create;
Bitmap.Handle:=HOverlay;
Bitmap.LoadFromFile('test.bmp');
Bitmap.Refresh;
что ли ?
Добавлено спустя 20 минут 36 секунд:[url][img]OpenVR_01_500.jpg[/img][/url]
(Пока все еще "голый лимб" SteamVR но запускается он моей программой ....)
Кстати прога автоматически завершается при закрытии SteamVR наплевав ReadLn;
Добавлено спустя 16 часов 49 минут 14 секунд:Обнаружил вот этот похоже что ныне заброшенный проект (Там есть какие-то попытки использовать OpenVR и библиотеки для Oculus )
https://github.com/Relfos/TERRA-Engine