SlideShare a Scribd company logo
Immersive Web on your website
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Immersive Web on your website
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Immersive Web on your website
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Immersive Web on your website
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
WebARonARCore
WebARonARkit
https://github.com/google-ar/WebARonARCore
https://github.com/google-ar/WebARonARKit
Copyright @Hirokazu Egashira. All right reserved.
https://github.com/google-ar/three.ar.js
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
Immersive Web on your website
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
WebXR application development stack
ARCore Service
Java Helper
Library
Native App Java or NDK
AIDL
Core

Process
Web App [ with WebXR Device API + WebGL]
Swift / Object-C
App
[ARKit API + WKWebview]User App

Process
WebARonARkit / XRViewer WebARonARCore
Copyright @Hirokazu Egashira. All right reserved.
Chromium

[Native]
WebKitARKit
ARCoreSDK
ARKit Process
* maybe exist
Web
DaydreamSDK
Daydream Service
WebXR application development stack
ARCore Service
Java Helper
Library
Native App Java or NDK
AIDL
Core

Process
Web App [ with WebXR Device API + WebGL]
Swift / Object-C
App
[ARKit API + WKWebview]User App

Process
Copyright @Hirokazu Egashira. All right reserved.
Chromium

[Native]
WebKitARKit
ARCoreSDK
ARKit Process
* maybe exist
Web
DaydreamSDK
Daydream Service
Camera View .etcCamera View + SensorData Controller .etc
All you have to do is develop this part.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
navigator.xr.requestDevice().then(device => {
// Resolves if an XRDevice is available.
onXRAvailable(device);
}).catch(error => {
// An error occurred while requesting an XRDevice or none is available.
console.error('Unable to retrieve an XR device: ', error);
});
Copyright @Hirokazu Egashira. All right reserved.
xrDevice.supportsSession({immersive: true}).then(() => {
xrButton.setDevice(device);
});
Copyright @Hirokazu Egashira. All right reserved.
xrDevice.requestSession({ immersive: true }).then((session) => {
xrSession = session;
});
Copyright @Hirokazu Egashira. All right reserved.
xrSession.requestFrameOfReference('eye-level')
.then(xrFrameOfRef => {
xrSession.requestAnimationFrame(onFrame(time, xrFrame) {
// The time argument is for future use and not implemented at this time.
// Process the frame.
xrFrame.session.requestAnimationFrame(onFrame);
}
});
Copyright @Hirokazu Egashira. All right reserved.
let pose = xrFrame.getDevicePose(xrFrameOfRef);
if (pose) {
// Draw something to the screen.
}
Copyright @Hirokazu Egashira. All right reserved.
for (let view of xrFrame.views) {
// Draw something to the screen.
}
Copyright @Hirokazu Egashira. All right reserved.
xrDevice.requestSession(sessionOptions)
.then(xrSession => {
// Create a WebGL layer and initialize the render loop.
xrSession.addEventListener('end', onSessionEnd);
});
// Restore the page to normal after immersive access has been released.
function onSessionEnd() {
xrSession = null;
// Ending the session stops executing callbacks passed to the XRSession's
// requestAnimationFrame(). To continue rendering, use the window's
// requestAnimationFrame() function.
window.requestAnimationFrame(onDrawFrame);
}
Copyright @Hirokazu Egashira. All right reserved.
event.frame.session.requestHitTest(rayOrigin, rayDirection,
xrFrameOfRef).then((results) => {
if (results.length) {
addARObjectAt(results[0].hitMatrix);
}
});
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
https://immersive-web.github.io/webxr-samples/
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
Copyright @Hirokazu Egashira. All right reserved.
https://peccu.github.io/ar-quicklook-usdz/
Immersive Web on your website






Copyright @Hirokazu Egashira. All right reserved.
Immersive Web on your website
Immersive Web on your website
WebAssembly
Copyright @Hirokazu Egashira. All right reserved.
DRACO
Copyright @Hirokazu Egashira. All right reserved.
Poly
Copyright @Hirokazu Egashira. All right reserved.
Immersive Web on your website

More Related Content

PDF
ARCore Update (Jan 2020)
PPTX
Build your AR app by using AR Foundation samples
PPTX
Introduction to AR Foundation
PDF
ARCoreと モバイルARエクスペリエンス
PDF
ARCore Update
PDF
Introduction to Immersive Web
PDF
PWAの機能の選択と設計について
PDF
PWAってどう有効なのかしら 考えてみた
ARCore Update (Jan 2020)
Build your AR app by using AR Foundation samples
Introduction to AR Foundation
ARCoreと モバイルARエクスペリエンス
ARCore Update
Introduction to Immersive Web
PWAの機能の選択と設計について
PWAってどう有効なのかしら 考えてみた

More from Hirokazu Egashira (14)

PDF
デザイナー/エンジニア RWDで
ステップアップLOVE
PDF
ARCore 101
PDF
Google ARが提供する WebAR 101
PDF
Example using LattePanda
PDF
LattePandaの紹介
PDF
PDF
Example using LattePanda
PDF
Intel EdisonでAndroid Things Lチカ?その後は?
PPTX
Dive into Origami Studio
PDF
Tangoが切り開く MRの世界と日本における最新開発事例
PDF
Intel Joule Module ユーザーガイド(2)初期設定編【非公式】
PDF
Web Speech API で2時間で作れる?ブラウザロボット
PDF
Pepperのアプリ開発について - ABC2015 Summer -
PDF
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
デザイナー/エンジニア RWDで
ステップアップLOVE
ARCore 101
Google ARが提供する WebAR 101
Example using LattePanda
LattePandaの紹介
Example using LattePanda
Intel EdisonでAndroid Things Lチカ?その後は?
Dive into Origami Studio
Tangoが切り開く MRの世界と日本における最新開発事例
Intel Joule Module ユーザーガイド(2)初期設定編【非公式】
Web Speech API で2時間で作れる?ブラウザロボット
Pepperのアプリ開発について - ABC2015 Summer -
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
1. Introduction to Computer Programming.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
A Presentation on Artificial Intelligence
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Electronic commerce courselecture one. Pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Programs and apps: productivity, graphics, security and other tools
SOPHOS-XG Firewall Administrator PPT.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Dropbox Q2 2025 Financial Results & Investor Presentation
Network Security Unit 5.pdf for BCA BBA.
1. Introduction to Computer Programming.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A Presentation on Artificial Intelligence
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
Electronic commerce courselecture one. Pdf
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
Ad

Immersive Web on your website