使用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);