Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Многоугольник по координатам в 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 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
14-84649
off
2003-06-10 11:26
2003.06.26
Эмуляция нажатия клавиши в нужном приложении?


1-84303
Chainik
2003-06-15 14:02
2003.06.26
OnMouseMove


14-84728
swordent
2003-05-27 10:04
2003.06.26
PHP + Delphi


1-84169
alecs
2003-06-11 16:52
2003.06.26
Как поместить в заголовок PageControl кнопку?


1-84285
sagchat
2003-06-14 17:50
2003.06.26
Как проверить существует файл или нет!