Bike-X  0.8
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OVR::Util::Render Namespace Reference

Data Structures

struct  DistortionAndFov
 
struct  ViewportScaleAndOffset
 
struct  StereoEyeParamsWithOrtho
 
struct  ViewportScaleAndOffsetBothEyes
 
class  StereoConfig
 
struct  DistortionMeshVertexData
 
struct  HeightmapMeshVertexData
 
struct  PredictionValues
 
class  TimewarpMachine
 

Functions

char const * GetDebugNameEyeCupType (EyeCupType eyeCupType)
 
char const * GetDebugNameHmdType (HmdTypeEnum hmdType)
 
static DistortionAndFov CalculateDistortionAndFovInternal (StereoEye eyeType, HmdRenderInfo const &hmd, LensConfig const *pLensOverride=NULL, FovPort const *pTanHalfFovOverride=NULL, float extraEyeRotationInRadians=OVR_DEFAULT_EXTRA_EYE_ROTATION)
 
static Recti CalculateViewportInternal (StereoEye eyeType, Sizei const actualRendertargetSurfaceSize, Sizei const requestedRenderedPixelSize, bool bRendertargetSharedByBothEyes, bool bMonoRenderingMode=false)
 
static Recti CalculateViewportDensityInternal (StereoEye eyeType, DistortionRenderDesc const &distortion, FovPort const &fov, Sizei const &actualRendertargetSurfaceSize, bool bRendertargetSharedByBothEyes, float desiredPixelDensity=1.0f, bool bMonoRenderingMode=false)
 
static ViewportScaleAndOffset CalculateViewportScaleAndOffsetInternal (ScaleAndOffset2D const &eyeToSourceNDC, Recti const &renderedViewport, Sizei const &actualRendertargetSurfaceSize)
 
static StereoEyeParams CalculateStereoEyeParamsInternal (StereoEye eyeType, HmdRenderInfo const &hmd, DistortionRenderDesc const &distortion, FovPort const &fov, Sizei const &actualRendertargetSurfaceSize, Recti const &renderedViewport, bool bRightHanded=true, float zNear=0.01f, float zFar=10000.0f, bool bMonoRenderingMode=false, float zoomFactor=1.0f)
 
Vector3f CalculateEyeVirtualCameraOffset (HmdRenderInfo const &hmd, StereoEye eyeType, bool bmonoRenderingMode)
 
Sizei CalculateRecommendedTextureSize (HmdRenderInfo const &hmd, bool bRendertargetSharedByBothEyes, float pixelDensityInCenter)
 
StereoEyeParams CalculateStereoEyeParams (HmdRenderInfo const &hmd, StereoEye eyeType, Sizei const &actualRendertargetSurfaceSize, bool bRendertargetSharedByBothEyes, bool bRightHanded, float zNear, float zFar, Sizei const *pOverrideRenderedPixelSize, FovPort const *pOverrideFovport, float zoomFactor)
 
FovPort CalculateRecommendedFov (HmdRenderInfo const &hmd, StereoEye eyeType, bool bMakeFovSymmetrical)
 
ViewportScaleAndOffset ModifyRenderViewport (StereoEyeParams const &params, Sizei const &actualRendertargetSurfaceSize, Recti const &renderViewport)
 
ViewportScaleAndOffset ModifyRenderSize (StereoEyeParams const &params, Sizei const &actualRendertargetSurfaceSize, Sizei const &requestedRenderSize, bool bRendertargetSharedByBothEyes)
 
ViewportScaleAndOffset ModifyRenderDensity (StereoEyeParams const &params, Sizei const &actualRendertargetSurfaceSize, float pixelDensity, bool bRendertargetSharedByBothEyes)
 
void DistortionMeshDestroy (DistortionMeshVertexData *pVertices, UInt16 *pTriangleMeshIndices)
 
void DistortionMeshCreate (DistortionMeshVertexData **ppVertices, UInt16 **ppTriangleListIndices, int *pNumVertices, int *pNumTriangles, const StereoEyeParams &stereoParams, const HmdRenderInfo &hmdRenderInfo)
 
void DistortionMeshCreate (DistortionMeshVertexData **ppVertices, UInt16 **ppTriangleListIndices, int *pNumVertices, int *pNumTriangles, bool rightEye, const HmdRenderInfo &hmdRenderInfo, const DistortionRenderDesc &distortion, const ScaleAndOffset2D &eyeToSourceNDC)
 
void HeightmapMeshDestroy (HeightmapMeshVertexData *pVertices, UInt16 *pTriangleMeshIndices)
 
