public static SrdXrResult CreateSession(out IntPtr session) { var devices = new SrdXrDeviceInfo[1]; var resultED = SRDCorePlugin.EnumerateDevices(devices, (uint)devices.Length); SrdXrSessionCreateInfo info; { info.platform_id = SrdXrPlatformId.PLATFORM_ID_SRD; info.coordinate_system = SrdXrCoordinateSystem.COORDINATE_SYSTEM_LEFT_Y_UP_Z_FORWARD; info.coordinate_unit = SrdXrCoordinateUnit.COORDINATE_UNIT_METER; info.device = devices[0]; } var resultCS = XRRuntimeAPI.CreateSession(ref info, out session); return((resultED != SrdXrResult.SUCCESS) ? resultED : resultCS); }
public static bool GetSRDScreenRect(out SRDSettings.ScreenRect screenRect) { var size = SRDCorePlugin.CountDevices(); if (size == 0) { screenRect = new SRDSettings.ScreenRect(); return(false); } SrdXrDeviceInfo[] devices = { new SrdXrDeviceInfo(), }; SRDCorePlugin.EnumerateDevices(devices, 1); var target = devices[0].target_monitor_rectangle; var width = target.right - target.left; var height = target.bottom - target.top; screenRect = new SRDSettings.ScreenRect(target.left, target.top, width, height); return(true); }