Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(7)

本文将继续介绍SvrPluginAndroid的相关代码:

	public override IEnumerator BeginVr(int cpuPerfLevel, int gpuPerfLevel)
	{
        //yield return new WaitUntil(() => SvrIsRunning() == false);  // Wait for EndVr

        yield return base.BeginVr(cpuPerfLevel, gpuPerfLevel);

        // float[6]: x, y, z, w, u, v
        float[] lowerLeft = { -1f, -1f, 0f, 1f, 0f, 0f };
        float[] upperLeft = { -1f,  1f, 0f, 1f, 0f, 1f };
        float[] upperRight = { 1f,  1f, 0f, 1f, 1f, 1f };
        float[] lowerRight = { 1f, -1f, 0f, 1f, 1f, 0f };
        SvrSetupLayerCoords(0, -1, lowerLeft, lowerRight, upperLeft, upperRight);    // Eye/All
        SvrSetupLayerCoords(1, -1, lowerLeft, lowerRight, upperLeft, upperRight);    // Overlay/All

        SvrSetPerformanceLevelsEventData(cpuPerfLevel, gpuPerfLevel);

        yield return new WaitUntil(() => SvrCanBeginVR() == true);
        IssueEvent (RenderEvent.BeginVr);
        yield return new WaitUntil(() => SvrIsRunning() == true);
    }

在SvrPluginAndroid脚本中重写了父类SvrPlugin中的BeginVR方法。

BeginVR方法的作用是开始VR模式,分别传入cpu和gpu的运行等级。这部分逻辑已在之前文章中介绍过了。

不了解的读者可以翻阅之前的博客。

在SvrPluginAndroid脚本的BeginVR方法中,首先运行了父类BeginVR方法。

 yield return base.BeginVr(cpuPerfLevel, gpuPerfLevel);

之后定义了上下左右方位的屏幕坐标:lowerleft、upperleft、upperright、lowerright

调用SDK中Android底层so的SvrSetupLayerCoords方法设置Eye Camera以及OverLayCamera的坐标。

调用SvrSetPerformanceLevelsEventData想底层SDK代码中设置cpu和gpu的运行等级。

 SvrSetPerformanceLevelsEventData(cpuPerfLevel, gpuPerfLevel);

之后判断SvrCanBeginVR

可以开启VR模式后向GPU发送渲染事件

IssueEvent (RenderEvent.BeginVr);

至此,BeginVR的相关逻辑介绍完毕。

主要完成的工作是向底层SDK代码中设置cpu和gpu的等级,开始运行VR模式等操作

阅读更多
上一篇Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(6)
下一篇Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(8)
想对作者说点什么? 我来说一句

GameofMir(GOM引擎)脚本解密器

2015年06月08日 332KB 下载

Intouch脚本说明书

2011年06月21日 3.4MB 下载

Windows 7各服务项简介

2010年06月22日 9KB 下载

wincc sp2脚本介绍

2014年11月01日 4.96MB 下载

WIN7优化脚本

2014年08月25日 4KB 下载

ZPL语言和打印脚本简介

2012年10月29日 1.18MB 下载

Linux服务器安全加固shell脚本

2014年12月21日 1KB 下载

Mercury LoadRunner中文教程

2010年09月30日 2.29MB 下载

LoadRunner教程8[1].1(中文版)

2010年11月09日 2.3MB 下载

pyhthon学习笔记

2017年10月30日 41KB 下载

没有更多推荐了,返回首页

关闭
关闭