29 uint32_t viewCount = 2;
30 ConfigViews.resize(viewCount, { XR_TYPE_VIEW_CONFIGURATION_VIEW });
32 xrEnumerateViewConfigurationViews(
37 const XrViewConfigurationView& view = ConfigViews[0];
38 CHECK(ConfigViews[0].recommendedImageRectWidth ==
39 ConfigViews[1].recommendedImageRectWidth);
40 CHECK(ConfigViews[0].recommendedImageRectHeight ==
41 ConfigViews[1].recommendedImageRectHeight);
42 CHECK(ConfigViews[0].recommendedSwapchainSampleCount ==
43 ConfigViews[1].recommendedSwapchainSampleCount);
45 Views.resize(viewCount, { XR_TYPE_VIEW });
46 ProjectionLayerViews.resize(viewCount);
47 DepthInfoViews.resize(viewCount);
57 float far = 0.1f, near = 20.0f;
58 uint32_t viewCount = 2;
59 for (uint32_t i = 0; i < viewCount; ++i) {
60 viewProjections[i] = { Views[i].pose, Views[i].fov, {near, far} };
62 ProjectionLayerViews[i] = { XR_TYPE_COMPOSITION_LAYER_PROJECTION_VIEW };
63 ProjectionLayerViews[i].pose = Views[i].pose;
64 ProjectionLayerViews[i].fov = Views[i].fov;
65 ProjectionLayerViews[i].subImage.imageArrayIndex = 0;
67 DepthInfoViews[i] = { XR_TYPE_COMPOSITION_LAYER_DEPTH_INFO_KHR };
68 DepthInfoViews[i].minDepth = 0;
69 DepthInfoViews[i].maxDepth = 1;
70 DepthInfoViews[i].nearZ = near;
71 DepthInfoViews[i].farZ = far;
72 DepthInfoViews[i].subImage.imageArrayIndex = i;
101 XrViewLocateInfo viewLocateInfo{ XR_TYPE_VIEW_LOCATE_INFO };
103 viewLocateInfo.displayTime = displayTime;
108 uint32_t viewCapacityInput = (uint32_t)Views.size();
109 uint32_t viewCountOutput;
118 CHECK(viewCountOutput == viewCapacityInput);