Skip to content

Commit e4be0b7

Browse files
committed
Move setPoseTarget deferral to setupRenderer
1 parent cd1c9c2 commit e4be0b7

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

‎src/core/scene/a-scene.js‎

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -251,17 +251,6 @@ module.exports.AScene = registerElement('a-scene', {
251251
vrDisplay = utils.device.getVRDisplay();
252252
vrManager.setDevice(vrDisplay);
253253
vrManager.enabled = true;
254-
255-
if (this.camera) {
256-
vrManager.setPoseTarget(this.camera.el.object3D);
257-
}
258-
// If the camera was not available, we skip setPoseTarget.
259-
// We expect it to be set as a result of the camera-set-active event at a later point
260-
// (usually shortly after entering VR).
261-
this.addEventListener('camera-set-active', function () {
262-
vrManager.setPoseTarget(self.camera.el.object3D);
263-
});
264-
265254
return vrDisplay.requestPresent([{source: this.canvas}])
266255
.then(enterVRSuccess, enterVRFailure);
267256
}
@@ -494,6 +483,7 @@ module.exports.AScene = registerElement('a-scene', {
494483

495484
setupRenderer: {
496485
value: function () {
486+
var self = this;
497487
var renderer;
498488
renderer = this.renderer = new THREE.WebGLRenderer({
499489
canvas: this.canvas,
@@ -502,6 +492,11 @@ module.exports.AScene = registerElement('a-scene', {
502492
});
503493
renderer.setPixelRatio(window.devicePixelRatio);
504494
renderer.sortObjects = false;
495+
// We expect camera-set-active to be triggered at least once in the life of an a-frame app. Usually soon after
496+
// it is initialized.
497+
this.addEventListener('camera-set-active', function () {
498+
renderer.vr.setPoseTarget(self.camera.el.object3D);
499+
});
505500
},
506501
writable: window.debug
507502
},

0 commit comments

Comments
 (0)