本文继续介绍SvrPluginAndroid中调用SDK中dll的方法。
[DllImport("svrplugin")]
private static extern void SvrGetDeviceInfo(ref int displayWidthPixels,
ref int displayHeightPixels,
ref float displayRefreshRateHz,
ref int targetEyeWidthPixels,
ref int targetEyeHeightPixels,
ref float targetFovXRad,
ref float targetFovYRad,
ref float leftFrustumLeft, ref float leftFrustumRight, ref float leftFrustumBottom, ref float leftFrustumTop, ref float leftFrustumNear, ref float leftEyeFrustumFar,
ref float rightFrustumLeft, ref float rightFrustumRight, ref float rightFrustumBottom, ref float rightFrustumTop, ref float rightFrustumNear, ref float rightFrustumFar);
在SvrPluginAndroid中另外一个比较重要的方法是SvrGetDeviceInfo。
其中方法中的参数都是通过ref来标记的。
其中displayWidthPixels返回的是当前屏幕的宽度像素值。
displayHeightPixels返回的是当前屏幕的高度像素值。
displayRefreshRateHz返回的是但却前设备的刷新率。
targeEyeWidthPixels返回的是当前设备眼图像宽度像素值。
targeEyeHeightPixels返回的是当前设备眼图像高度像素值。
targetFovXRad返回的是当前设备Fov的x值。
targetFovYRad返回的是当前设备Fov的y值。
private enum RenderEvent
{
Initialize,
BeginVr,
EndVr,
BeginEye,
EndEye,
SubmitFrame,
Shutdown,
RecenterTracking,
SetTrackingMode,
SetPerformanceLevels
};
枚举类型RenderEvent表示的是当前Unity调用底层dll中的方法类型。
包括初始化、开始VR模式、结束VR模式等等。