Пример #1
0
        public void DrawSelectionInterface(double width, double height,
                                           double mouseDownPosX, double mouseDownPosY,
                                           double mouseCurrPosX, double mouseCurrPosY,
                                           OpenGLFlatShape shape)
        {
            GL.MatrixMode(MatrixMode.Projection);
            GL.PushMatrix();
            GL.LoadIdentity();
            GL.Ortho(0, width, 0, height, 0, 1000);
            GL.MatrixMode(MatrixMode.Modelview);
            GL.PushMatrix();
            GL.LoadIdentity();

            GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line);
            GL.Disable(EnableCap.CullFace);
            GL.Disable(EnableCap.DepthTest);

            DrawFlatShape((short)mouseDownPosX, (short)mouseDownPosY,
                          (short)mouseCurrPosX, (short)mouseCurrPosY,
                          shape);


            GL.Enable(EnableCap.CullFace);
            GL.Enable(EnableCap.DepthTest);

            GL.MatrixMode(MatrixMode.Projection);
            GL.PopMatrix();
            GL.MatrixMode(MatrixMode.Modelview);
            GL.PopMatrix();
        }
Пример #2
0
        public void DrawFlatShape(double mouseDownPosX, double mouseDownPosY,
                                  double mouseCurrPosX, double mouseCurrPosY,
                                  OpenGLFlatShape shape)
        {
            switch (shape)
            {
            case OpenGLFlatShape.Circle:
                DrawCircle((short)mouseDownPosX, (short)mouseDownPosY,
                           (short)mouseCurrPosX, (short)mouseCurrPosY);
                break;

            case OpenGLFlatShape.Rectangle:

                OpenTK.Graphics.Color4 color =
                    new OpenTK.Graphics.Color4(1.0f, 1.0f, 1.0f, 0.0f);
                SetColor(color);
                GL.Rects((short)mouseDownPosX, (short)mouseDownPosY,
                         (short)mouseCurrPosX, (short)mouseCurrPosY);
                break;
            }
        }
Пример #3
0
        public void DrawSelectionInterface(double width, double height, 
                         double mouseDownPosX, double mouseDownPosY, 
                         double mouseCurrPosX, double mouseCurrPosY,
                         OpenGLFlatShape shape)
        {
            GL.MatrixMode(MatrixMode.Projection);
            GL.PushMatrix();
            GL.LoadIdentity();
            GL.Ortho(0, width, 0, height, 0, 1000);
            GL.MatrixMode(MatrixMode.Modelview);
            GL.PushMatrix();
            GL.LoadIdentity();

            GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line);
            GL.Disable(EnableCap.CullFace);
            GL.Disable(EnableCap.DepthTest);

            DrawFlatShape((short)mouseDownPosX, (short)mouseDownPosY,
                       (short)mouseCurrPosX, (short)mouseCurrPosY,
                       shape);
           

            GL.Enable(EnableCap.CullFace);
            GL.Enable(EnableCap.DepthTest);

            GL.MatrixMode(MatrixMode.Projection);
            GL.PopMatrix();
            GL.MatrixMode(MatrixMode.Modelview);
            GL.PopMatrix();
        }
Пример #4
0
        public void DrawFlatShape(double mouseDownPosX, double mouseDownPosY, 
                         double mouseCurrPosX, double mouseCurrPosY,
                         OpenGLFlatShape shape)
        {
            switch (shape)
            {
                case OpenGLFlatShape.Circle:
                    DrawCircle((short)mouseDownPosX, (short)mouseDownPosY,
                      (short)mouseCurrPosX, (short)mouseCurrPosY);
                    break;
                case OpenGLFlatShape.Rectangle:

                    OpenTK.Graphics.Color4 color =
                        new OpenTK.Graphics.Color4(1.0f, 1.0f, 1.0f, 0.0f);
                    SetColor(color);
                    GL.Rects((short)mouseDownPosX, (short)mouseDownPosY, 
                             (short)mouseCurrPosX, (short)mouseCurrPosY);
                    break;
            }
        }