Example #1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Glut.glutInit();

            Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE);

            Gl.glClearColor(255, 255, 255, 1);

            Gl.glViewport(0, 0, AnT.Width, AnT.Height);

            Gl.glMatrixMode(Gl.GL_PROJECTION);
            Gl.glLoadIdentity();

            if ((float)AnT.Width <= (float)AnT.Height)
            {
                ScreenW = 30.0;
                ScreenH = 30.0 * (float)AnT.Height / (float)AnT.Width;
                Gl.glOrtho(0.0, ScreenW, 0.0, ScreenH, 100, -100);
            }
            else
            {
                ScreenW = 30.0 * (float)AnT.Width / (float)AnT.Height;
                ScreenH = 30.0;
                Gl.glOrtho(0.0, 30.0 * (float)AnT.Width / (float)AnT.Height, 0.0, 30.0, 100, -100);
            }

            devX = (float)ScreenW / (float)AnT.Width;
            devY = (float)ScreenH / (float)AnT.Height;

            Gl.glMatrixMode(Gl.GL_MODELVIEW);

            PointInGrap.Stop();
        }
Example #2
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (!PointInGrap.Enabled)
     {
         PointInGrap.Start();
     }
 }
Example #3
0
        private void AnT_Load(object sender, EventArgs e)
        {
            GL.Viewport(0, 0, AnT.Width, AnT.Height);
            GL.MatrixMode(MatrixMode.Projection);
            GL.LoadIdentity();

            if (AnT.Width <= AnT.Height)
            {
                ScreenW = 30.0;
                ScreenH = 30.0 * AnT.Height / AnT.Width;
                GL.Ortho(0.0, ScreenW, 0.0, ScreenH, -1, 1);
            }
            else
            {
                ScreenH = 30.0;
                ScreenW = 30.0 * (float)AnT.Width / (float)AnT.Height;
                GL.Ortho(0.0, 30.0 * (float)AnT.Width / (float)AnT.Height, 0.0, 30.0, -1, 1);
            }

            devY = ScreenH / AnT.Height;
            devX = ScreenW / AnT.Width;

            GL.MatrixMode(MatrixMode.Modelview);

            PointInGrap.Start();
        }
Example #4
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //  Get the OpenGL object.
            OpenGL gl = AnT.OpenGL;

            //  Clear the color and depth buffer.
            gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
            gl.Viewport(0, 0, AnT.Size.Width, AnT.Size.Height);
            gl.MatrixMode(OpenGL.GL_PROJECTION);
            //  Load the identity matrix.
            gl.LoadIdentity();
            //gl.Ortho(-AnT.Size.Width/2.0f, AnT.Size.Width / 2.0f, -AnT.Size.Height / 2.0f, AnT.Size.Height / 2.0f, 0.0f, 1.0f);

            //gl.Ortho(-10, 10, -10, 10, -10, 10);

            // размер проекции в зависимости от размеров AnT
            if ((float)AnT.Size.Width <= (float)AnT.Size.Height)
            {
                ScreenW = size_p;
                ScreenH = size_p * (float)AnT.Size.Height / (float)AnT.Size.Width;
                //gl.Ortho2D(0.0, ScreenW, 0.0, ScreenH);
            }
            else
            {
                ScreenW = size_p * (float)AnT.Size.Width / (float)AnT.Size.Width;
                ScreenH = size_p;
                //gl.Ortho2D(0.0, ScreenW, 0.0, ScreenH);
            }
            gl.Ortho2D(-ScreenW, ScreenW, -ScreenH, ScreenH);

            // коэффициенты для перевода координат оконной системы в систему OpenGL
            devX = (float)(ScreenW * 2.0f) / (float)AnT.Size.Width;
            devY = (float)(ScreenH * 2.0f) / (float)AnT.Size.Height;

            // установка объектно-видовой матрицы
            gl.MatrixMode(OpenGL.GL_MODELVIEW);

            gl.Enable(OpenGL.GL_BLEND);
            //gl.BlendEquationEXT(OpenGL.GL_FUNC_ADD_EXT);
            gl.BlendFunc(OpenGL.GL_SRC_ALPHA, OpenGL.GL_ONE_MINUS_SRC_ALPHA);
            //gl.BlendFunc(OpenGL.GL_DST_ALPHA, OpenGL.GL_ONE_MINUS_SRC_ALPHA);
            //gl.BlendFunc(OpenGL.GL_ONE, OpenGL.GL_ONE_MINUS_SRC_ALPHA);
            //gl.BlendFunc(OpenGL.GL_ZERO, OpenGL.GL_ONE_MINUS_CONSTANT_ALPHA_EXT);

            //gl.Enable(OpenGL.GL_POINT_SMOOTH);
            gl.Disable(OpenGL.GL_DEPTH_TEST);

            //gl.BlendColor(0.1f, 0.1f, 0.1f, 0.0f);

            // gl.BlendFunc(OpenGL.GL_SRC_ALPHA, OpenGL.GL_ONE);
            gl.LoadIdentity();

            // старт счетчика таймера
            PointInGrap.Start();
        }
Example #5
0
 private void button3_Click(object sender, EventArgs e)
 {
     PointInGrap.Stop();
 }