예제 #1
0
    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);
    }
예제 #3
0
    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);
    }