16#ifndef vtkOpenXRManagerGraphics_h
17#define vtkOpenXRManagerGraphics_h
20#include "vtkRenderingOpenXRModule.h"
24VTK_ABI_NAMESPACE_BEGIN
abstract base class for most VTK objects
OpenXR manager graphics implementation.
uint32_t GetChainLength(XrSwapchain swapchain)
Acquire the number of images in the specified swapchain.
virtual const void * GetGraphicsBinding()=0
Return pointer to the backend-specific XrGraphicsBindingXXX structure that is required to create the ...
virtual const char * GetBackendExtensionName()=0
Return the extension name to enable a specific rendering backend.
virtual void SetNumberOfSwapchains(uint32_t viewCount)=0
Resize the internal vectors storing the color and depth swapchains.
virtual bool CheckGraphicsRequirements(XrInstance instance, XrSystemId id)=0
OpenXR requires checking graphics requirements before creating a session.
virtual void EnumerateDepthSwapchainImages(XrSwapchain swapchain, uint32_t eyeIndex)=0
Acquire swapchain images using xrEnumerateSwapchainImages and store them at the specified eye index.
virtual void GetDepthSwapchainImage(uint32_t eyeIndex, uint32_t imgIndex, void *texture)=0
Fill texture with the swapchain image for the specified eye.
vtkOpenXRManagerGraphics()=default
virtual void EnumerateColorSwapchainImages(XrSwapchain swapchain, uint32_t eyeIndex)=0
Acquire swapchain images using xrEnumerateSwapchainImages and store them at the specified eye index.
virtual const std::vector< int64_t > & GetSupportedDepthFormats()=0
Return the list of pixel formats supported by VTK.
virtual const std::vector< int64_t > & GetSupportedColorFormats()=0
Return the list of pixel formats supported by VTK.
virtual void GetColorSwapchainImage(uint32_t eyeIndex, uint32_t imgIndex, void *texture)=0
Fill texture with the swapchain image for the specified eye.
virtual bool CreateGraphicsBinding(vtkOpenGLRenderWindow *helperWindow)=0
Create the graphics binding and store it in GraphicsBindings ptr.
~vtkOpenXRManagerGraphics() override=default
Defines the OpenXR types and extensions common to all platforms.