Feat/map-environment #6

Merged
math-pixel merged 116 commits from feat/map-environment into develop 2026-05-29 00:00:51 +00:00
Showing only changes of commit 5c55f2c7f4 - Show all commits
+42
View File
@@ -0,0 +1,42 @@
import * as THREE from "three";
export function disposeObject3D(object: THREE.Object3D): void {
object.traverse((child) => {
if (child instanceof THREE.Mesh) {
child.geometry?.dispose();
if (Array.isArray(child.material)) {
for (const material of child.material) {
disposeMaterial(material);
}
} else if (child.material) {
disposeMaterial(child.material);
}
}
});
}
function disposeMaterial(material: THREE.Material): void {
material.dispose();
for (const key of Object.keys(material)) {
const value = (material as Record<string, unknown>)[key];
if (value instanceof THREE.Texture) {
value.dispose();
}
}
}
export function disposeInstancedMesh(mesh: THREE.InstancedMesh): void {
mesh.geometry?.dispose();
if (Array.isArray(mesh.material)) {
for (const material of mesh.material) {
disposeMaterial(material);
}
} else if (mesh.material) {
disposeMaterial(mesh.material);
}
mesh.dispose();
}