Skip to content

Commit 25d09bb

Browse files
committed
Merge arSession and vrSession to xrSession
1 parent d8a8ca1 commit 25d09bb

File tree

3 files changed

+51
-108
lines changed

3 files changed

+51
-108
lines changed

Assets/WebGLTemplates/WebXR/webxr.js

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@
6161
}
6262

6363
function XRManager() {
64-
this.arSession = null;
65-
this.vrSession = null;
64+
this.xrSession = null;
6665
this.inlineSession = null;
6766
this.xrData = new XRData();
6867
this.canvas = null;
@@ -142,7 +141,7 @@
142141
session.isImmersive = true;
143142
session.isInSession = true;
144143
session.isAR = true;
145-
this.arSession = session;
144+
this.xrSession = session;
146145
this.onSessionStarted(session);
147146
}).catch((error) => {
148147
thisXRMananger.waitingHandheldARHack = false;
@@ -157,27 +156,19 @@
157156
}).then(async (session) => {
158157
session.isImmersive = true;
159158
session.isInSession = true;
160-
this.vrSession = session;
159+
session.isAR = false;
160+
this.xrSession = session;
161161
this.onSessionStarted(session);
162162
});
163163
}
164164

165-
XRManager.prototype.exitARSession = function () {
166-
if (!this.arSession || !this.arSession.isInSession) {
167-
console.warn('No AR display to exit AR mode');
165+
XRManager.prototype.exitXRSession = function () {
166+
if (!this.xrSession || !this.xrSession.isInSession) {
167+
console.warn('No XR display to exit XR mode');
168168
return;
169169
}
170170

171-
this.arSession.end();
172-
}
173-
174-
XRManager.prototype.exitVRSession = function () {
175-
if (!this.vrSession || !this.vrSession.isInSession) {
176-
console.warn('No VR display to exit VR mode');
177-
return;
178-
}
179-
180-
this.vrSession.end();
171+
this.xrSession.end();
181172
}
182173

183174
XRManager.prototype.onEndSession = function (xrSessionEvent) {
@@ -252,8 +243,8 @@
252243
{
253244
return;
254245
}
255-
if (this.isARSupported && this.arSession && this.arSession.isInSession) {
256-
this.exitARSession();
246+
if (this.xrSession && this.xrSession.isInSession) {
247+
this.exitXRSession();
257248
} else {
258249
this.onRequestARSession();
259250
}
@@ -264,8 +255,8 @@
264255
{
265256
return;
266257
}
267-
if (this.isVRSupported && this.vrSession && this.vrSession.isInSession) {
268-
this.exitVRSession();
258+
if (this.xrSession && this.xrSession.isInSession) {
259+
this.exitXRSession();
269260
} else {
270261
this.onRequestVRSession();
271262
}
@@ -283,14 +274,8 @@
283274
{
284275
thisXRMananger.rAFCB=func;
285276
}
286-
if (thisXRMananger.arSession && thisXRMananger.arSession.isInSession) {
287-
return thisXRMananger.arSession.requestAnimationFrame((time, xrFrame) =>
288-
{
289-
thisXRMananger.animate(xrFrame);
290-
func(time);
291-
});
292-
} else if (thisXRMananger.vrSession && thisXRMananger.vrSession.isInSession) {
293-
return thisXRMananger.vrSession.requestAnimationFrame((time, xrFrame) =>
277+
if (thisXRMananger.xrSession && thisXRMananger.xrSession.isInSession) {
278+
return thisXRMananger.xrSession.requestAnimationFrame((time, xrFrame) =>
294279
{
295280
thisXRMananger.animate(xrFrame);
296281
func(time);
@@ -311,13 +296,9 @@
311296
// bindFramebuffer frameBufferObject null in XRSession should use XRWebGLLayer FBO instead
312297
this.ctx.bindFramebuffer = (oldBindFramebuffer => function bindFramebuffer(target, fbo) {
313298
if (!fbo) {
314-
if (thisXRMananger.arSession && thisXRMananger.arSession.isInSession) {
315-
if (thisXRMananger.arSession.renderState.baseLayer) {
316-
fbo = thisXRMananger.arSession.renderState.baseLayer.framebuffer;
317-
}
318-
} else if (thisXRMananger.vrSession && thisXRMananger.vrSession.isInSession) {
319-
if (thisXRMananger.vrSession.renderState.baseLayer) {
320-
fbo = thisXRMananger.vrSession.renderState.baseLayer.framebuffer;
299+
if (thisXRMananger.xrSession && thisXRMananger.xrSession.isInSession) {
300+
if (thisXRMananger.xrSession.renderState.baseLayer) {
301+
fbo = thisXRMananger.xrSession.renderState.baseLayer.framebuffer;
321302
}
322303
} else if (thisXRMananger.inlineSession && thisXRMananger.inlineSession.isInSession &&
323304
thisXRMananger.inlineSession.renderState.baseLayer) {

Assets/WebGLTemplates/WebXRFullView/webxr.js

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@
6161
}
6262

6363
function XRManager() {
64-
this.arSession = null;
65-
this.vrSession = null;
64+
this.xrSession = null;
6665
this.inlineSession = null;
6766
this.xrData = new XRData();
6867
this.canvas = null;
@@ -142,7 +141,7 @@
142141
session.isImmersive = true;
143142
session.isInSession = true;
144143
session.isAR = true;
145-
this.arSession = session;
144+
this.xrSession = session;
146145
this.onSessionStarted(session);
147146
}).catch((error) => {
148147
thisXRMananger.waitingHandheldARHack = false;
@@ -157,27 +156,19 @@
157156
}).then(async (session) => {
158157
session.isImmersive = true;
159158
session.isInSession = true;
160-
this.vrSession = session;
159+
session.isAR = false;
160+
this.xrSession = session;
161161
this.onSessionStarted(session);
162162
});
163163
}
164164

165-
XRManager.prototype.exitARSession = function () {
166-
if (!this.arSession || !this.arSession.isInSession) {
167-
console.warn('No AR display to exit AR mode');
165+
XRManager.prototype.exitXRSession = function () {
166+
if (!this.xrSession || !this.xrSession.isInSession) {
167+
console.warn('No XR display to exit XR mode');
168168
return;
169169
}
170170

171-
this.arSession.end();
172-
}
173-
174-
XRManager.prototype.exitVRSession = function () {
175-
if (!this.vrSession || !this.vrSession.isInSession) {
176-
console.warn('No VR display to exit VR mode');
177-
return;
178-
}
179-
180-
this.vrSession.end();
171+
this.xrSession.end();
181172
}
182173

183174
XRManager.prototype.onEndSession = function (xrSessionEvent) {
@@ -252,8 +243,8 @@
252243
{
253244
return;
254245
}
255-
if (this.isARSupported && this.arSession && this.arSession.isInSession) {
256-
this.exitARSession();
246+
if (this.xrSession && this.xrSession.isInSession) {
247+
this.exitXRSession();
257248
} else {
258249
this.onRequestARSession();
259250
}
@@ -264,8 +255,8 @@
264255
{
265256
return;
266257
}
267-
if (this.isVRSupported && this.vrSession && this.vrSession.isInSession) {
268-
this.exitVRSession();
258+
if (this.xrSession && this.xrSession.isInSession) {
259+
this.exitXRSession();
269260
} else {
270261
this.onRequestVRSession();
271262
}
@@ -283,14 +274,8 @@
283274
{
284275
thisXRMananger.rAFCB=func;
285276
}
286-
if (thisXRMananger.arSession && thisXRMananger.arSession.isInSession) {
287-
return thisXRMananger.arSession.requestAnimationFrame((time, xrFrame) =>
288-
{
289-
thisXRMananger.animate(xrFrame);
290-
func(time);
291-
});
292-
} else if (thisXRMananger.vrSession && thisXRMananger.vrSession.isInSession) {
293-
return thisXRMananger.vrSession.requestAnimationFrame((time, xrFrame) =>
277+
if (thisXRMananger.xrSession && thisXRMananger.xrSession.isInSession) {
278+
return thisXRMananger.xrSession.requestAnimationFrame((time, xrFrame) =>
294279
{
295280
thisXRMananger.animate(xrFrame);
296281
func(time);
@@ -311,13 +296,9 @@
311296
// bindFramebuffer frameBufferObject null in XRSession should use XRWebGLLayer FBO instead
312297
this.ctx.bindFramebuffer = (oldBindFramebuffer => function bindFramebuffer(target, fbo) {
313298
if (!fbo) {
314-
if (thisXRMananger.arSession && thisXRMananger.arSession.isInSession) {
315-
if (thisXRMananger.arSession.renderState.baseLayer) {
316-
fbo = thisXRMananger.arSession.renderState.baseLayer.framebuffer;
317-
}
318-
} else if (thisXRMananger.vrSession && thisXRMananger.vrSession.isInSession) {
319-
if (thisXRMananger.vrSession.renderState.baseLayer) {
320-
fbo = thisXRMananger.vrSession.renderState.baseLayer.framebuffer;
299+
if (thisXRMananger.xrSession && thisXRMananger.xrSession.isInSession) {
300+
if (thisXRMananger.xrSession.renderState.baseLayer) {
301+
fbo = thisXRMananger.xrSession.renderState.baseLayer.framebuffer;
321302
}
322303
} else if (thisXRMananger.inlineSession && thisXRMananger.inlineSession.isInSession &&
323304
thisXRMananger.inlineSession.renderState.baseLayer) {

Build/webxr.js

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@
6161
}
6262

6363
function XRManager() {
64-
this.arSession = null;
65-
this.vrSession = null;
64+
this.xrSession = null;
6665
this.inlineSession = null;
6766
this.xrData = new XRData();
6867
this.canvas = null;
@@ -142,7 +141,7 @@
142141
session.isImmersive = true;
143142
session.isInSession = true;
144143
session.isAR = true;
145-
this.arSession = session;
144+
this.xrSession = session;
146145
this.onSessionStarted(session);
147146
}).catch((error) => {
148147
thisXRMananger.waitingHandheldARHack = false;
@@ -157,27 +156,19 @@
157156
}).then(async (session) => {
158157
session.isImmersive = true;
159158
session.isInSession = true;
160-
this.vrSession = session;
159+
session.isAR = false;
160+
this.xrSession = session;
161161
this.onSessionStarted(session);
162162
});
163163
}
164164

165-
XRManager.prototype.exitARSession = function () {
166-
if (!this.arSession || !this.arSession.isInSession) {
167-
console.warn('No AR display to exit AR mode');
165+
XRManager.prototype.exitXRSession = function () {
166+
if (!this.xrSession || !this.xrSession.isInSession) {
167+
console.warn('No XR display to exit XR mode');
168168
return;
169169
}
170170

171-
this.arSession.end();
172-
}
173-
174-
XRManager.prototype.exitVRSession = function () {
175-
if (!this.vrSession || !this.vrSession.isInSession) {
176-
console.warn('No VR display to exit VR mode');
177-
return;
178-
}
179-
180-
this.vrSession.end();
171+
this.xrSession.end();
181172
}
182173

183174
XRManager.prototype.onEndSession = function (xrSessionEvent) {
@@ -252,8 +243,8 @@
252243
{
253244
return;
254245
}
255-
if (this.isARSupported && this.arSession && this.arSession.isInSession) {
256-
this.exitARSession();
246+
if (this.xrSession && this.xrSession.isInSession) {
247+
this.exitXRSession();
257248
} else {
258249
this.onRequestARSession();
259250
}
@@ -264,8 +255,8 @@
264255
{
265256
return;
266257
}
267-
if (this.isVRSupported && this.vrSession && this.vrSession.isInSession) {
268-
this.exitVRSession();
258+
if (this.xrSession && this.xrSession.isInSession) {
259+
this.exitXRSession();
269260
} else {
270261
this.onRequestVRSession();
271262
}
@@ -283,14 +274,8 @@
283274
{
284275
thisXRMananger.rAFCB=func;
285276
}
286-
if (thisXRMananger.arSession && thisXRMananger.arSession.isInSession) {
287-
return thisXRMananger.arSession.requestAnimationFrame((time, xrFrame) =>
288-
{
289-
thisXRMananger.animate(xrFrame);
290-
func(time);
291-
});
292-
} else if (thisXRMananger.vrSession && thisXRMananger.vrSession.isInSession) {
293-
return thisXRMananger.vrSession.requestAnimationFrame((time, xrFrame) =>
277+
if (thisXRMananger.xrSession && thisXRMananger.xrSession.isInSession) {
278+
return thisXRMananger.xrSession.requestAnimationFrame((time, xrFrame) =>
294279
{
295280
thisXRMananger.animate(xrFrame);
296281
func(time);
@@ -311,13 +296,9 @@
311296
// bindFramebuffer frameBufferObject null in XRSession should use XRWebGLLayer FBO instead
312297
this.ctx.bindFramebuffer = (oldBindFramebuffer => function bindFramebuffer(target, fbo) {
313298
if (!fbo) {
314-
if (thisXRMananger.arSession && thisXRMananger.arSession.isInSession) {
315-
if (thisXRMananger.arSession.renderState.baseLayer) {
316-
fbo = thisXRMananger.arSession.renderState.baseLayer.framebuffer;
317-
}
318-
} else if (thisXRMananger.vrSession && thisXRMananger.vrSession.isInSession) {
319-
if (thisXRMananger.vrSession.renderState.baseLayer) {
320-
fbo = thisXRMananger.vrSession.renderState.baseLayer.framebuffer;
299+
if (thisXRMananger.xrSession && thisXRMananger.xrSession.isInSession) {
300+
if (thisXRMananger.xrSession.renderState.baseLayer) {
301+
fbo = thisXRMananger.xrSession.renderState.baseLayer.framebuffer;
321302
}
322303
} else if (thisXRMananger.inlineSession && thisXRMananger.inlineSession.isInSession &&
323304
thisXRMananger.inlineSession.renderState.baseLayer) {

0 commit comments

Comments
 (0)