WebXR — rozwiązanie technologii internetowej rozszerzonej rzeczywistości (Web XR)
Opublikowano: 27 grudnia 2021 / Aktualizacja z: 23 lutego 2022 - Autor: Konrad Wolfenstein
WebXR to interfejs programowania JavaScript (API), który umożliwia aplikacjom interakcję z urządzeniami rzeczywistości rozszerzonej i rzeczywistości wirtualnej, takimi jak HTC Vive, Oculus Rift, Google Cardboard lub Open Source Virtual Reality (OSVR) w przeglądarce internetowej. Interfejs API WebXR jest określony przez zestaw specyfikacji W3C i jest zarządzany wspólnie przez dwie grupy: Immersive Web Community Group i Immersive Web Working Group.
W 2018 roku interfejs WebXR API zastąpił WebVR, ponieważ został zaprojektowany zarówno dla urządzeń rzeczywistości rozszerzonej, jak i wirtualnej. WebVR został zaimplementowany w przeglądarkach opartych na Firefox i Chromium, zanim został wycofany i usunięty. 24 września 2018 roku oficjalnie powołano Grupę Roboczą Immersive Web.
To sprawia, że WebXR jest nowym standardem API dla twórców stron internetowych, umożliwiającym tworzenie aplikacji VR lub AR bez konieczności bezpośredniej pracy z odpowiednim sprzętem. Użytkownicy mogą korzystać wyłącznie z przeglądarki internetowej, aby przeglądać treści VR/AR bez konieczności instalowania dodatkowych wtyczek lub oprogramowania.
Co powinieneś wiedzieć o WebXR, WebVR czy WebAR!
Kolejny rewolucyjny krok w cyfryzacji?
W skrócie: może to być kod QR lub obraz powiązany z technologią WebXR, WebVR lub WebAR. Przytrzymasz smartfon nad kodem QR lub obrazem, zeskanujesz go, a modele produktów CAD lub 3D od razu pojawią się w przeglądarce internetowej. W tym miejscu można również wyświetlić dalsze dodatkowe informacje. W zależności od modelowania 3D WebXR nie jesteś tutaj bierny, ale możesz wchodzić w interakcje w tym świecie 3D.
W wersji desktopowej możesz przeglądać i wchodzić w interakcję z wizualizacją 3D w przeglądarce za pomocą łącza.
Prekursor: WebVR – wirtualna rzeczywistość internetowa
WebVR był eksperymentalnym interfejsem API JavaScript, który był w stanie reprezentować jedynie rzeczywistość wirtualną. Został on zastąpiony przez WebXR.
Ten interfejs API został opracowany z myślą o następujących celach:
- Wykrywanie dostępnych urządzeń rzeczywistości wirtualnej
- Zapytaj o możliwości urządzenia
- Zapytaj o położenie i orientację urządzenia
- Wyświetlaj obrazy na urządzeniu z odpowiednią liczbą klatek na sekundę
Interfejs API WebVR został po raz pierwszy opracowany dla Mozilli wiosną 2014 roku przez Vladimira Vukićevicia. Współtwórcami API są Brandon Jones, Boris Smus i inni członkowie zespołu Mozilli. 1 marca 2016 roku zespół Mozilla VR i zespół Google Chrome ogłosiły wydanie wersji 1.0 propozycji WebVR API. Powstała w ten sposób refaktoryzacja API przyniosła wiele ulepszeń do WebVR.
Ostatnia oznaczona wersja to 1.1, ostatnia edycja miała miejsce 5 kwietnia 2017 r. Redaktorami dokumentu są członkowie zespołów Mozilli i Google. Jednakże niektórzy członkowie firmy Microsoft dołączyli i aktywnie pracują nad procesem projektowania interfejsu WebVR API w wersji 2.0.
Interfejs API WebVR
WebVR API udostępniło kilka nowych interfejsów (np. VR Display, VR Pose), które umożliwiły aplikacjom internetowym wyświetlanie treści w wirtualnej rzeczywistości przy użyciu WebGL z niezbędnymi ustawieniami kamery i interakcjami z urządzeniami (np. Kontrolerem lub punktem widzenia). Interfejs API jest zaprojektowany tak, aby podążał określoną ścieżką, która jest bardzo podobna do innych natrętnych internetowych interfejsów API, takich jak API geolokalizacji. Niezbędne kroki to:
- Zapytanie o listę dostępnych urządzeń VR
- Sprawdź, czy wybrane urządzenie obsługuje tryby wyświetlania wymagane przez aplikację
- Jeśli tak, aplikacja oferuje użytkownikowi funkcjonalność VR
- Użytkownik wykonuje akcję wskazującą, że chce przejść do trybu VR
- Poproś o sesję VR, aby zaprezentować treści VR
- Rozpocznij pętlę renderowania, która tworzy klatki graficzne wyświetlane na urządzeniu VR
- Produkcja klatek trwa do momentu, aż użytkownik wskaże, że chce wyjść z trybu VR
- Zakończ sesję VR
WebVR 1.0 był obsługiwany w wersji Firefoksa 55+ dla Windows (tylko wersja 64-bitowa) i był używany przez przeglądarkę Chrome dla Androida aż do wersji 80 jako eksperyment próbny Origin, co oznaczało, że programiści mogli poprosić o token, który umożliwi im dostęp do Twojej witryny aby bezproblemowo włączyć WebVR. WebVR 1.1 był obsługiwany w Microsoft Edge od kompilacji 15002+ oraz w Samsung Internet, Chromium, Servo i Oculus Carmel.
Chrome dla Windows obsługuje WebVR 1.1 w specjalnej wersji. Firefox 55+ na macOS obsługuje także WebVR, jeśli użytkownik włączył odpowiednie ustawienie.
Chociaż WebVR jest wyjątkowym interfejsem API, na większości urządzeń znajdują się natywne aplikacje, które umożliwiają łączność i dostęp do treści internetowych. Kilka głównych narzędzi, takich jak Unity i Blender, może również eksportować do Internetu, dając użytkownikom możliwość korzystania z treści bez instalowania specjalnej aplikacji.
WebGL
WebGL (skrót od Web Graphics Library) to interfejs API JavaScript umożliwiający wyświetlanie interaktywnej grafiki 2D i 3D w sposób przyspieszany sprzętowo w dowolnej kompatybilnej przeglądarce internetowej bez użycia wtyczek. WebGL jest w pełni zintegrowany z innymi standardami internetowymi i umożliwia przyspieszane przez GPU przetwarzanie obrazu i efekty w ramach renderowania stron internetowych. Elementy WebGL można mieszać z innymi elementami HTML i komponować z innymi częściami strony lub tłem strony.
Programy WebGL składają się z kodów sterujących napisanych w języku JavaScript i kodów modułu cieniującego napisanych w języku OpenGL ES Shading Language (GLSL ES), języku podobnym do C lub C++, który działa na procesorze graficznym (GPU) komputera. WebGL jest rozwijany i utrzymywany przez organizację non-profit Khronos Group.
Na początku 2009 roku konsorcjum technologiczne non-profit Khronos Group założyło grupę roboczą WebGL, w skład której początkowo wchodziły Apple, Google, Mozilla, Opera i inne. Wersja 1.0 specyfikacji WebGL została opublikowana w marcu 2011 roku.
3 marca 2011 roku na konferencji Game Developers Conference w San Francisco opublikowano pierwszą wersję specyfikacji WebGL. W marcu 2011 r. technologia WebGL była obsługiwana przez przeglądarkę internetową Chrome firmy Google i przeglądarkę Firefox Mozilli, a poza tym była domyślnie włączona w przedpremierowych wersjach przeglądarek Apple Safari i Opera.
W listopadzie 2011 roku projekt Angle (skrót od Near Native Graphics Layer Engine), zaprezentowany przez Google w marcu 2011 roku, uzyskał certyfikat OpenGL ES w wersji 2.0, umożliwiający tworzenie wieloplatformowych aplikacji z obsługą WebGL m.in. , trzy najbardziej znane platformy systemów operacyjnych – Windows, Mac i Linux – do opracowania.
Jednym z pierwszych zastosowań WebGL było Zygote Body. W listopadzie 2012 roku firma Autodesk ogłosiła, że przeniosła większość swoich aplikacji do chmury, działając na lokalnych klientach WebGL. Aplikacje te obejmują Fusion 360 i AutoCAD 360.
Prace nad specyfikacją WebGL 2 rozpoczęły się w 2013 roku i zakończyły w styczniu 2017 roku. Niniejsza specyfikacja opiera się na OpenGL ES 3.0. Pierwsze wdrożenia można znaleźć w Firefoksie 51, Chrome 56 i Operze 43.
W3C pracuje nad następcą WebGPU od 2017 roku.
WebGPU
WebGPU to roboczy tytuł przyszłego standardu sieciowego i interfejsu API JavaScript do sprzętowej, przyspieszonej grafiki i obliczeń obliczeniowych, mającego zastąpić WebGL. Rozwój odbywa się w procesorze graficznym W3C dla Web Community Group przez inżynierów oprogramowania z firm Apple, Mozilla, Microsoft, Google i innych.
W przeciwieństwie do WebGL, który został oparty na OpenGL ES, WebGPU nie jest bezpośrednim portem istniejącego interfejsu graficznego. Opiera się on jednak na koncepcjach interfejsów sprzętowych Vulkan, Metal i Direct3D 12. Zarówno urządzenia mobilne, jak i platformy desktopowe powinny zyskać na przyrostach szybkości.
7 lutego 2017 r. zespół Apple WebKit przedstawił weryfikację koncepcji obejmującą pomysły na standard o nazwie „WebGPU”, oparty na własnym interfejsie „Metal”. Dodatkowo zasugerowano założenie Grupy Społeczności W3C.
Grupa społecznościowa W3C „GPU dla sieci” rozpoczęła swoją pracę 16 lutego 2017 r. W tym momencie były już eksperymenty Apple, Google i Mozilli, ale tylko Apple miał oficjalną propozycję. 21 marca 2017 r. Mozilla przedstawiła własną propozycję standardu WebGPU.
1 czerwca 2018 roku twórcy przeglądarki Google Chrome ogłosili, że uzgodnili najważniejsze aspekty i obecnie planują wdrożenie standardu w przyszłości.
Nazwa „WebGPU” została później przyjęta przez grupę społecznościową jako robocza nazwa otwartego standardu. Aby uniknąć nieporozumień, nazwa oryginalnej prezentacji Apple została zmieniona na „Web-Metal”.
Pasujące biblioteki PDF:
Szukasz wsparcia technicznego i strategicznego dla swoich rozwiązań sieciowych rozszerzonej rzeczywistości? Xpert.Digital Cię wspiera!
Chętnie będę Twoim osobistym konsultantem w zakresie rozwiązań rzeczywistości rozszerzonej.
Możesz się ze mną skontaktować wypełniając poniższy formularz kontaktowy lub po prostu dzwoniąc pod numer +49 89 89 674 804 (Monachium) .
Nie mogę się doczekać naszego wspólnego projektu.
Xpert.Digital – Konrad Wolfenstein
Xpert.Digital to centrum przemysłu skupiające się na cyfryzacji, inżynierii mechanicznej, logistyce/intralogistyce i fotowoltaice.
Dzięki naszemu rozwiązaniu do rozwoju biznesu 360° wspieramy znane firmy od rozpoczęcia nowej działalności po sprzedaż posprzedażną.
Wywiad rynkowy, smarketing, automatyzacja marketingu, tworzenie treści, PR, kampanie pocztowe, spersonalizowane media społecznościowe i pielęgnacja leadów to część naszych narzędzi cyfrowych.
Więcej informacji znajdziesz na: www.xpert.digital – www.xpert.solar – www.xpert.plus