diff options
author | Yuri Sizov <yuris@humnom.net> | 2024-01-24 14:08:17 +0100 |
---|---|---|
committer | Yuri Sizov <yuris@humnom.net> | 2024-01-24 14:08:17 +0100 |
commit | ea6e20253b1eb4e059a24fb588e55beb48d2e5cb (patch) | |
tree | 2ab95f09e2d31a22b9783a62a92cd44d7c9837c7 /modules/openxr/openxr_api.h | |
parent | f062d7294e449abe2d128afb7b80bd6bb02872c2 (diff) | |
parent | a8690cbeedf3238198e3736e64da5bfe1fd5ee37 (diff) | |
download | redot-engine-ea6e20253b1eb4e059a24fb588e55beb48d2e5cb.tar.gz |
Merge pull request #87235 from dsnopek/openxr-local-floor
Add support for OpenXR local floor extension
Diffstat (limited to 'modules/openxr/openxr_api.h')
-rw-r--r-- | modules/openxr/openxr_api.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/openxr/openxr_api.h b/modules/openxr/openxr_api.h index efa32b7544..6e55020aef 100644 --- a/modules/openxr/openxr_api.h +++ b/modules/openxr/openxr_api.h @@ -98,7 +98,8 @@ private: // configuration XrFormFactor form_factor = XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY; XrViewConfigurationType view_configuration = XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO; - XrReferenceSpaceType reference_space = XR_REFERENCE_SPACE_TYPE_STAGE; + XrReferenceSpaceType requested_reference_space = XR_REFERENCE_SPACE_TYPE_STAGE; + XrReferenceSpaceType reference_space = XR_REFERENCE_SPACE_TYPE_LOCAL; bool submit_depth_buffer = false; // if set to true we submit depth buffers to OpenXR if a suitable extension is enabled. // blend mode @@ -149,6 +150,10 @@ private: bool view_pose_valid = false; XRPose::TrackingConfidence head_pose_confidence = XRPose::XR_TRACKING_CONFIDENCE_NONE; + bool emulating_local_floor = false; + bool should_reset_emulated_floor_height = false; + bool reset_emulated_floor_height(); + bool load_layer_properties(); bool load_supported_extensions(); bool is_extension_supported(const String &p_extension) const; @@ -333,7 +338,8 @@ public: void set_view_configuration(XrViewConfigurationType p_view_configuration); XrViewConfigurationType get_view_configuration() const { return view_configuration; } - void set_reference_space(XrReferenceSpaceType p_reference_space); + void set_requested_reference_space(XrReferenceSpaceType p_requested_reference_space); + XrReferenceSpaceType get_requested_reference_space() const { return requested_reference_space; } XrReferenceSpaceType get_reference_space() const { return reference_space; } void set_submit_depth_buffer(bool p_submit_depth_buffer); |