Libovr 1.43 Reference Guide

ovrLayerEyeMatrix Struct Reference

Describes a layer that specifies a monoscopic or stereoscopic view.

Data Fields

ovrLayerHeader
Header ( )
Header.Type must be ovrLayerType_EyeMatrix.
ovrTextureSwapChain
ovrTextureSwapChains for the left and right eye respectively.
ovrRecti
Specifies the ColorTexture sub-rect UV coordinates.
ovrPosef
Specifies the position and orientation of each eye view, with position specified in meters.
ovrMatrix4f
Matrix ( )
Specifies the mapping from a view-space vector to a UV coordinate on the textures given above.
double
Specifies the timestamp when the source ovrPosef (used in calculating RenderPose) was sampled from the SDK.

Detailed Description

This uses a direct 3x4 matrix to map from view space to the UV coordinates. It is essentially the same thing as ovrLayerEyeFov but using a much lower level. This is mainly to provide compatibility with specific apps. Unless the application really requires this flexibility, it is usually better to use ovrLayerEyeFov.
Three options exist with respect to mono/stereo texture usage:
  • ColorTexture[0] and ColorTexture[1] contain the left and right stereo renderings, respectively. Viewport[0] and Viewport[1] refer to ColorTexture[0] and ColorTexture[1], respectively.
  • ColorTexture[0] contains both the left and right renderings, ColorTexture[1] is NULL, and Viewport[0] and Viewport[1] refer to sub-rects with ColorTexture[0].
  • ColorTexture[0] contains a single monoscopic rendering, and Viewport[0] and Viewport[1] both refer to that rendering.
See Also:
ovrTextureSwapChain, ovr_SubmitFrame

Field Documentation

ovrLayerHeader ovrLayerEyeMatrix::Header ( )
Header.Type must be ovrLayerType_EyeMatrix.
ovrTextureSwapChain ovrLayerEyeMatrix::ColorTexture[ovrEye_Count] ( )
ovrTextureSwapChains for the left and right eye respectively.
The second one of which can be NULL for cases described above.
ovrRecti ovrLayerEyeMatrix::Viewport[ovrEye_Count] ( )
Specifies the ColorTexture sub-rect UV coordinates.
Both Viewport[0] and Viewport[1] must be valid.
ovrPosef ovrLayerEyeMatrix::RenderPose[ovrEye_Count] ( )
Specifies the position and orientation of each eye view, with position specified in meters.
RenderPose will typically be the value returned from ovr_CalcEyePoses, but can be different in special cases if a different head pose is used for rendering.
ovrMatrix4f ovrLayerEyeMatrix::Matrix[ovrEye_Count] ( )
Specifies the mapping from a view-space vector to a UV coordinate on the textures given above.
P = (x,y,z,1)*Matrix TexU = P.x/P.z TexV = P.y/P.z
double ovrLayerEyeMatrix::SensorSampleTime ( )
Specifies the timestamp when the source ovrPosef (used in calculating RenderPose) was sampled from the SDK.
Typically retrieved by calling ovr_GetTimeInSeconds around the instant the application calls ovr_GetTrackingState The main purpose for this is to accurately track app tracking latency.
The documentation for this struct was generated from the following file: Include/OVR_CAPI.h