Three.JS如何在所有纹理/模型加载后渲染

时间:2014-09-02 15:43:49

标签: three.js textures material

我将一些外部模型加载到场景中。 在加载时,1个对象正确显示纹理,其他对象为黑色,直到我缩放或以某种方式激活渲染调用。 (我不确定为什么1载入...) 如何尽快调用渲染我确定所有纹理和几何都已正确加载?

加载对象的代码如下:

var loadModel = function(name, texture) {
    var loader = new THREE.JSONLoader();
    loader.load(name, function( geometry ) {
        var material = new THREE.MeshPhongMaterial({
        map: THREE.ImageUtils.loadTexture(texture)});

        var mesh = ThreeD.Utils.createModel(geometry, texture);
        var scene = X.Renderer.get_scene();

        scene.add( mesh );
        X.Renderer.render();
        };
        );
};

我已经查看了其他示例,例如loading texture issue, works with animation, blank without,但没有任何帮助。

此外,我认为这是可能发生的事情: JSONLoader(), callback called before uv texture image is loaded #4602

1 个答案:

答案 0 :(得分:0)

您使用的是渲染循环吗?如果没有,你应该。它会解决这个问题。

查看Udacity课程: https://www.udacity.com/course/viewer#!/c-cs291/l-124106599/m-175393400