Exemplo n.º 1
0
        public void loop()
        {
            CommonInfo.mainFormHaveShown.WaitOne();
            while (true)
            {
                if (CommonInfo.isResolutionChanged)
                {
                    CommonInfo.ChangeResolution();
                }
                //更新scene
                mf.UpdatePrimitives();
                if (commandPool.Excute() > 0)
                {
                    CudaUtil.GenerateScene();
                }

                //更新面板
                mf.RefreshTransormPanel();
                //渲染图片
                renderBuffer.signal.WaitOne();               // 若当前bitmap为不可渲状态则等待,反之进行下一步

                CudaUtil.RenderScene(renderBuffer.index, 3); // 这里应该是 renderScene()
                renderBuffer.signal.Reset();                 //渲染完成后,当前bitmap变为不可渲
                renderBuffer.theOther.signal.Set();          //渲染完成后,当前bitmap变为 可被前端显示(简称可显) 状态
                renderBuffer = renderBuffer.next;            // 切换到下一个bitmap
            }
        }