API Documentation
Loading...
Searching...
No Matches
XRVulkanPipeline.h
Go to the documentation of this file.
1#pragma once
6namespace NDEVR
7{
8 /**--------------------------------------------------------------------------------------------------
9 \brief A GraphicsPipeline that renders a single Viewport for Vulkan and OpenXR. See VulkanRenderPipeline
10 **/
12 {
13 public:
14 XRVulkanPipeline(VulkanSession* vsession, const DynamicPointer<VulkanXRDevice>& device, XrSession session, const XrViewConfigurationView& config_view);
15
16 void init();
18
20 virtual void cleanupKHR() override {}
21 virtual void createSwapChainKHR(GraphicsUpdateArguments& args) override;
22 XrSwapchain xrSwapChain() { return (XrSwapchain)(m_khr_swap_chain); }
23 bool needsRecreateSwapchain(GraphicsUpdateArguments&) override { return false; }
24 virtual void lockAllImagesCommand() override {}
25 virtual bool executeDrawCycle(GraphicsUpdateArguments& args) override;
26 virtual void submitQueue(GraphicsUpdateArguments& args) override;
27 void getKHRImages(uint04 multisample_count);
28
29 virtual XrStructureType GetSwapchainImageType() const { return XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR; }
30 XrSession xrSession() const { return m_session; }
31 const XrBaseInStructure* graphicsBinding() const { return reinterpret_cast<const XrBaseInStructure*>(&m_device->graphicsBinding()); }
32 XrEnvironmentBlendMode environmentBlendMode() { return m_current_blend_mode; }
33 XrInstance xrInstance() const { return m_device->xrInstance(); }
34 XrSystemId xrSystemID() const { return m_device->xrSystemID(); }
35 void setCurrentBlendMode(XrEnvironmentBlendMode blend_mode) { m_current_blend_mode = blend_mode; };
36 protected:
38 XrEnvironmentBlendMode m_current_blend_mode;
40 XrViewConfigurationView m_config_view;
41 XrSession m_session{ XR_NULL_HANDLE };
43 std::vector<XrView> m_views;
44 };
45}
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:320
Options that are used for performing an update on a Graphics Engine call.
Definition GraphicsUpdateArguments.h:43
A GraphicsPipeline that renders a single Viewport for Vulkan.
Definition VulkanRenderPipeline.h:57
virtual const ConstPointer< GraphicsDevice > & device() const override
VkSwapchainKHR m_khr_swap_chain
Definition VulkanRenderPipeline.h:140
Creates and manages the resources necessary for converting a DesignObjectLookup into 3D rendered data...
Definition VulkanSession.h:49
A GraphicsPipeline that renders a single Viewport for Vulkan and OpenXR. See VulkanRenderPipeline.
Definition XRVulkanPipeline.h:12
void getKHRImages(uint04 multisample_count)
void setCurrentBlendMode(XrEnvironmentBlendMode blend_mode)
Definition XRVulkanPipeline.h:35
DynamicPointer< VulkanXRDevice > m_device
Definition XRVulkanPipeline.h:39
XrSwapchain xrSwapChain()
Definition XRVulkanPipeline.h:22
XrViewConfigurationView m_config_view
Definition XRVulkanPipeline.h:40
Buffer< VulkanImageResources > m_khr_images
Definition XRVulkanPipeline.h:42
virtual void cleanupKHR() override
Definition XRVulkanPipeline.h:20
XrSession xrSession() const
Definition XRVulkanPipeline.h:30
virtual void createSwapChainKHR(GraphicsUpdateArguments &args) override
XrEnvironmentBlendMode m_current_blend_mode
Definition XRVulkanPipeline.h:38
XrSystemId xrSystemID() const
Definition XRVulkanPipeline.h:34
bool needsRecreateSwapchain(GraphicsUpdateArguments &) override
Definition XRVulkanPipeline.h:23
virtual bool executeDrawCycle(GraphicsUpdateArguments &args) override
std::vector< XrView > m_views
Definition XRVulkanPipeline.h:43
XrEnvironmentBlendMode environmentBlendMode()
Definition XRVulkanPipeline.h:32
virtual XrStructureType GetSwapchainImageType() const
Definition XRVulkanPipeline.h:29
virtual void submitQueue(GraphicsUpdateArguments &args) override
XRVulkanPipeline(VulkanSession *vsession, const DynamicPointer< VulkanXRDevice > &device, XrSession session, const XrViewConfigurationView &config_view)
virtual void lockAllImagesCommand() override
Definition XRVulkanPipeline.h:24
XrInstance xrInstance() const
Definition XRVulkanPipeline.h:33
Buffer< XrSwapchainImageVulkan2KHR > m_swapchain_images
Definition XRVulkanPipeline.h:37
XrSession m_session
Definition XRVulkanPipeline.h:41
virtual void recreateSwapChainResources(GraphicsUpdateArguments &args) override
const XrBaseInStructure * graphicsBinding() const
Definition XRVulkanPipeline.h:31
Definition ACIColor.h:37
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96