diff options
Diffstat (limited to 'modules/openxr/scene/openxr_composition_layer.h')
-rw-r--r-- | modules/openxr/scene/openxr_composition_layer.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/openxr/scene/openxr_composition_layer.h b/modules/openxr/scene/openxr_composition_layer.h index 9f064379d3..6792364295 100644 --- a/modules/openxr/scene/openxr_composition_layer.h +++ b/modules/openxr/scene/openxr_composition_layer.h @@ -46,13 +46,17 @@ class OpenXRCompositionLayer : public Node3D { GDCLASS(OpenXRCompositionLayer, Node3D); SubViewport *layer_viewport = nullptr; + bool enable_hole_punch = false; MeshInstance3D *fallback = nullptr; bool should_update_fallback_mesh = false; + bool openxr_session_running = false; Dictionary extension_property_values; + bool _should_use_fallback_node(); void _create_fallback_node(); void _reset_fallback_material(); + void _remove_fallback_node(); protected: OpenXRAPI *openxr_api = nullptr; @@ -73,12 +77,16 @@ protected: void update_fallback_mesh(); - static HashSet<SubViewport *> viewports_in_use; + static Vector<OpenXRCompositionLayer *> composition_layer_nodes; + bool is_viewport_in_use(SubViewport *p_viewport); public: void set_layer_viewport(SubViewport *p_viewport); SubViewport *get_layer_viewport() const; + void set_enable_hole_punch(bool p_enable); + bool get_enable_hole_punch() const; + void set_sort_order(int p_order); int get_sort_order() const; |