Blender  V3.3
GHOST_IXrGraphicsBinding.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include <memory>
10 #include <optional>
11 #include <string>
12 #include <vector>
13 
15 
17  public:
18  union {
19 #if defined(WITH_GHOST_X11)
20 # if defined(WITH_GL_EGL)
21  XrGraphicsBindingEGLMNDX egl;
22 # else
23  XrGraphicsBindingOpenGLXlibKHR glx;
24 # endif
25 #elif defined(WIN32)
26  XrGraphicsBindingOpenGLWin32KHR wgl;
27  XrGraphicsBindingD3D11KHR d3d11;
28 #endif
29 #if defined(WITH_GHOST_WAYLAND)
30  XrGraphicsBindingOpenGLWaylandKHR wl;
31 #endif
33 
34  virtual ~GHOST_IXrGraphicsBinding() = default;
35 
43  virtual bool checkVersionRequirements(class GHOST_Context &ghost_ctx,
44  XrInstance instance,
45  XrSystemId system_id,
46  std::string *r_requirement_info) const = 0;
47  virtual void initFromGhostContext(class GHOST_Context &ghost_ctx) = 0;
48  virtual std::optional<int64_t> chooseSwapchainFormat(const std::vector<int64_t> &runtime_formats,
49  GHOST_TXrSwapchainFormat &r_format,
50  bool &r_is_rgb_format) const = 0;
51  virtual std::vector<XrSwapchainImageBaseHeader *> createSwapchainImages(
52  uint32_t image_count) = 0;
53  virtual void submitToSwapchainImage(XrSwapchainImageBaseHeader &swapchain_image,
54  const GHOST_XrDrawViewInfo &draw_info) = 0;
55  virtual bool needsUpsideDownDrawing(GHOST_Context &ghost_ctx) const = 0;
56 
57  protected:
58  /* Use GHOST_XrGraphicsBindingCreateFromType! */
60 };
61 
62 std::unique_ptr<GHOST_IXrGraphicsBinding> GHOST_XrGraphicsBindingCreateFromType(
63  GHOST_TXrGraphicsBinding type, GHOST_Context &ghost_ctx);
std::unique_ptr< GHOST_IXrGraphicsBinding > GHOST_XrGraphicsBindingCreateFromType(GHOST_TXrGraphicsBinding type, GHOST_Context &ghost_ctx)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object instance
virtual ~GHOST_IXrGraphicsBinding()=default
GHOST_IXrGraphicsBinding()=default
virtual bool needsUpsideDownDrawing(GHOST_Context &ghost_ctx) const =0
virtual bool checkVersionRequirements(class GHOST_Context &ghost_ctx, XrInstance instance, XrSystemId system_id, std::string *r_requirement_info) const =0
virtual std::optional< int64_t > chooseSwapchainFormat(const std::vector< int64_t > &runtime_formats, GHOST_TXrSwapchainFormat &r_format, bool &r_is_rgb_format) const =0
virtual void initFromGhostContext(class GHOST_Context &ghost_ctx)=0
union GHOST_IXrGraphicsBinding::@1290 oxr_binding
virtual std::vector< XrSwapchainImageBaseHeader * > createSwapchainImages(uint32_t image_count)=0
virtual void submitToSwapchainImage(XrSwapchainImageBaseHeader &swapchain_image, const GHOST_XrDrawViewInfo &draw_info)=0
unsigned int uint32_t
Definition: stdint.h:80