Exemple #1
0
 /** Return the next chunk that should have a new mesh generated */
 public ChunkRenderTask GetNextRenderChunk()
 {
     lock (renderQueue)
     {
         if (renderQueue.Count > 0)
         {
             ChunkRenderTask result = renderQueue[0];
             renderQueue.RemoveAt(0);
             return(result);
         }
         else
         {
             return(null);
         }
     }
 }
Exemple #2
0
    /** Render a chunk and queue it for update */
    public void PerformRenderTask(ChunkRenderTask task)
    {
        MeshBuildInfo info = RenderChunk(task.pos);

        lock (updateQueue) updateQueue.Add(new ChunkUpdateTask(task.pos, info));
    }