Qualcomm_Snapdragon_VR_SDK SvrEye脚本简介(5)

在SvrEye中存在一个变量imageCamera表示当前eye物体上的Camera属性:

  [Tooltip("Image display transform")]
    public Camera imageCamera;

在脚本的Awake()方法中:

 void Awake()
    {
        Instances.Add(this);
        AcquireComponents();
        InitializeCoords();
    }

AcquireComponents方法的作用就是为imageCamera变量进行赋值,具体实现如下:

void AcquireComponents()
    {
        if (imageCamera == null) imageCamera = gameObject.GetComponent<Camera>();
        Debug.Assert(imageCamera != null, "ImageCamera object required");
        mainCameras = imageCamera.GetComponentsInChildren<Camera>();
    }

SvrEye脚本依赖Camera属性,因此初始化的时候需要完成imageCamera变量的赋值,具体实现是在脚本物体上获取Camera的属性值,通过该变量,用户可以方便的获取到当前的SvrEye物体上的Camera属性。

Awake中另一个方法是InitializeCoords,其具体实现如下:

 void InitializeCoords()
    {
        clipLowerLeft.Set(-1, -1, 0, 1);
        clipUpperLeft.Set(-1, 1, 0, 1);
        clipUpperRight.Set(1, 1, 0, 1);
        clipLowerRight.Set(1, -1, 0, 1);
    }

代码的逻辑比较简单,完成的只是对四个变量的赋值工作。

  [Tooltip("Image display region (camera clip space)")]
    public Vector4 clipLowerLeft = new Vector4(-1, -1, 0, 1);
    public Vector4 clipUpperLeft = new Vector4(-1, 1, 0, 1);
    public Vector4 clipUpperRight = new Vector4(1, 1, 0, 1);
    public Vector4 clipLowerRight = new Vector4(1, -1, 0, 1);

这四个变量保存的是Camera视窗的四个顶点坐标。在SvrManager中执行SubmitFrame方法时会将这四个坐标传入到底层SDK的接口中,代码逻辑如下:

 float[] lowerLeft = { eye.clipLowerLeft.x, eye.clipLowerLeft.y, eye.clipLowerLeft.z, eye.clipLowerLeft.w, eye.uvLowerLeft.x, eye.uvLowerLeft.y };
            float[] upperLeft = { eye.clipUpperLeft.x, eye.clipUpperLeft.y, eye.clipUpperLeft.z, eye.clipUpperLeft.w, eye.uvUpperLeft.x, eye.uvUpperLeft.y };
            float[] upperRight = { eye.clipUpperRight.x, eye.clipUpperRight.y, eye.clipUpperRight.z, eye.clipUpperRight.w, eye.uvUpperRight.x, eye.uvUpperRight.y };
            float[] lowerRight = { eye.clipLowerRight.x, eye.clipLowerRight.y, eye.clipLowerRight.z, eye.clipLowerRight.w, eye.uvLowerRight.x, eye.uvLowerRight.y };
            SvrSetupLayerCoords(0, eyeCount, lowerLeft, lowerRight, upperLeft, upperRight);


Qualcomm_mde.win 是指高通移动开发平台(Qualcomm Mobile Development Environment)的一个软件组件。 高通是一家全球领先的无线通信技术公司,它开发了一系列芯片和软件解决方案,用于移动通信设备,如智能手机、平板电脑和智能穿戴设备等。Qualcomm_mde.win 是高通移动开发平台的一个重要组成部分,旨在为开发者提供一个集成的开发环境和工具,以便他们能够更轻松地开发和测试基于高通芯片的应用程序和软件。 Qualcomm_mde.win 提供了多种功能和工具,包括调试器、编译器、模拟器和性能分析器等。开发者可以使用这些工具来进行应用程序的开发、调试和测试。它还支持多种开发语言和框架,如C++、Java和Android等,使开发者能够根据自己的喜好和需求选择适合的开发方法。同时,Qualcomm_mde.win 还提供了丰富的开发文档和示例代码,帮助开发者快速上手和解决问题。 使用 Qualcomm_mde.win 可以帮助开发者更高效地进行移动应用程序的开发和测试工作。它提供了许多强大的工具和功能,使开发者能够更好地理解和调试应用程序在高通芯片上的运行情况。无论是入门级的开发者还是经验丰富的专业人士,都可以从 Qualcomm_mde.win 中受益,并提高其开发工作的效率和质量。 总之,Qualcomm_mde.win 是高通移动开发平台的一个重要组件,为开发者提供了丰富的开发工具和环境,使他们能够更轻松地开发和测试基于高通芯片的应用程序和软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值