Beispiel #1
0
        public void Draw(IEnumerable <IRenderable> renderables, DrawModeFlag modeFlag = DrawModeFlag.Normal)
        {
            device.SetRenderTarget(null);
            device.Clear(ClearOptions.DepthBuffer, Color.Black, 1.0f, 0);
            device.BlendState        = BlendState.AlphaBlend;
            device.DepthStencilState = DepthStencilState.Default;

            drawEffect.View       = Camera.View;
            drawEffect.Projection = Camera.Projection;
            drawEffect.EnableDefaultLighting();

            drawSpriteEffect.View       = Camera.View;
            drawSpriteEffect.Projection = Camera.Projection;

            renderContext.Camera = Camera;
            renderContext.BeginScene(drawEffect, drawSpriteEffect, device);

            if (modeFlag == DrawModeFlag.Normal)
            {
                foreach (var node in renderables)
                {
                    node.DrawEx(renderContext);
                }
            }

            debug.Begin(Matrix.Identity, Camera.View, Camera.Projection);
            foreach (var line in debugLines)
            {
                debug.Line(line.Item1, line.Item2);
            }
            debug.Flush();
            debugLines.Clear();
        }