Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2016, 13:57   #1
Rustam_Hacker
Пользователь
 
Регистрация: 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();
}
}
}
Rustam_Hacker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Один из примитивов 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