| 844 | } |
| 845 | |
| 846 | OVR_PUBLIC_FUNCTION(ovrEyeRenderDesc) ovr_GetRenderDesc2(ovrSession session, ovrEyeType eyeType, ovrFovPort fov) |
| 847 | { |
| 848 | REV_TRACE(ovr_GetRenderDesc); |
| 849 | |
| 850 | if (!session) |
| 851 | return ovrEyeRenderDesc(); |
| 852 | |
| 853 | ovrEyeRenderDesc desc = { eyeType, fov }; |
| 854 | |
| 855 | for (int i = 0; i < eyeType; i++) |
| 856 | desc.DistortedViewport.Pos.x += session->ViewConfigs[i].recommendedImageRectWidth; |
| 857 | |
| 858 | desc.DistortedViewport.Size.w = session->ViewConfigs[eyeType].recommendedImageRectWidth; |
| 859 | desc.DistortedViewport.Size.h = session->ViewConfigs[eyeType].recommendedImageRectHeight; |
| 860 | desc.PixelsPerTanAngleAtCenter = session->PixelsPerTan[eyeType]; |
| 861 | desc.HmdToEyePose = XR::Posef(session->ViewPoses[eyeType].pose); |
| 862 | return desc; |
| 863 | } |
| 864 | |
| 865 | typedef struct OVR_ALIGNAS(4) ovrEyeRenderDesc1_ { |
| 866 | ovrEyeType Eye; |