Главная страница
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.022 c
6-84512
LOX
2003-04-17 11:43
2003.06.26
TWebBrowser команда правка в блокнот.


9-83847
Урб
2003-01-13 13:07
2003.06.26
Баги в DelphiX и почему его переписывают?


1-84429
DJ Vano
2003-06-10 01:12
2003.06.26
События для TLabel


14-84594
Viktor_bs
2003-06-08 18:14
2003.06.26
Delphi + XML


3-83929
AlexA
2003-05-30 12:06
2003.06.26
Как программным способом изменить ширину MEMO в FastReporte.