Three.js停止渲染过程
问题描述:
我不得不加载一个大的obj文件,因为不支持WebGL加载的计算机变得太慢,所以我必须在完整对象前后上传一个灯光对象。 为此,我需要在处理完整对象时旋转视图时停止呈现过程。有没有解决这个问题的功能?谢谢!Three.js停止渲染过程
我的代码:
var renderWire = function() {
renderer.render(wireScene, camera);
render();
};
var render = function() {
renderer.render(scene, camera);
};
$(document).ready(function() {
$(document).keypress(function(event) {
switch(event.keyCode) {
case 100: //destra
//rotation
break;
case 97: //sinistra
//rotation
break;
default:
//not set
break
}
//here i have to stop render if running and start a new render
renderWire();
});
});
答
我会试图以时间来加载一个对象。这样你就可以控制加载过程的流程。这听起来像你需要加载3个对象
var firstTexture = THREE.ImageUtils.loadTexture("images/firstTexture.png", undefined, firstObject);
function firstObject (texture) {
var material = new THREE.SpriteMaterial({ map: texture });
firstObject = new THREE.Sprite(material);
scene.add(firstObject);
var secoundTexture = THREE.ImageUtils.loadTexture("images/secoundTexture.png", undefined, secoundObject);
};
function secoundObject (texture) {
var material = new THREE.SpriteMaterial({ map: texture });
secoundObject = new THREE.Sprite(material);
scene.add(secoundObject);
var thirdTexture = THREE.ImageUtils.loadTexture("images/thirdTexture.png", undefined, thirdObject);
};
function thirdObject (texture) {
var material = new THREE.SpriteMaterial({ map: texture });
thirdObject = new THREE.Sprite(material);
scene.add(thirdObject);
codeAfterloading();
};
function codeAfterloading() {
};
我希望这可以帮助你。
实际上加载文件与WebGL无关。 – gaitat 2014-09-23 13:11:01