29 void start(
const GHOST_XrSessionBeginInfo *begin_info);
39 void draw(
void *draw_customdata);
48 const char *
const *action_names);
51 const GHOST_XrActionProfileInfo *infos);
54 const char *
const *action_names,
55 const char *
const *profile_paths);
62 bool syncActions(
const char *action_set_name =
nullptr);
64 const char *action_name,
65 const char *subaction_path,
67 const float &frequency,
68 const float &litude);
70 const char *action_name,
71 const char *subaction_path);
90 std::unique_ptr<OpenXRSessionData> m_oxr;
94 std::unique_ptr<class GHOST_IXrGraphicsBinding> m_gpu_binding;
97 std::unique_ptr<GHOST_XrDrawInfo> m_draw_info;
103 void bindGraphicsContext();
105 void prepareDrawing();
106 XrCompositionLayerProjection drawLayer(
107 std::vector<XrCompositionLayerProjectionView> &r_proj_layer_views,
void *draw_customdata);
109 XrCompositionLayerProjectionView &r_proj_layer_view,
110 XrSpaceLocation &view_location,
113 void *draw_customdata);
114 void beginFrameDrawing();
115 void endFrameDrawing(std::vector<XrCompositionLayerBaseHeader *> &layers);
Main GHOST container to manage OpenXR through.
void destroyActionBindings(const char *action_set_name, uint32_t count, const char *const *action_names, const char *const *profile_paths)
void destroyActionSet(const char *action_set_name)
void draw(void *draw_customdata)
bool createActionSet(const GHOST_XrActionSetInfo &info)
void * getActionCustomdata(const char *action_set_name, const char *action_name)
void unloadControllerModel(const char *subaction_path)
void * getActionSetCustomdata(const char *action_set_name)
bool updateControllerModelComponents(const char *subaction_path)
bool createActionBindings(const char *action_set_name, uint32_t count, const GHOST_XrActionProfileInfo *infos)
GHOST_XrSession(GHOST_XrContext &xr_context)
void stopHapticAction(const char *action_set_name, const char *action_name, const char *subaction_path)
LifeExpectancy handleStateChangeEvent(const XrEventDataSessionStateChanged &lifecycle)
void getActionCustomdataArray(const char *action_set_name, void **r_customdata_array)
bool loadControllerModel(const char *subaction_path)
bool syncActions(const char *action_set_name=nullptr)
bool needsUpsideDownDrawing() const
void start(const GHOST_XrSessionBeginInfo *begin_info)
void destroyActions(const char *action_set_name, uint32_t count, const char *const *action_names)
void unbindGraphicsContext()
bool applyHapticAction(const char *action_set_name, const char *action_name, const char *subaction_path, const int64_t &duration, const float &frequency, const float &litude)
uint32_t getActionCount(const char *action_set_name)
bool getControllerModelData(const char *subaction_path, GHOST_XrControllerModelData &r_data)
bool createActions(const char *action_set_name, uint32_t count, const GHOST_XrActionInfo *infos)