private void Draw() { Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glPopMatrix(); Gl.glMatrixMode(Gl.GL_MODELVIEW); //cam.Look(); Glu.gluPerspective(45, (float)AnT.Width / (float)AnT.Height, 0.1, 200); Gl.glTranslated(a, b, c); Gl.glRotated(dY, 0, 1, 0); Gl.glRotated(dX, 1, 0, 0); Gl.glRotated(dZ, 0, 0, 1); Gl.glScaled(zoom, zoom, zoom); if (Model != null) { Model.DrawModel(); } //Glut.glutSolidCone(2, 10, 12, 10); Gl.glPopMatrix(); Gl.glFlush(); AnT.Invalidate(); }
// функция Draw private void Draw() { // Get the OpenGL object. OpenGL gl = AnT.OpenGL; // очищаем буфер цвета gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT); // активируем рисование в режиме GL_TRIANGLES, при котором задание // трех вершин с помощью функции glVertex2d или glVertex3d // будет объединяться в трехгранный полигон (треугольник) gl.Begin(OpenGL.GL_TRIANGLES); // устанавливаем параметр цвета, основанный на параметрах a b c gl.Color(a, b, c); //gl.Color(1.0f, 1.0f, 1.0f); // рисуем вершину в координатах 5,5 gl.Vertex(5.0, 5.0); // устанавливаем параметр цвета, основанный на параметрах с a b gl.Color(c, a, b); // рисуем вершину в координатах 25,5 gl.Vertex(25.0, 5.0); // устанавливаем параметр цвета, основанный на параметрах b c a gl.Color(b, c, a); // рисуем вершину в координатах 25,5 gl.Vertex(5.0, 25.0); // завершаем режим рисования примитивов gl.End(); // дожидаемся завершения визуализации кадра gl.Flush(); // обновляем изображение в элементе AnT AnT.Invalidate(); }
private void trackBar2_Scroll(object sender, EventArgs e) { vanishingPointOY = trackBar2.Value; Ylabel.Text = "0;" + vanishingPointOY.ToString() + ";0"; yVanishingPoint = 1.0f / (float)vanishingPointOY;//100 для проверки, выяснить сколько надо брать AnT.Focus(); }
private void Draw() { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glLoadIdentity(); Gl.glPushMatrix(); // используем параметры для установленной камеры Gl.glTranslated(camera[0], camera[1], camera[2]); Gl.glScaled(camera[6], camera[6], camera[6]); Gl.glRotated(camera[3], 1, 0, 0); Gl.glRotated(camera[4], 0, 1, 0); Gl.glRotated(camera[5], 0, 0, 1); DrawGround(); DrawBench(); DrawRail(); Gl.glPushMatrix(); Gl.glRotated(leverRotation, 0, 0, 1); DrawLever(); Gl.glPopMatrix(); Gl.glPopMatrix(); Gl.glFlush(); // обновляем окно AnT.Invalidate(); }
public fmMain(fmSplash screenform) { InitializeComponent(); AnT.InitializeContexts(); // ініціалізація элемента SimpleOpenGLControl screenform.Hide(); screenform.Dispose(); }
private void trackBar1_Scroll(object sender, EventArgs e) { vanishingPointOX = trackBar1.Value; Xlabel.Text = vanishingPointOX.ToString() + ";0;0;"; xVanishingPoint = 1.0f / (float)vanishingPointOX; //100 для проверки, выяснить сколько надо брать AnT.Focus(); }
public Form1() { InitializeComponent(); AnT.InitializeContexts(); Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH); // очитка окна Gl.glClearColor(255, 255, 255, 1); // установка порта вывода в соотвествии с размерами элемента anT Gl.glViewport(0, 0, AnT.Width, AnT.Height); // настройка проекции Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); Glu.gluPerspective(45, (float)AnT.Width / (float)AnT.Height, 0.1, 200); Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glLoadIdentity(); // настройка параметров OpenGL для визуализации Gl.glEnable(Gl.GL_DEPTH_TEST); timer1 = new Timer(); timer1.Interval = 500; timer1.Tick += NeedReDraw; timer1.Enabled = true; }
private void timer1_Tick(object sender, EventArgs e) { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Scene.DrawScene(); AnT.Invalidate(); if (keysDown[0]) { Scene.CarSpeed += 0.3; } if (keysDown[1]) { Scene.CarSpeed -= 0.3; } if (keysDown[2]) { Scene.keyUp = true; Scene.AngleFrontWheel -= 0.5; } if (keysDown[3]) { Scene.keyUp = true; Scene.AngleFrontWheel += 0.5; } }
public Form1() { InitializeComponent(); AnT.InitializeContexts(); M = ReadFile(); }
private void Form1_Load(object sender, EventArgs e) { AnT.InitializeContexts(); AnT.SwapBuffers(); AnT.Load += new EventHandler(AnT_Load); AnT.MouseMove += new System.Windows.Forms.MouseEventHandler(glOnMouseMove); AnT.SizeChanged += new EventHandler(AnT_SizeChanged); AnT_SizeChanged(sender, e); LastTransformation.SetIdentity(); // Reset Rotation ThisTransformation.SetIdentity(); // Reset Rotation ThisTransformation.get_Renamed(matrix); MouseControl mouseControl = new MouseControl(AnT); mouseControl.AddControl(AnT); mouseControl.LeftMouseDown += new MouseEventHandler(glOnLeftMouseDown); mouseControl.LeftMouseUp += new MouseEventHandler(glOnLeftMouseUp); mouseControl.RightMouseDown += new MouseEventHandler(glOnRightMouseDown); mouseControl.RightMouseUp += new MouseEventHandler(glOnRightMouseUp); mouseControl.MiddleMouseDown += new MouseEventHandler(glOnMiddleMouseDown); mouseControl.MiddleMouseUp += new MouseEventHandler(glOnMiddleMouseUp); foreach (Cube myCube in Model) { myCube.Origin = new Cube(); myCube.TransCube = new Cube(); myCube.Origin.Initialize(myCube.vertices); } }
public MainForm() { InitializeComponent(); AnT.InitializeContexts(); Icon = Properties.Resources.icon; AnT.MouseWheel += new MouseEventHandler(AnT_MouseWheel); }
public Form1() { InitializeComponent(); // инициализация элемента SimpleOpenGLControl (AnT) AnT.InitializeContexts(); }
// функция отрисовки private void Draw() { // если текстура загружена if (textureIsLoad) { // увеличиваем угол поворота rot++; // корректируем угол if (rot > 360) { rot = 0; } // очистка буфера цвета и буфера глубины Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glClearColor(255, 255, 255, 1); // очищение текущей матрицы Gl.glLoadIdentity(); // включаем режим текстурирования Gl.glEnable(Gl.GL_TEXTURE_2D); // включаем режим текстурирования , указывая индификатор mGlTextureObject Gl.glBindTexture(Gl.GL_TEXTURE_2D, mGlTextureObject); // сохраняем состояние матрицы Gl.glPushMatrix(); // выполняем перемещение для более наглядного представления сцены Gl.glTranslated(0, -1, -5); // реализуем поворот объекта Gl.glRotated(rot, 0, 1, 0); // отрисовываем полигон Gl.glBegin(Gl.GL_QUADS); // указываем поочередно вершины и текстурные координаты Gl.glVertex3d(1, 1, 0); Gl.glTexCoord2f(0, 0); Gl.glVertex3d(1, 0, 0); Gl.glTexCoord2f(1, 0); Gl.glVertex3d(0, 0, 0); Gl.glTexCoord2f(1, 1); Gl.glVertex3d(0, 1, 0); Gl.glTexCoord2f(0, 1); // завершаем отрисовку Gl.glEnd(); // возвращаем матрицу Gl.glPopMatrix(); // отключаем режим текстурирования Gl.glDisable(Gl.GL_TEXTURE_2D); // обновлеям элемент со сценой AnT.Invalidate(); } }
private void incomingData(string data) { //log(data); //вывод 4-х приходящих значений в лог List <string> ar = data.Split(':').ToList(); if (ar.Count != 4) { return; } Gl.glClear(Gl.GL_COLOR_BUFFER_BIT); // очищаем буфер цвета Gl.glLoadIdentity(); // очищаем текущую матрицу Gl.glColor3f(1f, 1f, 1f); //drawLine(-1, 0, 1, 0); for (int i = -100; i < 100; i++) { float color = ((i % 10) == 0) ? 0.5f : 0.1f; if (0 == i) { color = 1f; } Gl.glColor3f(color, color, color); drawLine((float)i / 10, -1, (float)i / 10, 1); drawLine(-10, (float)i / 100000, 10, (float)i / 100000); } //LOG(OCR2A);LOG(":");LOG(analogRead(0));LOG(":");LOG(analogRead(1));LOG(":");LOGLN(analogRead(2)); float aref = 5, r1 = 10000; float a0 = (float)Int16.Parse(ar[1]) * aref / 1024; float a1 = (float)Int16.Parse(ar[2]) * aref / 1024; float a2 = (float)Int16.Parse(ar[3]) * aref / 1024; float uD = a1 - a0; float iD = (a0 - a2) / r1; log("U = " + uD + " " + " I = " + iD); float[] point = { uD, iD }; points.Add(point); float[] prevArr = null; foreach (float[] curArr in points) { if (null != prevArr) { Gl.glColor3f(1f, 0f, 0f); Gl.glBegin(Gl.GL_LINE_STRIP); Gl.glVertex2d(prevArr[0], prevArr[1]); Gl.glVertex2d(curArr[0], curArr[1]); Gl.glEnd(); } prevArr = curArr; } Gl.glFlush(); AnT.Invalidate(); }
private void timer1_Tick(object sender, EventArgs e) { if (((Form1)this.Owner).timer1.Enabled) { ((Form1)this.Owner).parametrs.rotate += 1 * trackBar1.Value; } AnT.Refresh(); timer1.Interval = ((Form1)this.Owner).timer1.Interval; }
public void Draw(IDrawable o) { //Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glLoadIdentity(); Gl.glPushMatrix(); Gl.glTranslated(0, 0, -6); //Gl.glRotated(45, 1, 1, 0); // рисуем сферу с помощью библиотеки FreeGLUT //Glut.glutWireSphere(2, 32, 32); #region backlight if (o.state == State.Repast._N_constant_object) { Gl.glColor3f(0, 1f, 0); } if (o.state == State.Sex._N_constant_object) { Gl.glColor3f(0, 1f, 1f); } if (o.state == State.Attack._N_constant_object) { Gl.glColor3f(1f, 1f, 0); } if (o.state == State.Kicked._N_constant_object) { Gl.glColor3f(1f, 0, 1f); } if (o.state != State.Default._N_constant_object) { //Gl.glColor3f(1f, 1f, 1f); Gl.glBegin(Gl.GL_QUADS); float boundary = 0.1f; Gl.glVertex2d(o.X - boundary * o.Width, o.Y - boundary * o.Width); Gl.glVertex2d(o.X + o.Width + boundary * o.Width, o.Y - boundary * o.Width); Gl.glVertex2d(o.X + o.Width + boundary * o.Width, o.Y + o.Height + boundary * o.Width); Gl.glVertex2d(o.X - boundary * o.Width, o.Y + o.Height + boundary * o.Width); Gl.glEnd(); } #endregion Gl.glColor3f(o.R, o.G, o.B); Gl.glBegin(Gl.GL_QUADS); Gl.glVertex2d(o.X, o.Y); Gl.glVertex2d(o.X + o.Width, o.Y); Gl.glVertex2d(o.X + o.Width, o.Y + o.Height); Gl.glVertex2d(o.X, o.Y + o.Height); Gl.glEnd(); Gl.glPopMatrix(); Gl.glFlush(); AnT.Invalidate(); }
void drawPoints() { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT); Gl.glLoadIdentity(); Gl.glColor3f(255, 0, 0); Gl.glPointSize(4); Gl.glBegin(Gl.GL_POINTS); //Gl.glVertex2d(0, 0); double mnx = inf, mny = inf, mxx = -inf, mxy = -inf; for (int i = 0; i < nn; ++i) { if (x[i] < mnx) { mnx = x[i]; } if (x[i] > mxx) { mxx = x[i]; } if (y[i] < mny) { mny = y[i]; } if (y[i] > mxy) { mxy = y[i]; } } mnx -= 5; mny -= 5; mxx += 5; mxy += 5; for (int i = 0; i < nn; ++i) { if ((float)AnT.Width <= (float)AnT.Height) { Gl.glVertex2d(30 * (x[i] - mnx) / (mxx - mnx) * (float)AnT.Height / (float)AnT.Width, 30 * (y[i] - mny) / (mxy - mny)); } else { Gl.glVertex2d(30 * (x[i] - mnx) / (mxx - mnx) * (float)AnT.Height / (float)AnT.Width, 30 * (y[i] - mny) / (mxy - mny)); } } Gl.glEnd(); Gl.glFlush(); AnT.Invalidate(); }
private void button5_Click(object sender, EventArgs e) { Gl.glClearColor(255, 255, 255, 255); Gl.glColor3f(1.0f, 0, 0); Glut.glutWireCube(1.0f); Gl.glPopMatrix(); Gl.glFlush(); AnT.Invalidate(); }
public Form1() { InitializeComponent(); // инициализация элемента SimpleOpenGLControl (AnT) AnT.InitializeContexts(); Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH); }
private void AnT_MouseMove(object sender, MouseEventArgs e) { if (pressed) { cmbBoxArea.SelectedIndex = 1; PosCam.Z = 0.5 * (lastAngleZ + (e.Y - lastMouseX) / 5); PosCam.X = Step * (lastPosX - (e.Y - lastMouseY) / 50 * Math.Sin(AngleZ * Math.PI / 180)); PosCam.X = 0.7 * (lastPosY + (e.X - lastMouseY) / 50 * Math.Cos(AngleZ * Math.PI / 180)); AnT.Invalidate(); } }
private void button1_Click(object sender, EventArgs e) { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT); Gl.glClearColor(1, 1, 1, 1); X0 = AnT.Width - 5; Y0 = 3; step = (AnT.Width - 10) / (Math.Pow(2, level) - 1); Draw_Fractal(ref newX, level); Gl.glFlush(); AnT.Invalidate(); }
private void movementObjects(object sender, EventArgs e) { speedSpace += speedSpaceStart / 150; //Скорость вращения сферы космоса и солнца totalSpeed += totalSpeedStart; //Общая скорость вращения планет rotateSpeed += rotateSpeedStart; //Общая скорость вращения планет вокруг своей оси if (chExplosion.Checked) { solS.UpdateFrameExplosion(); } AnT.Invalidate(); }
private void Draw() { Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); float[] m = new float[] { 1, 0, 0, xVanishingPoint, 0, 1, 0, yVanishingPoint, 0, 0, 1, 0, 0, 0, 0, 1 }; Gl.glLoadMatrixf(m); Gl.glOrtho(-6, 6, -6, 6, -10, 50); //Gl.glOrtho(-(double)AnT.Width, (double)AnT.Width, -(double)AnT.Height, (double)AnT.Height, -10, 10); //Glu.gluPerspective(45, (float)AnT.Width / (float)AnT.Height, 2, 200); Glu.gluLookAt(Xcam, Ycam, Zkam, Xpoint, Ypoint, Zpoint, 0, 1, 0); Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glLoadIdentity(); Gl.glEnable(Gl.GL_DEPTH_TEST); Gl.glEnable(Gl.GL_LIGHTING); Gl.glEnable(Gl.GL_LIGHT0); Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glClearColor(255, 255, 255, 1); Gl.glLoadIdentity(); Gl.glPushMatrix(); Gl.glTranslated(a, b, c); Gl.glRotated(d, 0, 1, 0); Gl.glRotated(d, 1, 0, 0); Gl.glRotated(d, 0, 0, 1); //Gl.glRotated(d, os_x, os_y, os_z); Gl.glScaled(zoom, zoom, zoom); switch (FigureChanger.SelectedIndex)//тетраэдр гексаэдр октаэдр { case 0: { Glut.glutWireTetrahedron(); } break; case 1: { Glut.glutWireCube(1); } break; case 2: { Glut.glutWireOctahedron(); } break; } Gl.glPopMatrix(); Gl.glFlush(); AnT.Invalidate(); }
private void button1_Click(object sender, EventArgs e) { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glLoadIdentity(); Gl.glColor3f(0, 0, 128); Gl.glPushMatrix(); Gl.glTranslated(0, 0, -6); Gl.glRotated(45, 1, 1, 0); Glut.glutWireSphere(2, 32, 32); Gl.glPopMatrix(); Gl.glFlush(); AnT.Invalidate(); }
float [] fogColor = { 0.5f, 0.5f, 0.5f, 1.0f }; // Цвет тумана #endregion #region Запуск public Form1() { InitializeComponent(); CreateField(); AnT.InitializeContexts(); InitGL(); ResizeViewport(AnT.Width, AnT.Height); LoadShaders(); }
public void DrawNet() { Gl.glLineWidth(1); //Х for (int ax = -16; ax <= 14; ax += 2) { Gl.glBegin(Gl.GL_LINES); Gl.glColor3f(0, 0, 0); Gl.glVertex2f(-0.5f, ax); Gl.glVertex2f(0.5f, ax); Gl.glEnd(); PrintText2D(ax, -1.5f, ax.ToString()); } //У for (int ax = 16; ax >= -14; ax -= 2) { Gl.glBegin(Gl.GL_LINES); Gl.glColor3f(0, 0, 0); Gl.glVertex2f(ax, -0.5f); Gl.glVertex2f(ax, 0.5f); Gl.glEnd(); PrintText2D(-1.5f, ax, ax.ToString()); } // завершуємо малювати примітиви // режим малювання, обєднуєм в лінію кожні 2 точки // завершуємом режим малювання // виводимо написи на графіках //PrintText2D(-6.7f, 1.0f, "-PI"); //PrintText2D(11.5f, 1.0f, "2PI"); // очікуємо завершення візуалізації кадра Gl.glFlush(); // сигнал для оновлення елемента AnT.Invalidate(); }
//Сфера private void timer3_Tick(object sender, EventArgs e) { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glLoadIdentity(); Gl.glColor3b(120, 255, 120); Gl.glPushMatrix(); Gl.glTranslated(0, 0, -12); Gl.glRotated(60 + p, 10, 12, -5); Glut.glutWireSphere(2, 32, 32);// рисуем сферу с помощью библиотеки FreeGLUT Gl.glPopMatrix(); Gl.glFlush(); AnT.Invalidate(); p += 10; }
public Form1() { InitializeComponent(); AnT.InitializeContexts(); console = new Console(); console.Show(); OpenGl.Init(AnT); //инициализировать openGl OpenGl.ScreenMode(this, AnT, false); //установить оконный режим //событие на движение колесика мышки this.MouseWheel += new MouseEventHandler(this.Form1_Wheel); }
private void Drawing() // функція прорисовки { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); // очистка буфера кольору і глибини Gl.glLoadIdentity(); // очистка поточної матриці Gl.glColor3f(0, 0, 0); // установка черного кольору ProgrammDrawingEngine.SwapImage(); // візуалізація зображення ProgrammDrawingEngine.SetColor(DrawColor); if (miViewXY.Checked) { TextXY(Mouse_X + 8f, Mouse_Y + 12f, "[" + (Mouse_X).ToString() + ";" + (Mouse_Y).ToString() + "]"); } Gl.glFlush(); // чекаємо завершення візуалізації кадра AnT.Invalidate(); // оновлення SimpleOpenGLControl }
void sphere() { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glLoadIdentity(); Gl.glColor3f(0f, 0, 0); Gl.glPushMatrix(); Gl.glTranslated(0, 0, -6); Gl.glRotated(45, 1, 1, 0); // рисуем сферу с помощью библиотеки FreeGLUT Glut.glutWireSphere(2, 32, 32); Gl.glPopMatrix(); Gl.glFlush(); AnT.Invalidate(); }