From c8fca3c33c11351cfdbddb8df131a4569ef25a1c Mon Sep 17 00:00:00 2001 From: Tom Birdsong Date: Sun, 26 Feb 2023 20:52:51 -0500 Subject: [PATCH] docs(WebXR): Add Looking Glass examples to WebXR documentation Adds Looking Glass section to gallery of existing WebXR examples. --- Documentation/content/docs/develop_webxr.md | 14 ++++++++++++++ .../content/docs/gallery/LookingGlassCone.png | Bin 0 -> 14379 bytes 2 files changed, 14 insertions(+) create mode 100644 Documentation/content/docs/gallery/LookingGlassCone.png diff --git a/Documentation/content/docs/develop_webxr.md b/Documentation/content/docs/develop_webxr.md index 86687b9f6b9..18bfa1e2789 100644 --- a/Documentation/content/docs/develop_webxr.md +++ b/Documentation/content/docs/develop_webxr.md @@ -59,6 +59,19 @@ vtk.js supports virtual and augmented reality rendering via the [WebXR device AP +### Holographic Examples + + + ### For Developers Developers without access to XR hardware may find it convenient to install and use the [Mozilla WebXR emulator](https://github.com/MozillaReality/WebXR-emulator-extension) in their browser. @@ -81,3 +94,4 @@ While WebXR has broad industry support, it is not yet implemented in all browser [HeadFullVolume]: ../docs/gallery/HeadFullVolume.png [ChestCTHybrid]: ../docs/gallery/ChestCTHybrid.png [HeadGradient]: ../docs/gallery/HeadGradient.png +[LookingGlassCone]: ../docs/gallery/LookingGlassCone.png diff --git a/Documentation/content/docs/gallery/LookingGlassCone.png b/Documentation/content/docs/gallery/LookingGlassCone.png new file mode 100644 index 0000000000000000000000000000000000000000..83310aaf1248156e256e081eae2505d0e8a62298 GIT binary patch literal 14379 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 literal 0 HcmV?d00001