void HeightmapMeshCreate (HeightmapMeshVertexData **ppVertices, UInt16 **ppTriangleListIndices, int *pNumVertices, int *pNumTriangles, const StereoEyeParams &stereoParams, const HmdRenderInfo &hmdRenderInfo)
 
void HeightmapMeshCreate (HeightmapMeshVertexData **ppVertices, UInt16 **ppTriangleListIndices, int *pNumVertices, int *pNumTriangles, bool rightEye, const HmdRenderInfo &hmdRenderInfo, const ScaleAndOffset2D &eyeToSourceNDC)
 
PredictionValues PredictionGetDeviceValues (const HmdRenderInfo &hmdRenderInfo, bool withTimewarp, bool withVsync)
 
Matrix4f TimewarpComputePoseDelta (Matrix4f const &renderedViewFromWorld, Matrix4f const &predictedViewFromWorld, Matrix4f const &eyeViewAdjust)
 
Matrix4f TimewarpComputePoseDeltaPosition (Matrix4f const &renderedViewFromWorld, Matrix4f const &predictedViewFromWorld, Matrix4f const &eyeViewAdjust)
 

Variables

static const int DMA_GridSizeLog2 = 6
 
static const int DMA_GridSize = 1<<DMA_GridSizeLog2
 
static const int DMA_NumVertsPerEye = (DMA_GridSize+1)*(DMA_GridSize+1)
 
static const int DMA_NumTrisPerEye = (DMA_GridSize)*(DMA_GridSize)*2
 
static const int HMA_GridSizeLog2 = 7
 
static const int HMA_GridSize = 1<<HMA_GridSizeLog2
 
static const int HMA_NumVertsPerEye = (HMA_GridSize+1)*(HMA_GridSize+1)
 
static const int HMA_NumTrisPerEye = (HMA_GridSize)*(HMA_GridSize)*2
 

Data Structure Documentation

struct OVR::Util::Render::DistortionAndFov

Definition at line 80 of file Util_Render_Stereo.cpp.

Collaboration diagram for OVR::Util::Render::DistortionAndFov:
Collaboration graph
Data Fields
DistortionRenderDesc Distortion
FovPort Fov
struct OVR::Util::Render::ViewportScaleAndOffset

Definition at line 78 of file Util_Render_Stereo.h.

Collaboration diagram for OVR::Util::Render::ViewportScaleAndOffset:
Collaboration graph
Data Fields
ScaleAndOffset2D EyeToSourceUV
Recti RenderedViewport
struct OVR::Util::Render::StereoEyeParamsWithOrtho

Definition at line 119 of file Util_Render_Stereo.h.

Collaboration diagram for OVR::Util::Render::StereoEyeParamsWithOrtho:
Collaboration graph
Data Fields
Matrix4f OrthoProjection
StereoEyeParams StereoEye
struct OVR::Util::Render::ViewportScaleAndOffsetBothEyes

Definition at line 125 of file Util_Render_Stereo.h.

Collaboration diagram for OVR::Util::Render::ViewportScaleAndOffsetBothEyes:
Collaboration graph
Data Fields
ViewportScaleAndOffset Left
ViewportScaleAndOffset Right
struct OVR::Util::Render::DistortionMeshVertexData

Definition at line 320 of file Util_Render_Stereo.h.

Collaboration diagram for OVR::Util::Render::DistortionMeshVertexData:
Collaboration graph
Data Fields
Vector2f ScreenPosNDC
float Shade
Vector2f TanEyeAnglesB
Vector2f TanEyeAnglesG
Vector2f TanEyeAnglesR
float TimewarpLerp
struct OVR::Util::Render::HeightmapMeshVertexData

Definition at line 358 of file Util_Render_Stereo.h.

Collaboration diagram for OVR::Util::Render::HeightmapMeshVertexData:
Collaboration graph
Data Fields
Vector2f ScreenPosNDC
Vector2f TanEyeAngles
float TimewarpLerp
struct OVR::Util::Render::PredictionValues

Definition at line 389 of file Util_Render_Stereo.h.

Collaboration diagram for OVR::Util::Render::PredictionValues:
Collaboration graph
Data Fields
float PresentFlushToPresentFlush
float PresentFlushToRenderedScene
float PresentFlushToTimewarpEnd
float PresentFlushToTimewarpStart
bool WithTimewarp
bool WithVsync

Function Documentation

