Beispiel #1
0
        public virtual void Draw()
        {
            //Init New Frame before drawing components
            Engine.ImmediateContext.ClearRenderTargetView(Engine.RenderTarget, BackBufferColor);
            Engine.ImmediateContext.ClearDepthStencilView(Engine.DepthStencilTarget, DepthStencilClearFlags.Depth, 1.0f, 0);

            //Draw everything
            for (int i = 0; i < _visibleDrawable.Count; i++)
            {
                DrawableComponentHolder drawComponent = _visibleDrawable[i];
                if (ComponentsPerfMonitor.Updatable)
                {
                    ComponentsPerfMonitor.StartMesure(drawComponent.DrawableComponent, "Draw", drawComponent.DrawOrder.DrawID);
                    drawComponent.DrawableComponent.Draw(Engine.ImmediateContext, drawComponent.DrawOrder.DrawID);
                    ComponentsPerfMonitor.StopMesure(drawComponent.DrawableComponent, "Draw", drawComponent.DrawOrder.DrawID);
                }
                else
                {
                    drawComponent.DrawableComponent.Draw(Engine.ImmediateContext, drawComponent.DrawOrder.DrawID);
                }
            }
            Present();
        }
Beispiel #2
0
 private static int DrawableComparison(DrawableComponentHolder x, DrawableComponentHolder y)
 {
     return(x.DrawOrder.Order - y.DrawOrder.Order);
 }