public static void Start(Args args) { MyPrecalcJobPhysicsPrefetch work = m_instancePool.Allocate(); work.m_args = args; args.Tracker.Add(args.GeometryCell, work); MyPrecalcComponent.EnqueueBack(work); }
public static void Start(Args args) { var job = m_instancePool.Allocate(); job.m_args = args; args.Tracker.Add(args.GeometryCell, job); MyPrecalcComponent.EnqueueBack(job); }
public static void Start(MyVoxelPhysicsBody targetPhysics, ref HashSet <Vector3I> cellBatchForSwap) { var job = m_instancePool.Allocate(); job.m_targetPhysics = targetPhysics; MyUtils.Swap(ref job.CellBatch, ref cellBatchForSwap); Debug.Assert(targetPhysics.RunningBatchTask == null); targetPhysics.RunningBatchTask = job; MyPrecalcComponent.EnqueueBack(job, true); }
public static void Start(MyVoxelPhysicsBody targetPhysics, ref HashSet <Vector3I> cellBatchForSwap, int lod) { MyPrecalcJobPhysicsBatch job = m_instancePool.Allocate(); job.Lod = lod; job.m_targetPhysics = targetPhysics; MyUtils.Swap <HashSet <Vector3I> >(ref job.CellBatch, ref cellBatchForSwap); targetPhysics.RunningBatchTask[lod] = job; MyPrecalcComponent.EnqueueBack(job); }
public static void Start(Args args) { Debug.Assert(args.Storage != null); var job = m_instancePool.Allocate(); job.m_isCancelled = false; job.m_args = args; args.RenderWorkTracker.Add(args.WorkId, job); MyPrecalcComponent.EnqueueBack(job, false /*job.m_args.IsHighPriority*/); }
public static void Start(Args args) { Debug.Assert(args.Storage != null); var job = m_instancePool.Allocate(); job.m_isCancelled = false; job.m_args = args; if (!args.RenderWorkTracker.Exists(args.WorkId)) { args.RenderWorkTracker.Add(args.WorkId, job); } MyPrecalcComponent.EnqueueBack(job); }
public static void Start(Args args) { var job = m_instancePool.Allocate(); Debug.Assert(job.m_outBatches.Count == 0, "Merge job batches not cleared"); job.m_isCancelled = false; job.m_args = args; if (!args.RenderWorkTracker.Exists(args.WorkId)) { args.RenderWorkTracker.Add(args.WorkId, job); } MyPrecalcComponent.EnqueueBack(job); }