Files
junisaber/src/components/preloader.js
2018-07-18 20:48:45 +02:00

39 lines
913 B
JavaScript

AFRAME.registerComponent('gpu-preloader', {
init: function() {
setTimeout(() => {
this.preloadFont();
this.preloadKeyboard();
}, 1000);
setTimeout(() => {
this.el.object3D.visible = false;
}, 2000);
},
preloadFont: function() {
var text;
text = document.querySelector('[text]');
if (text.components.text.texture) {
this.preloadTexture(text.components.text.texture);
} else {
text.addEventListener('textfontset', () => {
this.preloadTexture(text.components.text.texture);
});
}
},
preloadKeyboard: function() {
var kbd;
kbd = document.getElementById('kb');
kbd.object3D.traverse(node => {
if (node.material && node.material.map) {
this.preloadTexture(node.material.map);
}
});
},
preloadTexture: function(texture) {
this.el.sceneEl.renderer.setTexture2D(texture, 0);
},
});