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);
}
具体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 视窗体数据。
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 视窗体数据。
相关文章推荐
- Qualcomm_Snapdragon_VR_SDK SvrPlugin脚本简介(1)
- Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(6)
- Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(2)
- Qualcomm_Snapdragon_VR_SDK SvrPlugin脚本简介(4)
- Qualcomm_Snapdragon_VR_SDK SvrPlugin脚本简介(2)
- Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(3)
- Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(4)
- Qualcomm_Snapdragon_VR_SDK SvrPlugin脚本简介(3)
- Qualcomm_Snapdragon_VR_SDK SvrPlugin脚本简介(6)
- Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(5)
- Qualcomm_Snapdragon_VR_SDK SvrPlugin脚本简介(7)
- Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(1)
- Qualcomm_Snapdragon_VR_SDK SvrManager脚本简介(6)
- Qualcomm_Snapdragon_VR_SDK SvrManager脚本简介(5)
- Qualcomm_Snapdragon_VR_SDK SvrManager脚本简介(2)
- Qualcomm_Snapdragon_VR_SDK SvrManager脚本简介(3)
- Qualcomm_Snapdragon_VR_SDK SvrManager脚本简介(4)
- Qualcomm_Snapdragon_VR_SDK SvrManager脚本简介(1)
- Qualcomm_Snapdragon_VR_SDK SvrEye脚本简介(3)
- Qualcomm_Snapdragon_VR_SDK SvrEye脚本简介(9)