2014-06-21 41 views
0

我正在尋找頻繁更新三個j中圖像源的材質紋理。THREE.loadTexture()會導致在setInterval()中閃爍更新

我可以通過調用做到這一點在我的init()

setInterval(function(){ 
    var pullImg = $('#frame_loader').attr('src'); 
    var tmp = THREE.ImageUtils.loadTexture(pullImg); 
    planeMesh.material.map = tmp; 
    planeMesh.material.needsUpdate = true; 
},100); 

然而,這導致了很多浮華的下面。

我推理說,使這個異步渲染循環是罪魁禍首。

但是,當我嘗試將setInterval()的上述內容遷移到render()時,紋理未應用。 planeMesh保持黑色。

我該如何擺脫這種閃爍?

回答

0

Ahhhh,我沒有等待紋理加載。

棒材料更新成在loadTexture(匿名回叫)和閃光/閃爍停止

THREE.ImageUtils.loadTexture(pullImg,{},function(){ 
    planeMesh.material.map = tmp; 
    planeMesh.material.needsUpdate = true; 
});