我正在尝试在 Three.js 中加载纹理后处理该纹理。 我用
加载它var tex = THREE.ImageUtils.loadTexture("image.png");
显示效果很好。但当我尝试时:
tex.dispose();
我每次都会收到“Uncaught TypeError: Object [object Object] has no method 'dispose'”。
我错过了什么吗?
谢谢
应该可以。请参阅https://github.com/mrdoob/ Three.js/blob/master/src/textures/Texture.js#L83
但是,您可能使用的是旧版本的 Three.js,该版本仍然使用
deallocate()
..?
参加这个聚会已经很晚了:)但是我在尝试在 ThreeJS 中使用texture.dispose()方法时看到了这篇文章,但没有成功。每次我更改场景中平面上的材质时,整体纹理计数都会不断增加,导致 IOS 在处理大型纹理时崩溃。答案是先处理平面材质上的漫反射、法线和粗糙度贴图,然后再设置新材质。 ` 私有静态 UpdatePlaneMaterial(材质:任意) { 让平面:any = LayingPatternViewer.scene.getObjectById(LayingPatternViewer.horizontalPlaneId);
if (plane) {
plane.material.map.dispose();
plane.material.normalMap.dispose();
plane.material.roughnessMap.dispose();
plane.material = material;
this.Animate();
}
}`