diff --git a/src/InstanceManager.hx b/src/InstanceManager.hx index 4a5937d4..db69e8e3 100644 --- a/src/InstanceManager.hx +++ b/src/InstanceManager.hx @@ -224,6 +224,8 @@ class InstanceManager { minfo.baseBounds = isMesh ? @:privateAccess cast(minfo.meshbatch.primitive, Instanced).baseBounds : null; if (isMesh) { + minfo.transparencymeshbatch = new MeshBatch(cast(cast(obj, MultiMaterial).primitive), null, scene); + minfo.transparencymeshbatch.materials = []; minfo.meshbatch.materials = []; for (mat in cast(obj, MultiMaterial).materials) { var matclone:Material = cast mat.clone(); @@ -272,9 +274,6 @@ class InstanceManager { var matclonetransp:Material = cast mat.clone(); - minfo.transparencymeshbatch = new MeshBatch(cast(cast(obj, MultiMaterial).primitive), null, scene); - minfo.transparencymeshbatch.materials = []; - matclonetransp.mainPass.removeShader(minfo.meshbatch.material.textureShader); matclonetransp.mainPass.addShader(dtsshader);