|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.01.2016, 13:57 | #1 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 25
|
С# OpenGL Риосвание 2D примитивов
Подскажите пожалуйста. Рисование 2D примитивов, такой вопрос откуда взять координаты или код написание буквы Т?
Код программы: private void button1_Click(object sender, EventArgs e) { // очищаем буфер цвета Gl.glClear(Gl.GL_COLOR_BUFFER_BIT); // очищаем текущую матрицу Gl.glLoadIdentity(); // устанавливаем текущий цвет - красный Gl.glColor3f(255, 0, 0); // активируем режим рисования линий на основе // последовательного соединения всех вершин в отрезки Gl.glBegin(Gl.GL_LINE_LOOP); // первая вершина будет находиться в начале координат Gl.glVertex2d(8, 7); Gl.glVertex2d(8, 27); Gl.glVertex2d(10, 27); Gl.glVertex2d(10, 9); Gl.glVertex2d(12, 9); Gl.glVertex2d(12, 27); Gl.glVertex2d(14, 27); Gl.glVertex2d(14, 9); Gl.glVertex2d(16, 9); Gl.glVertex2d(16, 27); Gl.glVertex2d(18, 27); Gl.glVertex2d(18, 7); // завершаем режим рисования Gl.glEnd(); // дожидаемся конца визуализации кадра Gl.glFlush(); // посылаем сигнал перерисовки элемента AnT. AnT.Invalidate(); } private void Form1_Load(object sender, EventArgs e) { // инициализация Glut Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_ RGB | Glut.GLUT_SINGLE); // очистка окна Gl.glClearColor(255, 255, 255, 1); // установка порта вывода в соответствии с размерами элемента anT Gl.glViewport(0, 0, AnT.Width, AnT.Height); // настройка проекции Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); // теперь необходимо корректно настроить 2D ортогональную проекцию // в зависимости от того, какая сторона больше // мы немного варьируем то, как будет сконфигурированный настройки проекции if ((float)AnT.Width <= (float)AnT.Height) { Glu.gluOrtho2D(0.0, 30.0 * (float)AnT.Height / (float)AnT.Width, 0.0, 30.0); } else { Glu.gluOrtho2D(0.0, 30.0 * (float)AnT.Width / (float)AnT.Height, 0.0, 30.0); } Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glLoadIdentity(); } } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Один из примитивов OpenGL. | Vova777 | Мультимедиа в Delphi | 0 | 08.10.2011 11:56 |
Изобразить на экране человечка (из графических примитивов), который прыгает в воду(на усмотрение: | Aktor1992 | Помощь студентам | 3 | 11.05.2011 13:39 |
скорость отрисовки примитивов в delphi (многа букав) | xrob | Помощь студентам | 0 | 19.10.2010 03:04 |
Паскаль. Вычерчивание графических примитивов. | uropb992 | Помощь студентам | 3 | 08.06.2010 17:02 |
Вывод примитивов в окно формы | CashaL0T | Общие вопросы .NET | 5 | 26.11.2008 00:57 |