private bool SDKManagerInitCoreAbility() { if (!isViewerLogicFlow) { AddPrePostRenderStages(); PLOG.D("AddPrePostRenderStages"); } if (pvr_UnitySDKRender == null) { Debug.Log("pvr_UnitySDKRender init"); // pvr_UnitySDKRender = this.gameObject.AddComponent<Pvr_UnitySDKRender>(); pvr_UnitySDKRender = new Pvr_UnitySDKRender(); } else { pvr_UnitySDKRender.Init(); } if (pvr_UnitySDKSensor == null) { Debug.Log("pvr_UnitySDKSensor init"); HeadPose = new Pvr_UnitySDKPose(Vector3.forward, Quaternion.identity); // pvr_UnitySDKSensor = this.gameObject.AddComponent<Pvr_UnitySDKSensor>(); pvr_UnitySDKSensor = new Pvr_UnitySDKSensor(); // pvr_UnitySDKSensor.Init(); } Pvr_UnitySDKAPI.System.UPvr_StartHomeKeyReceiver(this.gameObject.name); return(true); }
public static Matrix4x4 MakeProjection(float n, float f) { Vector2 resolution = Pvr_UnitySDKRender.GetEyeBufferResolution(); float fov = Pvr_UnitySDKManager.SDK.EyeVFoV; float tanhalffov = Mathf.Tan(fov / 2f * Mathf.Deg2Rad); float cothalffov = 1f / tanhalffov; Matrix4x4 m = Matrix4x4.zero; m[0, 0] = cothalffov / (resolution.x / resolution.y); m[1, 1] = cothalffov; m[2, 2] = -(f + n) / (f - n); m[2, 3] = -2 * f * n / (f - n); m[3, 2] = -1; return(m); }
private bool SDKManagerInitCoreAbility() { if (pvr_UnitySDKRender == null) { Debug.Log("pvr_UnitySDKRender init"); pvr_UnitySDKRender = new Pvr_UnitySDKRender(); } else { pvr_UnitySDKRender.Init(); } if (pvr_UnitySDKSensor == null) { Debug.Log("pvr_UnitySDKSensor init"); HeadPose = new Pvr_UnitySDKPose(Vector3.zero, Quaternion.identity); pvr_UnitySDKSensor = new Pvr_UnitySDKSensor(); } Pvr_UnitySDKAPI.System.UPvr_StartHomeKeyReceiver(this.gameObject.name); return(true); }