31 void start(
const GHOST_XrSessionBeginInfo *begin_info);
41 void draw(
void *draw_customdata);
50 const char *
const *action_names);
53 const GHOST_XrActionProfileInfo *infos);
56 const char *
const *action_names,
57 const char *
const *profile_paths);
64 bool syncActions(
const char *action_set_name =
nullptr);
66 const char *action_name,
67 const char *subaction_path,
69 const float &frequency,
70 const float &litude);
72 const char *action_name,
73 const char *subaction_path);
92 std::unique_ptr<OpenXRSessionData> m_oxr;
96 std::unique_ptr<class GHOST_IXrGraphicsBinding> m_gpu_binding;
99 std::unique_ptr<GHOST_XrDrawInfo> m_draw_info;
105 void bindGraphicsContext();
107 void prepareDrawing();
108 XrCompositionLayerProjection drawLayer(
109 std::vector<XrCompositionLayerProjectionView> &r_proj_layer_views,
void *draw_customdata);
111 XrCompositionLayerProjectionView &r_proj_layer_view,
112 const XrSpaceLocation &view_location,
115 void *draw_customdata);
116 void beginFrameDrawing();
117 void endFrameDrawing(std::vector<XrCompositionLayerBaseHeader *> &layers);
120 void enablePassthrough();
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)