Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(4)

原创 2018年03月22日 13:47:03

本文继续介绍SvrPluginAndroid中调用SDK中dll的方法。

[DllImport("svrplugin")]
    private static extern void SvrGetDeviceInfo(ref int displayWidthPixels,
	                                            ref int displayHeightPixels,
	                                            ref float displayRefreshRateHz,
	                                            ref int targetEyeWidthPixels,
	                                            ref int targetEyeHeightPixels,
	                                            ref float targetFovXRad,
	                                       		ref float targetFovYRad,
                                                ref float leftFrustumLeft, ref float leftFrustumRight, ref float leftFrustumBottom, ref float leftFrustumTop, ref float leftFrustumNear, ref float leftEyeFrustumFar,
                                                ref float rightFrustumLeft, ref float rightFrustumRight, ref float rightFrustumBottom, ref float rightFrustumTop, ref float rightFrustumNear, ref float rightFrustumFar);

在SvrPluginAndroid中另外一个比较重要的方法是SvrGetDeviceInfo。

其中方法中的参数都是通过ref来标记的。

其中displayWidthPixels返回的是当前屏幕的宽度像素值。

displayHeightPixels返回的是当前屏幕的高度像素值。

displayRefreshRateHz返回的是但却前设备的刷新率。

targeEyeWidthPixels返回的是当前设备眼图像宽度像素值。

targeEyeHeightPixels返回的是当前设备眼图像高度像素值。

targetFovXRad返回的是当前设备Fov的x值。

targetFovYRad返回的是当前设备Fov的y值。


    private enum RenderEvent
	{
		Initialize,
		BeginVr,
		EndVr,
		BeginEye,
		EndEye,
		SubmitFrame,
		Shutdown,
		RecenterTracking,
		SetTrackingMode,
		SetPerformanceLevels
	};

枚举类型RenderEvent表示的是当前Unity调用底层dll中的方法类型。

包括初始化、开始VR模式、结束VR模式等等。

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脚本简介(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脚本简介(12)

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

本文将对Qcom VR SDK中手柄相关的代码做简单的讲解。 //-------------------------------------------------------------------...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:26:50
  • 85

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脚本简介(7)

本文将继续介绍SvrPluginAndroid的相关代码: public override IEnumerator BeginVr(int cpuPerfLevel, int gpuPerfLevel...
  • CONGLF
  • CONGLF
  • 2018-04-12 14:31:14
  • 78
收藏助手
不良信息举报
您举报文章:Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(4)
举报原因:
原因补充:

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