Форум: "Начинающим";
Текущий архив: 2014.01.12;
Скачать: [xml.tar.bz2];
Внизglvertex3f и glvertex3fv как преобразовать Найти похожие ветки
← →
msFishbein (2013-03-17 03:03) [0]Добрый день! Возник вопрос, который я пока не смогла решить.
Подгружаю в программу трехмерный куб в формате .obj, вершинами которого хочу иметь возможность управлять (изменять в пространстве их положение).
For J :=1 to M.Group[i].Faces do
begin
with M.Group[i].Face[J] do
begin
case Count of // воспроизводим модель полигонами
3 : glBegin(GL_TRIANGLES);
4 : glBegin(GL_QUADS);
else
glBegin(GL_POLYGON);
end;
for K :=0 to Count-1 do
begin
if M.Normals > 0 then
glNormal3fv( @M.Normal[nIndex[K]] );
if M.TexCoords > 0 then
glTexCoord2fv( @M.TexCoord[tIndex[K]] );
glVertex3fv( @M.Vertex[vIndex[K]] ); // рисование вершины
end;
glEnd();
Нарисовать точки в каждой из вершин подгруженного объекта труда не составило, а вот чтобы впоследствии управлять ими нужно как-то преобразовать структуру
glVertex3fv( @M.Vertex[vIndex[K]] ); к виду glVertex3f(v_x[vIndex[K]],v_y[vIndex[K]],v_z[vIndex[K]]); где vIndex[K] -- номер вершины от 1 до 8.
Не могли бы вы подсказать как, а то я в принципе не очень понимаю данный синтаксис?
Спасибо!
← →
KilkennyCat © (2013-03-17 21:42) [1]
> @M.Vertex[vIndex[K]]
> я в принципе не очень понимаю данный синтаксис?
это указатель на массив M.Vertex из трех элементов, так что, скорее всего как-то так:
glVertex3f(M.Vertex[vIndex[K]],M.Vertex[vIndex[K] + 1],M.Vertex[vIndex[K] + 2])
но я могу ошибаться с индексами, так как не знаю структуру массива, и вообще не люблю опенгл, а директикс забыл, делфи удалил...
← →
KilkennyCat © (2013-03-17 21:43) [2]
> это указатель на массив M.Vertex из трех элементов
это я про
> glVertex3fv( @M.Vertex[vIndex[K]] )
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.01.12;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c