static void ProcessMessageQueue(MessageFilterDelegate filter = null) { MyRenderProxy.AssertRenderThread(); while (true) { bool isPreFrame; MyUpdateFrame frame = SharedData.GetRenderFrame(out isPreFrame); if (frame == null) { return; } MyRender.CurrentUpdateTime = frame.UpdateTimestamp; if (isPreFrame) { MyRender.GetRenderProfiler().StartProfilingBlock("ProcessMessageQueue.ProcessPreFrame"); ProcessPreFrame(frame, filter); MyRender.GetRenderProfiler().EndProfilingBlock(); SharedData.ReturnPreFrame(frame); } else { MyRender.GetRenderProfiler().StartProfilingBlock("ProcessMessageQueue.ProcessRenderFrame"); ProcessRenderFrame(frame, filter); MyRender.GetRenderProfiler().EndProfilingBlock(); MyRender.GetRenderProfiler().StartProfilingBlock("ProcessMessageQueue.MyRenderClipmap.UpdateQueued"); MyRenderClipmap.UpdateQueued(); MyRender.GetRenderProfiler().EndProfilingBlock(); return; } } }
static void ClearDrawMessages() { MyRenderProxy.AssertRenderThread(); m_drawMessages.Clear(); m_debugDrawMessages.Clear(); }