使用Three.js加载DDS纹理SceneLoader

问题描述:

我遇到了试图使用SceneLoader加载dds纹理的问题。 我目前使用three.js的版本69。我已经尝试修改SceneLoader以使用THREE.DDSLoader,但是我的页面停止并没有产生任何错误。使用Three.js加载DDS纹理SceneLoader

修改: var isCompressed = fullUrl.toLowerCase()。endsWith(“。dds”); //必须添加原型endsWith //console.warn (isCompressed);

  if (isCompressed) { 
       var loader = new THREE.DDSLoader(); 
       console.log(fullUrl); 
       var texture = loader.load(fullUrl);   
      } 
      else{ 

       var loader = THREE.Loader.Handlers.get(fullUrl); 

       if (loader !== null) { 

        texture = loader.load(fullUrl, textureCallback); 

       } else { 

        texture = new THREE.Texture(); 
        loader = new THREE.ImageLoader(); 

        (function (texture) { 

         loader.load(fullUrl, function (image) { 

          texture.image = image; 
          texture.needsUpdate = true; 

          textureCallback(); 

         }); 

        })(texture) 


       } 
      } 

没关系,我想通了。 我需要用texture = loader.load(fullUrl,textureCallback)替换var texture = loader.load(fullUrl);