WebXR: Difference between revisions
Appearance
Xinreality (talk | contribs) No edit summary |
Xinreality (talk | contribs) No edit summary |
||
Line 50: | Line 50: | ||
* '''inline''' - Renders XR content within an HTML element on a web page | * '''inline''' - Renders XR content within an HTML element on a web page | ||
* '''immersive-vr''' - Provides an exclusive, fully immersive VR experience | * '''immersive-vr''' - Provides an exclusive, fully immersive VR experience | ||
* '''immersive-ar''' - Blends virtual content with the real world environment<ref name="w3c-ar-module"> | * '''immersive-ar''' - Blends virtual content with the real world environment<ref name="w3c-ar-module"></ref> | ||
==== Reference Spaces ==== | ==== Reference Spaces ==== | ||
Line 66: | Line 66: | ||
3. Delivering the combined framebuffer to the XR device for display | 3. Delivering the combined framebuffer to the XR device for display | ||
The API handles the complex timing and scheduling required for comfortable XR experiences, but does not directly manage 3D assets or perform rendering—that responsibility falls to WebGL or other graphics libraries.<ref name="mdn-fundamentals"> | The API handles the complex timing and scheduling required for comfortable XR experiences, but does not directly manage 3D assets or perform rendering—that responsibility falls to WebGL or other graphics libraries.<ref name="mdn-fundamentals"></ref> | ||
==== Input Handling ==== | ==== Input Handling ==== | ||
Line 73: | Line 73: | ||
* Hand tracking | * Hand tracking | ||
* Gaze-based input methods | * Gaze-based input methods | ||
* Session-specific events (select, squeeze, etc.)<ref name="webxr-gamepads"> | * Session-specific events (select, squeeze, etc.)<ref name="webxr-gamepads"></ref> | ||
=== API Architecture === | === API Architecture === | ||
Line 120: | Line 120: | ||
* **WebXR Hand Input Module** - Enables hand tracking functionality | * **WebXR Hand Input Module** - Enables hand tracking functionality | ||
* **WebXR Layers Module** - Supports rendering to multiple composited layers | * **WebXR Layers Module** - Supports rendering to multiple composited layers | ||
* **WebXR Lighting Estimation Module** - Allows AR applications to match virtual lighting with real-world conditions<ref name="w3c-lighting"> | * **WebXR Lighting Estimation Module** - Allows AR applications to match virtual lighting with real-world conditions<ref name="w3c-lighting"></ref> | ||
This modular approach allows the WebXR standard to evolve and expand while maintaining compatibility with existing implementations. | This modular approach allows the WebXR standard to evolve and expand while maintaining compatibility with existing implementations. | ||
Line 164: | Line 164: | ||
|} | |} | ||
Safari on iOS has historically not supported WebXR, though the API is available in Safari for visionOS on the Apple Vision Pro mixed reality headset.<ref name="browserstack"> | Safari on iOS has historically not supported WebXR, though the API is available in Safari for visionOS on the Apple Vision Pro mixed reality headset.<ref name="browserstack"></ref> | ||
=== Hardware Compatibility === | === Hardware Compatibility === | ||
Line 178: | Line 178: | ||
* AR headsets (Microsoft HoloLens, Magic Leap, Apple Vision Pro) | * AR headsets (Microsoft HoloLens, Magic Leap, Apple Vision Pro) | ||
* Mobile AR (ARCore on Android, ARKit on iOS) | * Mobile AR (ARCore on Android, ARKit on iOS) | ||
* Video pass-through devices<ref name="immersiveweb"> | * Video pass-through devices<ref name="immersiveweb"></ref> | ||
=== Feature Detection and Fallbacks === | === Feature Detection and Fallbacks === | ||
Line 186: | Line 186: | ||
* Feature detection to check if WebXR is supported in the current browser | * Feature detection to check if WebXR is supported in the current browser | ||
* The WebXR Polyfill that provides a fallback implementation for browsers without native support | * The WebXR Polyfill that provides a fallback implementation for browsers without native support | ||
* The WebXR API Emulator, a browser extension that simulates XR hardware for development and testing<ref name="mdn-startup"> | * The WebXR API Emulator, a browser extension that simulates XR hardware for development and testing<ref name="mdn-startup"></ref> | ||
=== Security Requirements === | === Security Requirements === | ||
Line 212: | Line 212: | ||
* **Navigation** - Enhanced wayfinding, points of interest, and information overlays | * **Navigation** - Enhanced wayfinding, points of interest, and information overlays | ||
* **Art and Culture** - Interactive exhibits, enhanced performances, and public installations | * **Art and Culture** - Interactive exhibits, enhanced performances, and public installations | ||
* **Education** - Interactive learning materials, visualizations, and simulations<ref name="google-webxr"> | * **Education** - Interactive learning materials, visualizations, and simulations<ref name="google-webxr"></ref> | ||
=== Cross-Reality Experiences === | === Cross-Reality Experiences === |