Bike-X  0.8
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OVR_Stereo.h File Reference
#include "OVR_Device.h"
Include dependency graph for OVR_Stereo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  OVR::FovPort
 
struct  OVR::ScaleAndOffset2D
 
struct  OVR::LensConfig
 
struct  OVR::DistortionRenderDesc
 
struct  OVR::HmdRenderInfo
 
struct  OVR::HmdRenderInfo::ShutterInfo
 
struct  OVR::HmdRenderInfo::EyeConfig
 
struct  OVR::StereoEyeParams
 

Namespaces

 OVR
 

Typedefs

typedef struct ovrFovPort_ ovrFovPort
 
typedef struct ovrRecti_ ovrRecti
 

Enumerations

enum  OVR::StereoEye { OVR::StereoEye_Center, OVR::StereoEye_Left, OVR::StereoEye_Right }
 

Functions

bool OVR::FitCubicPolynomial (float *pResult, const float *pFitX, const float *pFitY)
 
bool OVR::LoadLensConfig (LensConfig *presult, UByte const *pbuffer, int bufferSizeInBytes)
 
int OVR::SaveLensConfigSizeInBytes (LensConfig const &config)
 
bool OVR::SaveLensConfig (UByte *pbuffer, int bufferSizeInBytes, LensConfig const &config)
 
HMDInfo OVR::CreateDebugHMDInfo (HmdTypeEnum hmdType)
 
HmdRenderInfo OVR::GenerateHmdRenderInfoFromHmdInfo (HMDInfo const &hmdInfo, Profile const *profile, DistortionEqnType distortionType, EyeCupType eyeCupOverride)
 
LensConfig OVR::GenerateLensConfigFromEyeRelief (float eyeReliefInMeters, HmdRenderInfo const &hmd, DistortionEqnType distortionType)
 
DistortionRenderDesc OVR::CalculateDistortionRenderDesc (StereoEye eyeType, HmdRenderInfo const &hmd, const LensConfig *pLensOverride)
 
FovPort OVR::CalculateFovFromEyePosition (float eyeReliefInMeters, float offsetToRightInMeters, float offsetDownwardsInMeters, float lensDiameterInMeters, float extraEyeRotationInRadians)
 
FovPort OVR::CalculateFovFromHmdInfo (StereoEye eyeType, DistortionRenderDesc const &distortion, HmdRenderInfo const &hmd, float extraEyeRotationInRadians)
 
FovPort OVR::GetPhysicalScreenFov (StereoEye eyeType, DistortionRenderDesc const &distortion)
 
FovPort OVR::ClampToPhysicalScreenFov (StereoEye eyeType, DistortionRenderDesc const &distortion, FovPort inputFovPort)
 
Sizei OVR::CalculateIdealPixelSize (StereoEye eyeType, DistortionRenderDesc const &distortion, FovPort tanHalfFov, float pixelsPerDisplayPixel)
 
Recti OVR::GetFramebufferViewport (StereoEye eyeType, HmdRenderInfo const &hmd)
 
Matrix4f OVR::CreateProjection (bool rightHanded, FovPort tanHalfFov, float zNear, float zFar)
 
Matrix4f OVR::CreateOrthoSubProjection (bool rightHanded, StereoEye eyeType, float tanHalfFovX, float tanHalfFovY, float unitsX, float unitsY, float distanceFromCamera, float interpupillaryDistance, Matrix4f const &projection, float zNear, float zFar)
 
ScaleAndOffset2D OVR::CreateNDCScaleAndOffsetFromFov (FovPort tanHalfFov)
 
ScaleAndOffset2D OVR::CreateUVScaleAndOffsetfromNDCScaleandOffset (ScaleAndOffset2D scaleAndOffsetNDC, Recti renderedViewport, Sizei renderTargetSize)
 
Vector2f OVR::TransformScreenNDCToTanFovSpace (DistortionRenderDesc const &distortion, const Vector2f &framebufferNDC)
 
void OVR::TransformScreenNDCToTanFovSpaceChroma (Vector2f *resultR, Vector2f *resultG, Vector2f *resultB, DistortionRenderDesc const &distortion, const Vector2f &framebufferNDC)
 
Vector2f OVR::TransformTanFovSpaceToRendertargetTexUV (StereoEyeParams const &eyeParams, Vector2f const &tanEyeAngle)
 
Vector2f OVR::TransformTanFovSpaceToRendertargetNDC (StereoEyeParams const &eyeParams, Vector2f const &tanEyeAngle)
 
Vector2f OVR::TransformScreenPixelToScreenNDC (Recti const &distortionViewport, Vector2f const &pixel)
 
Vector2f OVR::TransformScreenPixelToTanFovSpace (Recti const &distortionViewport, DistortionRenderDesc const &distortion, Vector2f const &pixel)
 
Vector2f OVR::TransformScreenNDCToRendertargetTexUV (DistortionRenderDesc const &distortion, StereoEyeParams const &eyeParams, Vector2f const &pixel)
 
Vector2f OVR::TransformScreenPixelToRendertargetTexUV (Recti const &distortionViewport, DistortionRenderDesc const &distortion, StereoEyeParams const &eyeParams, Vector2f const &pixel)
 
Vector2f OVR::TransformTanFovSpaceToScreenNDC (DistortionRenderDesc const &distortion, const Vector2f &tanEyeAngle, bool usePolyApprox)
 
Vector2f OVR::TransformRendertargetNDCToTanFovSpace (const ScaleAndOffset2D &eyeToSourceNDC, const Vector2f &textureNDC)
 

Variables

const float OVR::OVR_DEFAULT_EXTRA_EYE_ROTATION = 30.0f * Math<float>::DegreeToRadFactor
 

Data Structure Documentation

struct OVR::DistortionRenderDesc

Definition at line 237 of file OVR_Stereo.h.

Collaboration diagram for OVR::DistortionRenderDesc:
Collaboration graph
Data Fields
LensConfig Lens
Vector2f LensCenter
Vector2f PixelsPerTanAngleAtCenter
Vector2f TanEyeAngleScale
struct OVR::HmdRenderInfo::ShutterInfo

Definition at line 277 of file OVR_Stereo.h.

Collaboration diagram for OVR::HmdRenderInfo::ShutterInfo:
Collaboration graph
Data Fields
float FirstScanlineToLastScanline
float PixelPersistence
float PixelSettleTime
HmdShutterTypeEnum Type
float VsyncToFirstScanline
float VsyncToNextVsync
struct OVR::HmdRenderInfo::EyeConfig

Definition at line 289 of file OVR_Stereo.h.

Collaboration diagram for OVR::HmdRenderInfo::EyeConfig:
Collaboration graph
Data Fields
LensConfig Distortion
float NoseToPupilInMeters
float ReliefInMeters
struct OVR::StereoEyeParams

Definition at line 409 of file OVR_Stereo.h.

Collaboration diagram for OVR::StereoEyeParams:
Collaboration graph
Data Fields
DistortionRenderDesc Distortion
Recti DistortionViewport
StereoEye Eye
ScaleAndOffset2D EyeToSourceNDC
ScaleAndOffset2D EyeToSourceUV
FovPort Fov
Matrix4f RenderedProjection
Recti RenderedViewport
Matrix4f ViewAdjust

Typedef Documentation

typedef struct ovrFovPort_ ovrFovPort

Definition at line 34 of file OVR_Stereo.h.

typedef struct ovrRecti_ ovrRecti

Definition at line 35 of file OVR_Stereo.h.