Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(2)

原创 2018年03月19日 17:40:57

在SvrPluginAndroid脚本中大量的使用了[DllImport("svrplugin")]的语句:

    [DllImport("svrplugin")]
    private static extern IntPtr GetRenderEventFunc();

    [DllImport("svrplugin")]
    private static extern bool SvrIsInitialized();

    [DllImport("svrplugin")]
    private static extern bool SvrIsRunning();

.......

该语句的作用是加载SDK底层的dll插件,如图所示:


之后可调用dll中的VR相关方法。

由于SvrPluginAndroid中使用dll的方法比较多,因此本文集中介绍几个关键的方法及方法作用。

SvrIsInitialized方法作用是调用dll中的SvrIsInitialized方法判断当前SDK是否完成初始化。

   [DllImport("svrplugin")]
   private static extern bool SvrIsInitialized();

SvrIsRunning方法作用是调用dll中的SvrIsRunning方法判断当前SDK是否处于运行的状态中。

 [DllImport("svrplugin")]
    private static extern bool SvrIsRunning();

SvrCanBeginVR方法作用是调用dll中的SvrCanBeginVR方法判断当前设备是否可以开始VR模式。

   [DllImport("svrplugin")]
    private static extern bool SvrCanBeginVR();

SvrSubmitFrameEventData方法是想dll中提交当前帧数据参数,包括当前帧数、fov以及帧图像类型

	[DllImport("svrplugin")]
	private static extern void SvrSubmitFrameEventData(int frameIndex, float fieldOfView, int frameType);

SvrSetTrackingModeEventData方法的作用是设置当前VR的跟踪模式,包括3Dof和6Dof。

 [DllImport("svrplugin")]
	private static extern void SvrSetTrackingModeEventData(int mode);


Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(9)

public override void SetFoveationParameters(float focalPointX, float focalPointY, float foveationGai...
  • CONGLF
  • CONGLF
  • 2018-04-12 14:48:16
  • 101

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(14)

public override void Shutdown() { IssueEvent (RenderEvent.Shutdown); base.Shutdow...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:19:46
  • 95

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(2)

在SvrPluginAndroid脚本中大量的使用了[DllImport("svrplugin")]的语句:    [DllImport("svrplugin"...
  • CONGLF
  • CONGLF
  • 2018-03-19 17:40:57
  • 346

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(12)

本文将介绍SvrPluginAndroid脚本中的Submit方法,该方法的作用是渲染左右眼图像,是SvrPlugin中VR模式实现的核心代码。 public override void Sub...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:08:57
  • 100

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(13)

public override void SubmitFrame(int frameIndex, float fieldOfView, int frameType)  {         int i;...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:15:31
  • 100

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(15)

在SvrPluginAndroid中还提供了一些手柄的操作方法。Qcom VRSDK中手柄兼容的是Ximmerse手柄,方便开发这快速的连接手柄开发相关程序。具体的代码如下: //----------...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:23:08
  • 84

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(1)

SvrPluginAndroid脚本继承了基类SvrPlugin脚本,适用与Android的运行环境,实现了SvrPlugin中的关键方法,具体的代码结构如下:using UnityEngine; u...
  • CONGLF
  • CONGLF
  • 2018-03-14 14:10:43
  • 347

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(6)

前几篇文章中已经系统介绍了SvrPluginAndroid脚本中调用的dll底层方法。细心的读者可以观察到所有的方法中都是private 的私有方法。 于是在SvrPluginAndroid中在此基础...
  • CONGLF
  • CONGLF
  • 2018-03-22 14:29:34
  • 323

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(8)

public override void EndVr() { base.EndVr(); IssueEvent (RenderEvent.EndVr); } pu...
  • CONGLF
  • CONGLF
  • 2018-04-12 14:41:00
  • 60

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(17)

到了本章节,SvrPluginAndroid脚本的全部代码已经介绍完毕。SvrPluginAndroid集成了SvrPlugin类,是SDK在Android平台上适配的VR模式相关方法和逻辑脚本。其中...
  • CONGLF
  • CONGLF
  • 2018-04-19 10:13:51
  • 11
收藏助手
不良信息举报
您举报文章:Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(2)
举报原因:
原因补充:

(最多只允许输入30个字)