// static readonly List<Color32> s_Colors = new List<Color32>(); // public static void ModifyColorSpaceToLinear(this Mesh self) // { // self.GetColors(s_Colors); // // for (var i = 0; i < s_Colors.Count; i++) // s_Colors[i] = ((Color) s_Colors[i]).gamma; // // self.SetColors(s_Colors); // s_Colors.Clear(); // } public static void Clear(this CombineInstance[] self) { for (var i = 0; i < self.Length; i++) { MeshPool.Return(self[i].mesh); self[i].mesh = null; } }
public void Clear() { for (var i = 0; i < combineInstances.Count; i++) { var inst = combineInstances[i]; MeshPool.Return(inst.mesh); inst.mesh = null; combineInstances[i] = inst; } combineInstances.Clear(); MeshPool.Return(mesh); mesh = null; count = 0; hash = -1; index = -1; }
public void Combine() { switch (count) { case 0: return; case 1: mesh = combineInstances[0].mesh; transform = combineInstances[0].transform; return; default: { var cis = CombineInstanceArrayPool.Get(combineInstances); mesh = MeshPool.Rent(); mesh.CombineMeshes(cis, true, true); transform = Matrix4x4.identity; cis.Clear(); return; } } }
public static Mesh GetTemporaryMesh() { return(MeshPool.Rent()); }
public static void DiscardTemporaryMesh(Mesh mesh) { MeshPool.Return(mesh); }