public void TrySubdivideOver(WorldPos pos) { if (toGenerate == null) { toGenerate = new WeightedSegmentsList() { cam = Camera } } ; toGenerate.Clear(); ShadersReloadedCheck(); foreach (var rootSegment in rootSegments) { if (rootSegment.GenerationBegan == false) { // first generate rootCunks toGenerate.Add(rootSegment, float.MaxValue); } else { // then their children GatherWeights(toGenerate, rootSegment, 0); } } Debug.AddValue("generation / segments to generate", toGenerate.Count); toGenerateOrdered = new Queue <Segment>(toGenerate.GetWeighted()); }
public void CalculateWorkQueue(SubdivisionData data) { toGenerate.Clear(); toGenerate.data = data; foreach (var chunk in rootChildren) { GatherWeights(toGenerate, chunk, 0); } //toGenerateOrdered = new Queue<Segment>(toGenerate.GetWeighted()); }