Вот, собственно, код:
| Код | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; // для работы с библиотекой OpenGL using Tao.OpenGl; // для работы с библиотекой FreeGLUT using Tao.FreeGlut; // для работы с элементом управления SimpleOpenGLControl using Tao.Platform.Windows;
namespace OpenGLTEST { public partial class Form1 : Form { public Form1() { InitializeComponent(); OGC.InitializeContexts(); }
private void Form1_Load(object sender, EventArgs e) { }
private void button1_Click(object sender, EventArgs e) { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH);
// очитка окна Gl.glClearColor(255, 255, 255, 1);
// установка порта вывода в соотвествии с размерами элемента anT Gl.glViewport(0, 0, OGC.Width, OGC.Height);
// настройка проекции Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); Glu.gluPerspective(45, (float)OGC.Width / (float)OGC.Height, 0.1, 200); Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glLoadIdentity();
// настройка параметров OpenGL для визуализации 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.glLoadIdentity(); Gl.glColor3i(255, 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(); OGC.Invalidate(); } } }
|
Выкидывает исключение на Glut.glutInit(). Ломаю голову что не так. |