javascript - Three.js:如何知道所有纹理是否已完全加载并显示(并且没有黑色矩形保留)?

标签 javascript html canvas opengl-es three.js

我正在开发一个 Web 应用程序,用户可以在其中 build 他/她想要 build 的房屋,然后可以以 3D 形式预览它。当浏览器不支持 WebGL 时,房子会在服务器上渲染,并将一些屏幕截图发送到客户端。但是,如果截图太快,某些纹理将不会显示,并将被黑色矩形取代。

在 Three.js 中,是否有一个事件触发或一种方法来判断所有纹理是否或何时完全加载并显示?

最佳答案

到目前为止,这是我发现的最好的。如果有人找到更好的解决方案,请告诉我。

THREE.DefaultLoadingManager.onProgress = function ( item, loaded, total ) {
    // All textures are finished loading when loaded === total
};

感谢 JPS 的回答:How to make a loading screen while using three.js and jsonLoader?

关于javascript - Three.js:如何知道所有纹理是否已完全加载并显示(并且没有黑色矩形保留)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26591593/

相关文章:

javascript - CSS 过渡不透明度只能从 0 到 1,或者替代过渡效果

c# - 启用 URL 重新路由后 Ajax 停止工作

html - 在表中显示 check 或 x bool 值

javascript - Canvas 不在 JS/HTML 中绘制

javascript - 当 td id 已知时在 jquery 中设置 td 背景颜色

javascript - 为什么这个 CSS 过渡只能在某些点击时正常工作?如何解决?

asp.net - HTML 样式问题

java - 在 Java/android Canvas 上创建具有深度/3D 外观的形状

javascript - 有没有办法使用 Canvas 或其他方法在 HTML 中制作圆形图像?

javascript - 单击时更改 javascript 中的类