1. Предисловие
Отрисовка графики Delphi может быть завершена между glBegin() и glEnd(). Код рамки рисования может использовать код инициализации рисования OpenGL2d в Delphi. Подробное содержимое можно найти на этом сайте //www.VeVB.COm/article. /52141.htm . Измененная часть — это содержимое функции Draw.
2. Нарисуйте очки
Используйте функцию glPointSize, чтобы указать диаметр растровых точек. По умолчанию установлено значение 1.0, которое работает только под GL_POINTS. Сглаживание и другие функции мы изучим позже. Используйте glBegin(GL_POINTS), чтобы указать OpenGL рисовать точки. Параметр GL_POINTS представляет точки, а также существуют другие параметры, такие как рисование линий GL_LINES и т. д. Для получения подробной информации обратитесь к исходному коду модуля OpenGL. Функции glBegin() и glEnd() описываются следующим образом:
Прототип функции:
void glBegin (режим GLenum)
недействительный glEnd (недействительный)
Описание параметра:
режим: тип созданного примитива. Могут быть следующие значения
GL_POINTS: обрабатывать каждую вершину как точку. Вершина n определяет точку n, и всего рисуется N точек.
GL_LINES: рассматривать каждую вершину как независимый сегмент линии. Между вершинами 2n-1 и 2n определено в общей сложности n сегментов линии, а всего нарисовано N/2 сегментов линии.
GL_LINE_STRIP: Нарисуйте набор сегментов линии, соединенных последовательно от первой вершины до последней вершины. n-я и n+1 вершины определяют сегмент линии n. Всего рисуется n-1 сегментов линии.
GL_LINE_LOOP: Нарисуйте набор отрезков линии, соединенных последовательно от первой вершины до последней вершины, а затем последняя вершина соединяется с первой вершиной. n-я и n+1 вершины определяют сегмент линии n, а всего n линий. сегменты нарисованы.
GL_TRIANGLES: рассматривать каждую вершину как независимый треугольник. Вершины 3n-2, 3n-1 и 3n определяют n-й треугольник. Всего нарисовано N/3 треугольника.
GL_TRIANGLE_STRIP: Нарисуйте набор соединенных треугольников для нечетного числа n, вершины n, n+1 и n+2 определяют n-й треугольник для четного числа n, вершины n+1, n и n+2 определяют; n-й треугольник. Всего нарисовано N-2 треугольника.
GL_TRIANGLE_FAN: Нарисуйте набор связанных треугольников. Треугольник определяется первой вершиной, а вершины, заданные после нее, определяют n-й треугольник. Всего нарисовано N-2 треугольника.
GL_QUADS: рисует отдельный набор четырехугольников, состоящий из четырех вершин. Вершины 4n-3, 4n-2, 4n-1 и 4n определяют n-й четырехугольник. Нарисуйте в общей сложности N/4 четырехугольника.
GL_QUAD_STRIP: рисует набор соединенных четырехугольников. Каждый четырехугольник определяется парой вершин, за которыми следует заданная пара вершин. Вершины 2n-1, 2n, 2n+2 и 2n+1 определяют n-й четырехугольник, всего нарисовано N/2-1 четырехугольников.
GL_POLYGON: нарисовать выпуклый многоугольник. Вершины от 1 до n определяют этот многоугольник.
Описание функции:
Функции glBegin и glEnd определяют определение фиксированной точки одной или нескольких групп примитивов.
Исходный код для реализации точек рисования выглядит следующим образом:
процедура TForm1.Draw;begin // Очищаем буфер glClear(GL_COLOR_BUFFER_BIT или GL_DEPTH_BUFFER_BIT); // Устанавливаем размер точек, он не может быть между glBegin и glPointSize(10); glBegin(GL_POINTS); // Рисуем точки // Устанавливаем точки. Цвет точки glColor3f(1, 0, 0); Рисуем точки glVertex2f(50, 50); glColor3f(0, 1, 0); glVertex2f(100, 50); glColor3f(0, 0, 1); glEndBuffers(FDC); Поменяйте местами содержимое двойного буфера, который скопирует только что нарисованную графику на экран. конец;
glColor3f() используется для рисования цвета точки, glVertex2f используется для рисования положения точки.
Нажмите здесь, чтобы загрузить полный код