Get WebXR fully working in Godot 4!

This commit is contained in:
David Snopek
2022-11-18 20:43:11 -06:00
parent 84c404f6bc
commit 310bf39cd3
15 changed files with 1685 additions and 478 deletions

View File

@@ -45,6 +45,13 @@ protected:
static void _bind_methods();
public:
enum TargetRayMode {
TARGET_RAY_MODE_UNKNOWN,
TARGET_RAY_MODE_GAZE,
TARGET_RAY_MODE_TRACKED_POINTER,
TARGET_RAY_MODE_SCREEN,
};
virtual void is_session_supported(const String &p_session_mode) = 0;
virtual void set_session_mode(String p_session_mode) = 0;
virtual String get_session_mode() const = 0;
@@ -55,9 +62,12 @@ public:
virtual void set_requested_reference_space_types(String p_requested_reference_space_types) = 0;
virtual String get_requested_reference_space_types() const = 0;
virtual String get_reference_space_type() const = 0;
virtual Ref<XRPositionalTracker> get_controller(int p_controller_id) const = 0;
virtual bool is_input_source_active(int p_input_source_id) const = 0;
virtual Ref<XRPositionalTracker> get_input_source_tracker(int p_input_source_id) const = 0;
virtual TargetRayMode get_input_source_target_ray_mode(int p_input_source_id) const = 0;
virtual String get_visibility_state() const = 0;
virtual PackedVector3Array get_bounds_geometry() const = 0;
};
VARIANT_ENUM_CAST(WebXRInterface::TargetRayMode);
#endif // WEBXR_INTERFACE_H