1 openVR_header.pas Хедер библиотеки openvr_api.dll для паскаля ...
2 Где-то в дебрях интернета есть проект "PasOpenVR - Virtual Reality with Object Pascal"
ЗЫ
Мои личные успехи пока невелики ...
Пока получилось только "тупо запустить" оболочку SteamVR
Вот код этого безобразия .
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.
Думал хотя бы картинку в пространстве повесить ..
Но Си-шный код
CVROverlay overlay = OpenVR.Overlay;
overlay.CreateOverlay("textureOverlay", "Picture Overlay", ref overlayHandle);
overlay.SetOverlayFromFile(overlayHandle, OverlayPath);
overlay.ShowOverlay(overlayHandle);