您的位置:首页 > 编程语言 > Go语言

Qualcomm_Snapdragon_VR_SDK SvrPlugin脚本简介(5)

2018-03-14 13:31 423 查看
在SvrPlugin中提供了两个虚方法动态设置当前的VR模式 public virtual void SetTrackingMode(TrackingMode mode) { }
public virtual int GetTrackingMode() { return 0; }方法SetTrackingMode为设置当前的VR模式,GetTrackingMode为获取当前的VR模式。
这两个方法会在子类SvrPluginAndroid以及SvrPluginWin中重写,具体的重写代码如下:
SvrpluginAndroid: public override void SetTrackingMode(TrackingMode mode)
{
SvrSetTrackingModeEventData((int)mode);
IssueEvent (RenderEvent.SetTrackingMode);
}
public override int GetTrackingMode()
{
return SvrGetTrackingMode();
}
SvrPluginWin中并未重写这两个方法,因此获取SvrPluginWin脚本中的两个方法默认调用了SvrPlugin基类中的方法。
具体SvrPluginAndroid脚本中两个方法的实现会在后面的方法中进行介绍。
此外SvrPlugin中还定义了一个结构体类型: public struct ViewFrustum
{
public float left; //!< Left Plane of Frustum
public float right; //!< Right Plane of Frustum
public float top; //!< Top Plane of Frustum
public float bottom; //!< Bottom Plane of Frustum

public float near; //!< Near Plane of Frustum
public float far; //!< Far Plane of Frustum (Arbitrary)
}
ViewFrustum表示的是当前视窗体的数据值。这些数据值被应用在DeviceInfo的结构体当中:public struct DeviceInfo
{
public int displayWidthPixels;
public int displayHeightPixels;
public float displayRefreshRateHz;
public int targetEyeWidthPixels;
public int targetEyeHeightPixels;
public float targetFovXRad;
public float targetFovYRad;
public ViewFrustum targetFrustumLeft;
public ViewFrustum targetFrustumRight;
}
根据设备配置的不同读取当前设备的对应的SDK 视窗体数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: