Class GraphicsBindingOpenXrVulkan
Vulkan binding for OpenXR.
Important: RemoteManagerStatic.StartupRemoteRendering
must be called before the OpenXR loader negotiates with the underlying OpenXR runtime.
At runtime the only thing that needs to be done by the user is to call GraphicsBindingOpenXrVulkan.PrepareRender(VulkanRenderParameters) and then GraphicsBindingOpenXrVulkan.BlitRemoteFrame(VulkanRenderParameters) to render the remote frame to the current render target.
class Microsoft::Azure::RemoteRendering::GraphicsBindingOpenXrVulkan final : public Microsoft::Azure::RemoteRendering::GraphicsBinding
Methods
BlitRemoteFrame
Blits the current remote frame to the given Vulkan framebuffer.
When this function is executed it is assumed that a valid VkCommandBuffer and VkRenderPass is provided. This should be done as the very first thing in each frame as this function will overwrite all content in the target Vulkan framebuffer.
auto BlitRemoteFrame(Microsoft::Azure::RemoteRendering::VulkanRenderParameters parameters) noexcept -> Microsoft::Azure::RemoteRendering::Result;
Parameters
Name | Type | Description |
---|---|---|
parameters |
VulkanRenderParameters |
Returns
Type | Description |
---|---|
Result | Result.Success, Result.NotInitialized, Result.Fail, Result.NoConnection, Result.PrepareRenderNotCalled |
PrepareRender
Prepares for blitting the remote frame.
When this function is executed it is assumed that a valid VkCommandBuffer is provided and no VKRenderPass is active. Note, this function must be called every frame before calling BlitRemoteFrame.
auto PrepareRender(Microsoft::Azure::RemoteRendering::VulkanRenderParameters parameters) noexcept -> Microsoft::Azure::RemoteRendering::Result;
Parameters
Name | Type | Description |
---|---|---|
parameters |
VulkanRenderParameters |
Returns
Type | Description |
---|---|
Result | Result.Success, Result.NotInitialized, Result.Fail, Result.NoConnection |
UpdateAppSpace
Informs ARR of a new app space.
ARR must be informed whenever the app space changes.
auto UpdateAppSpace(uint64_t spaceHandle) noexcept -> Microsoft::Azure::RemoteRendering::Result;
Parameters
Name | Type | Description |
---|---|---|
spaceHandle |
ulong | OpenXR space handle. |
Returns
Type | Description |
---|---|
Result | Result.Success, Result.NotInitialized, Result.Fail |