4#ifndef QOPENXRGRAPHICSOPENGL_H
5#define QOPENXRGRAPHICSOPENGL_H
19#include <QtQuick3DXr/private/qabstractopenxrgraphics_p.h>
20#include <QtQuick3DXr/private/qopenxrplatform_p.h>
34 bool setupGraphics(
const XrInstance &instance, XrSystemId &systemId,
const QQuickGraphicsConfiguration &quickConfig)
override;
40 quint64 swapchainFormat,
int samples,
int arraySize,
41 const XrSwapchainImageBaseHeader *depthSwapchainImage, quint64 depthSwapchainFormat)
const override;
43 QRhi *
rhi()
const override {
return m_rhi; }
47#ifdef XR_USE_PLATFORM_WIN32
49#elif defined(XR_USE_PLATFORM_XLIB)
51#elif defined(XR_USE_PLATFORM_XCB)
53#elif defined(XR_USE_PLATFORM_WAYLAND)
56 XrBaseInStructure m_graphicsBinding{};
60 XrGraphicsRequirementsOpenGLKHR m_graphicsRequirements{};
61 QWindow *m_window =
nullptr;
62 QRhi *m_rhi =
nullptr;
63 mutable QRhiTexture *m_depthTexture =
nullptr;
const char * extensionName() const override
const XrBaseInStructure * handle() const override
bool finializeGraphics(QRhi *rhi) override
bool isExtensionSupported(const QVector< XrExtensionProperties > &extensions) const override
int64_t colorSwapchainFormat(const QVector< int64_t > &swapchainFormats) const override
QRhi * rhi() const override
void releaseResources() override
bool setupGraphics(const XrInstance &instance, XrSystemId &systemId, const QQuickGraphicsConfiguration &quickConfig) override
QQuickRenderTarget renderTarget(const XrSwapchainSubImage &subImage, const XrSwapchainImageBaseHeader *swapchainImage, quint64 swapchainFormat, int samples, int arraySize, const XrSwapchainImageBaseHeader *depthSwapchainImage, quint64 depthSwapchainFormat) const override
void setupWindow(QQuickWindow *window) override
int64_t depthSwapchainFormat(const QVector< int64_t > &swapchainFormats) const override
QVector< XrSwapchainImageBaseHeader * > allocateSwapchainImages(int count, XrSwapchain swapchain) override
bool checkXrResult(XrResult result, XrInstance instance)
#define GL_SRGB8_ALPHA8_EXT
#define GL_DEPTH_COMPONENT32F
#define GL_DEPTH24_STENCIL8
#define GL_DEPTH_COMPONENT16
#define GL_DEPTH_COMPONENT24