static DistortionAndFov OVR::Util::Render::CalculateDistortionAndFovInternal ( StereoEye  eyeType,
HmdRenderInfo const &  hmd,
LensConfig const *  pLensOverride = NULL,
FovPort const *  pTanHalfFovOverride = NULL,
float  extraEyeRotationInRadians = OVR_DEFAULT_EXTRA_EYE_ROTATION 
)
static

Definition at line 86 of file Util_Render_Stereo.cpp.

Vector3f OVR::Util::Render::CalculateEyeVirtualCameraOffset ( HmdRenderInfo const &  hmd,
StereoEye  eyeType,
bool  bmonoRenderingMode 
)

Definition at line 222 of file Util_Render_Stereo.cpp.

FovPort OVR::Util::Render::CalculateRecommendedFov ( HmdRenderInfo const &  hmd,
StereoEye  eyeType,
bool  bMakeFovSymmetrical 
)

Definition at line 315 of file Util_Render_Stereo.cpp.

Sizei OVR::Util::Render::CalculateRecommendedTextureSize ( HmdRenderInfo const &  hmd,
bool  bRendertargetSharedByBothEyes,
float  pixelDensityInCenter 
)

Definition at line 250 of file Util_Render_Stereo.cpp.

StereoEyeParams OVR::Util::Render::CalculateStereoEyeParams ( HmdRenderInfo const &  hmd,
StereoEye  eyeType,
Sizei const &  actualRendertargetSurfaceSize,
bool  bRendertargetSharedByBothEyes,
bool  bRightHanded,
float  zNear,
float  zFar,
Sizei const *  pOverrideRenderedPixelSize,
FovPort const *  pOverrideFovport,
float  zoomFactor 
)

Definition at line 277 of file Util_Render_Stereo.cpp.

static StereoEyeParams OVR::Util::Render::CalculateStereoEyeParamsInternal ( StereoEye  eyeType,
HmdRenderInfo const &  hmd,
DistortionRenderDesc const &  distortion,
FovPort const &  fov,
Sizei const &  actualRendertargetSurfaceSize,
Recti const &  renderedViewport,
bool  bRightHanded = true,
float  zNear = 0.01f,
float  zFar = 10000.0f,
bool  bMonoRenderingMode = false,
float  zoomFactor = 1.0f 
)
static

Definition at line 177 of file Util_Render_Stereo.cpp.

static Recti OVR::Util::Render::CalculateViewportDensityInternal ( StereoEye  eyeType,
DistortionRenderDesc const &  distortion,
FovPort const &  fov,
Sizei const &  actualRendertargetSurfaceSize,
bool  bRendertargetSharedByBothEyes,
float  desiredPixelDensity = 1.0f,
bool  bMonoRenderingMode = false 
)
static

Definition at line 144 of file Util_Render_Stereo.cpp.

static Recti OVR::Util::Render::CalculateViewportInternal ( StereoEye  eyeType,
Sizei const  actualRendertargetSurfaceSize,
Sizei const  requestedRenderedPixelSize,
bool  bRendertargetSharedByBothEyes,
bool  bMonoRenderingMode = false 
)
static

Definition at line 114 of file Util_Render_Stereo.cpp.

static ViewportScaleAndOffset OVR::Util::Render::CalculateViewportScaleAndOffsetInternal ( ScaleAndOffset2D const &  eyeToSourceNDC,
Recti const &  renderedViewport,
Sizei const &  actualRendertargetSurfaceSize 
)
static

Definition at line 164 of file Util_Render_Stereo.cpp.

void OVR::Util::Render::DistortionMeshCreate ( DistortionMeshVertexData **  ppVertices,
UInt16 **  ppTriangleListIndices,
int *  pNumVertices,
int *  pNumTriangles,
const StereoEyeParams &  stereoParams,
const HmdRenderInfo &  hmdRenderInfo 
)

Definition at line 796 of file Util_Render_Stereo.cpp.

void OVR::Util::Render::DistortionMeshCreate ( DistortionMeshVertexData **  ppVertices,
UInt16 **  ppTriangleListIndices,
int *  pNumVertices,
int *  pNumTriangles,
bool  rightEye,
const HmdRenderInfo &  hmdRenderInfo,
const DistortionRenderDesc &  distortion,
const ScaleAndOffset2D &  eyeToSourceNDC 
)

Definition at line 814 of file Util_Render_Stereo.cpp.

void OVR::Util::Render::DistortionMeshDestroy ( DistortionMeshVertexData *  pVertices,
UInt16 *  pTriangleMeshIndices 
)

Definition at line 790 of file Util_Render_Stereo.cpp.

char const * OVR::Util::Render::GetDebugNameEyeCupType ( EyeCupType  eyeCupType)

