diff options
Diffstat (limited to 'modules/webxr')
-rw-r--r-- | modules/webxr/SCsub | 2 | ||||
-rw-r--r-- | modules/webxr/doc_classes/WebXRInterface.xml | 26 | ||||
-rw-r--r-- | modules/webxr/godot_webxr.h | 2 | ||||
-rw-r--r-- | modules/webxr/register_types.cpp | 6 | ||||
-rw-r--r-- | modules/webxr/webxr_interface_js.cpp | 8 | ||||
-rw-r--r-- | modules/webxr/webxr_interface_js.h | 6 |
6 files changed, 25 insertions, 25 deletions
diff --git a/modules/webxr/SCsub b/modules/webxr/SCsub index 0a96af0811..81caa4a279 100644 --- a/modules/webxr/SCsub +++ b/modules/webxr/SCsub @@ -3,7 +3,7 @@ Import("env") Import("env_modules") -if env["platform"] == "javascript": +if env["platform"] == "web": env.AddJSLibraries(["native/library_godot_webxr.js"]) env.AddJSExterns(["native/webxr.externs.js"]) diff --git a/modules/webxr/doc_classes/WebXRInterface.xml b/modules/webxr/doc_classes/WebXRInterface.xml index 48447eb074..49ff454f07 100644 --- a/modules/webxr/doc_classes/WebXRInterface.xml +++ b/modules/webxr/doc_classes/WebXRInterface.xml @@ -5,9 +5,9 @@ </brief_description> <description> WebXR is an open standard that allows creating VR and AR applications that run in the web browser. - As such, this interface is only available when running in an HTML5 export. + As such, this interface is only available when running in Web exports. WebXR supports a wide range of devices, from the very capable (like Valve Index, HTC Vive, Oculus Rift and Quest) down to the much less capable (like Google Cardboard, Oculus Go, GearVR, or plain smartphones). - Since WebXR is based on Javascript, it makes extensive use of callbacks, which means that [WebXRInterface] is forced to use signals, where other AR/VR interfaces would instead use functions that return a result immediately. This makes [WebXRInterface] quite a bit more complicated to initialize than other AR/VR interfaces. + Since WebXR is based on JavaScript, it makes extensive use of callbacks, which means that [WebXRInterface] is forced to use signals, where other AR/VR interfaces would instead use functions that return a result immediately. This makes [WebXRInterface] quite a bit more complicated to initialize than other AR/VR interfaces. Here's the minimum code required to start an immersive VR session: [codeblock] extends Node3D @@ -96,7 +96,7 @@ <methods> <method name="get_controller" qualifiers="const"> <return type="XRPositionalTracker" /> - <argument index="0" name="controller_id" type="int" /> + <param index="0" name="controller_id" type="int" /> <description> Gets an [XRPositionalTracker] for the given [code]controller_id[/code]. In the context of WebXR, a "controller" can be an advanced VR controller like the Oculus Touch or Index controllers, or even a tap on the screen, a spoken voice command or a button press on the device itself. When a non-traditional controller is used, interpret the position and orientation of the [XRPositionalTracker] as a ray pointing at the object the user wishes to interact with. @@ -111,7 +111,7 @@ </method> <method name="is_session_supported"> <return type="void" /> - <argument index="0" name="session_mode" type="String" /> + <param index="0" name="session_mode" type="String" /> <description> Checks if the given [code]session_mode[/code] is supported by the user's browser. Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]"immersive-vr"[/code], [code]"immersive-ar"[/code], and [code]"inline"[/code]. @@ -166,21 +166,21 @@ </description> </signal> <signal name="select"> - <argument index="0" name="controller_id" type="int" /> + <param index="0" name="controller_id" type="int" /> <description> Emitted after one of the "controllers" has finished its "primary action". Use [method get_controller] to get more information about the controller. </description> </signal> <signal name="selectend"> - <argument index="0" name="controller_id" type="int" /> + <param index="0" name="controller_id" type="int" /> <description> Emitted when one of the "controllers" has finished its "primary action". Use [method get_controller] to get more information about the controller. </description> </signal> <signal name="selectstart"> - <argument index="0" name="controller_id" type="int" /> + <param index="0" name="controller_id" type="int" /> <description> Emitted when one of the "controllers" has started its "primary action". Use [method get_controller] to get more information about the controller. @@ -193,7 +193,7 @@ </description> </signal> <signal name="session_failed"> - <argument index="0" name="message" type="String" /> + <param index="0" name="message" type="String" /> <description> Emitted by [method XRInterface.initialize] if the session fails to start. [code]message[/code] may optionally contain an error message from WebXR, or an empty string if no message is available. @@ -206,28 +206,28 @@ </description> </signal> <signal name="session_supported"> - <argument index="0" name="session_mode" type="String" /> - <argument index="1" name="supported" type="bool" /> + <param index="0" name="session_mode" type="String" /> + <param index="1" name="supported" type="bool" /> <description> Emitted by [method is_session_supported] to indicate if the given [code]session_mode[/code] is supported or not. </description> </signal> <signal name="squeeze"> - <argument index="0" name="controller_id" type="int" /> + <param index="0" name="controller_id" type="int" /> <description> Emitted after one of the "controllers" has finished its "primary squeeze action". Use [method get_controller] to get more information about the controller. </description> </signal> <signal name="squeezeend"> - <argument index="0" name="controller_id" type="int" /> + <param index="0" name="controller_id" type="int" /> <description> Emitted when one of the "controllers" has finished its "primary squeeze action". Use [method get_controller] to get more information about the controller. </description> </signal> <signal name="squeezestart"> - <argument index="0" name="controller_id" type="int" /> + <param index="0" name="controller_id" type="int" /> <description> Emitted when one of the "controllers" has started its "primary squeeze action". Use [method get_controller] to get more information about the controller. diff --git a/modules/webxr/godot_webxr.h b/modules/webxr/godot_webxr.h index 34225df001..52104895d4 100644 --- a/modules/webxr/godot_webxr.h +++ b/modules/webxr/godot_webxr.h @@ -82,4 +82,4 @@ extern int *godot_webxr_get_bounds_geometry(); } #endif -#endif /* GODOT_WEBXR_H */ +#endif // GODOT_WEBXR_H diff --git a/modules/webxr/register_types.cpp b/modules/webxr/register_types.cpp index cd403a4996..f4959c482f 100644 --- a/modules/webxr/register_types.cpp +++ b/modules/webxr/register_types.cpp @@ -33,7 +33,7 @@ #include "webxr_interface.h" #include "webxr_interface_js.h" -#ifdef JAVASCRIPT_ENABLED +#ifdef WEB_ENABLED Ref<WebXRInterfaceJS> webxr; #endif @@ -44,7 +44,7 @@ void initialize_webxr_module(ModuleInitializationLevel p_level) { GDREGISTER_ABSTRACT_CLASS(WebXRInterface); -#ifdef JAVASCRIPT_ENABLED +#ifdef WEB_ENABLED webxr.instantiate(); XRServer::get_singleton()->add_interface(webxr); #endif @@ -55,7 +55,7 @@ void uninitialize_webxr_module(ModuleInitializationLevel p_level) { return; } -#ifdef JAVASCRIPT_ENABLED +#ifdef WEB_ENABLED if (webxr.is_valid()) { // uninitialise our interface if it is initialised if (webxr->is_initialized()) { diff --git a/modules/webxr/webxr_interface_js.cpp b/modules/webxr/webxr_interface_js.cpp index 74e744402b..7d97dbfa0b 100644 --- a/modules/webxr/webxr_interface_js.cpp +++ b/modules/webxr/webxr_interface_js.cpp @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifdef JAVASCRIPT_ENABLED +#ifdef WEB_ENABLED #include "webxr_interface_js.h" @@ -363,8 +363,8 @@ Transform3D WebXRInterfaceJS::get_transform_for_view(uint32_t p_view, const Tran return p_cam_transform * xr_server->get_reference_frame() * transform_for_eye; }; -CameraMatrix WebXRInterfaceJS::get_projection_for_view(uint32_t p_view, double p_aspect, double p_z_near, double p_z_far) { - CameraMatrix eye; +Projection WebXRInterfaceJS::get_projection_for_view(uint32_t p_view, double p_aspect, double p_z_near, double p_z_far) { + Projection eye; float *js_matrix = godot_webxr_get_projection_for_eye(p_view + 1); if (!initialized || js_matrix == nullptr) { @@ -518,4 +518,4 @@ WebXRInterfaceJS::~WebXRInterfaceJS() { }; }; -#endif // JAVASCRIPT_ENABLED +#endif // WEB_ENABLED diff --git a/modules/webxr/webxr_interface_js.h b/modules/webxr/webxr_interface_js.h index 31858194f6..dbe89dad83 100644 --- a/modules/webxr/webxr_interface_js.h +++ b/modules/webxr/webxr_interface_js.h @@ -31,7 +31,7 @@ #ifndef WEBXR_INTERFACE_JS_H #define WEBXR_INTERFACE_JS_H -#ifdef JAVASCRIPT_ENABLED +#ifdef WEB_ENABLED #include "webxr_interface.h" @@ -87,7 +87,7 @@ public: virtual uint32_t get_view_count() override; virtual Transform3D get_camera_transform() override; virtual Transform3D get_transform_for_view(uint32_t p_view, const Transform3D &p_cam_transform) override; - virtual CameraMatrix get_projection_for_view(uint32_t p_view, double p_aspect, double p_z_near, double p_z_far) override; + virtual Projection get_projection_for_view(uint32_t p_view, double p_aspect, double p_z_near, double p_z_far) override; virtual Vector<BlitToScreen> post_draw_viewport(RID p_render_target, const Rect2 &p_screen_rect) override; virtual void process() override; @@ -98,6 +98,6 @@ public: ~WebXRInterfaceJS(); }; -#endif // JAVASCRIPT_ENABLED +#endif // WEB_ENABLED #endif // WEBXR_INTERFACE_JS_H |