Показать сообщение отдельно
  #1  
Старый 16.03.2013, 11:02
msFishbein msFishbein вне форума
Прохожий
 
Регистрация: 16.03.2013
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Как преобразовать одну структуру в другую?

Добрый день! Возник вопрос, который я пока не смогла решить.

Подгружаю в программу трехмерный куб в формате .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ом массиве?

Спасибо!
Ответить с цитированием