Definition at line 36 of file Util_Render_Stereo.cpp.

char const * OVR::Util::Render::GetDebugNameHmdType ( HmdTypeEnum  hmdType)

Definition at line 58 of file Util_Render_Stereo.cpp.

void OVR::Util::Render::HeightmapMeshCreate ( HeightmapMeshVertexData **  ppVertices,
UInt16 **  ppTriangleListIndices,
int *  pNumVertices,
int *  pNumTriangles,
const StereoEyeParams &  stereoParams,
const HmdRenderInfo &  hmdRenderInfo 
)

Definition at line 1022 of file Util_Render_Stereo.cpp.

void OVR::Util::Render::HeightmapMeshCreate ( HeightmapMeshVertexData **  ppVertices,
UInt16 **  ppTriangleListIndices,
int *  pNumVertices,
int *  pNumTriangles,
bool  rightEye,
const HmdRenderInfo &  hmdRenderInfo,
const ScaleAndOffset2D &  eyeToSourceNDC 
)

Definition at line 1040 of file Util_Render_Stereo.cpp.

void OVR::Util::Render::HeightmapMeshDestroy ( HeightmapMeshVertexData *  pVertices,
UInt16 *  pTriangleMeshIndices 
)

Definition at line 1016 of file Util_Render_Stereo.cpp.

ViewportScaleAndOffset OVR::Util::Render::ModifyRenderDensity ( StereoEyeParams const &  params,
Sizei const &  actualRendertargetSurfaceSize,
float  pixelDensity,
bool  bRendertargetSharedByBothEyes 
)

Definition at line 351 of file Util_Render_Stereo.cpp.

ViewportScaleAndOffset OVR::Util::Render::ModifyRenderSize ( StereoEyeParams const &  params,
Sizei const &  actualRendertargetSurfaceSize,
Sizei const &  requestedRenderSize,
bool  bRendertargetSharedByBothEyes 
)

Definition at line 342 of file Util_Render_Stereo.cpp.

ViewportScaleAndOffset OVR::Util::Render::ModifyRenderViewport ( StereoEyeParams const &  params,
Sizei const &  actualRendertargetSurfaceSize,
Recti const &  renderViewport 
)

Definition at line 335 of file Util_Render_Stereo.cpp.

PredictionValues OVR::Util::Render::PredictionGetDeviceValues ( const HmdRenderInfo &  hmdRenderInfo,
bool  withTimewarp,
bool  withVsync 
)

Definition at line 1209 of file Util_Render_Stereo.cpp.

Matrix4f OVR::Util::Render::TimewarpComputePoseDelta ( Matrix4f const &  renderedViewFromWorld,
Matrix4f const &  predictedViewFromWorld,
Matrix4f const &  eyeViewAdjust 
)

Definition at line 1275 of file Util_Render_Stereo.cpp.

Matrix4f OVR::Util::Render::TimewarpComputePoseDeltaPosition ( Matrix4f const &  renderedViewFromWorld,
Matrix4f const &  predictedViewFromWorld,
Matrix4f const &  eyeViewAdjust 
)

Definition at line 1309 of file Util_Render_Stereo.cpp.

Variable Documentation

const int OVR::Util::Render::DMA_GridSize = 1<<DMA_GridSizeLog2
static

Definition at line 784 of file Util_Render_Stereo.cpp.

const int OVR::Util::Render::DMA_GridSizeLog2 = 6
static

Definition at line 783 of file Util_Render_Stereo.cpp.

const int OVR::Util::Render::DMA_NumTrisPerEye = (DMA_GridSize)*(DMA_GridSize)*2
static

Definition at line 786 of file Util_Render_Stereo.cpp.

const int OVR::Util::Render::DMA_NumVertsPerEye = (DMA_GridSize+1)*(DMA_GridSize+1)
static

Definition at line 785 of file Util_Render_Stereo.cpp.

const int OVR::Util::Render::HMA_GridSize = 1<<HMA_GridSizeLog2
static

Definition at line 1011 of file Util_Render_Stereo.cpp.

const int OVR::Util::Render::HMA_GridSizeLog2 = 7
static

Definition at line 1010 of file Util_Render_Stereo.cpp.

const int OVR::Util::Render::HMA_NumTrisPerEye = (HMA_GridSize)*(HMA_GridSize)*2
static

Definition at line 1013 of file Util_Render_Stereo.cpp.

const int OVR::Util::Render::HMA_NumVertsPerEye = (HMA_GridSize+1)*(HMA_GridSize+1)
static

Definition at line 1012 of file Util_Render_Stereo.cpp.