Форум: "Media";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизМногоугольник по координатам в OpenGL Найти похожие ветки
← →
AM (2003-03-11 14:06) [0]Доброго дня! Стоит задача: есть координаты последовательности точек лежащих на плоскости, которые если соединить, то получится многоугольник. Причем многоугольник не обязательно выпуклый. Можно ли средствами OpenGL нарисовать этот многоугольник одной командой, задав в виде параметра указатель на массив или что-то в этом роде.
Надо нарисовать не только ребра многоугольника, а чтобы он был "залитый".
Или единственный вариант - сделать триангуляцию данного многоугольника и отобразить в виде множестова триугольников?
Подскажите, пожалуйста.
← →
Арм (2003-03-13 02:16) [1]есть команда glDrawArrays... только она не идет в опенгл.пас
вставишь пару функций:
procedure glVertexPointer (size: GLint; atype: GLenum;
stride: GLsizei; data: pointer); stdcall; external OpenGL32;
procedure glColorPointer (size: GLint; atype: GLenum; stride: GLsizei;
data: pointer); stdcall; external OpenGL32;
procedure glDrawArrays (mode: GLenum; first: GLint; count: GLsizei);
stdcall; external OpenGL32;
procedure glEnableClientState (aarray: GLenum); stdcall; external OpenGL32;
procedure glDisableClientState (aarray: GLenum); stdcall; external OpenGL32;
и константы:
const
GL_VERTEX_ARRAY = $8074;
GL_COLOR_ARRAY = $8076;
применять будешь так -
указываешь массив вершин
glVertexPointer(2, GL_FLOAT, 0, @Vertex);
указываешь массив цветов
glColorPointer(3, GL_FLOAT, 0, @Colors);
включаешь режим массива вершин
glEnableClientState(GL_VERTEX_ARRAY);
... цветов
glEnableClientState(GL_COLOR_ARRAY);
рисуешь полигонами
glDrawArrays(GL_POLYGON, 0, 4);
выключаешь режимы...
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY);
справки по этим командам можно получить по glDrawArraysEXT...
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.025 c