| 12345678910111213141516171819202122232425262728293031323334353637 |
- // 材质销毁
- const materialDispose = (material) => {
- if (material instanceof Array) {
- material.forEach(materialDispose)
- } else {
- if (material.map) {
- material.map.dispose()
- }
- material.dispose()
- }
- }
- // 销毁
- const deallocate = (obj) => {
- if (obj.geometry) {
- obj.geometry.dispose()
- }
- if (obj.material) {
- materialDispose(obj.material)
- }
- if (obj.texture) {
- obj.texture.dispose()
- }
- if (obj.children) {
- obj.children.forEach(deallocate)
- }
- }
- // 清空对象
- const emptyObject = (obj) => {
- if (obj && obj.children)
- while (obj.children.length) {
- const childObj = obj.children[0]
- obj.remove(childObj)
- deallocate(childObj)
- }
- }
- export { emptyObject, deallocate }
|