protected override void Draw()
        {
            if (bDoNotDraw)
            {
                return;
            }

            GraphicsDevice.SamplerStates[0] = SamplerState.LinearWrap;
            GraphicsDevice.Clear(Color.CornflowerBlue);

            GraphicsDevice.BlendState        = BlendState.Opaque;
            GraphicsDevice.DepthStencilState = DepthStencilState.Default;

            if (DrawDrid)
            {
                _grid.Draw();
            }

            if (DrawingMode.HasFlag(EditorDrawMode.Shaded))
            {
                Engine.Draw(GraphicsDevice);
            }

            if (DrawingMode.HasFlag(EditorDrawMode.Wireframe))
            {
                var oldrs = GraphicsDevice.RasterizerState;
                var rs    = new RasterizerState {
                    FillMode = FillMode.WireFrame
                };
                GraphicsDevice.RasterizerState = rs;

                Engine.Draw(GraphicsDevice);

                GraphicsDevice.RasterizerState = oldrs;
            }

            Gizmo.UpdateCameraProperties(Camera.viewMatrix, Camera.projMatrix, _Camera3d.CameraPos);
            Gizmo.Draw();
        }