Добрый день! Возник вопрос, который я пока не смогла решить.
Подгружаю в программу трехмерный куб в формате .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.
Не могли бы вы подсказать как, а то я в принципе не очень понимаю, как 3 координаты хранятся в 1ом массиве?
Спасибо!