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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.005 c
15-1374488917
Savek
2013-07-22 14:28
2014.01.12
Программулина


2-1363084282
Cobalt
2013-03-12 14:31
2014.01.12
Число в PChar


2-1363783734
Alex_C
2013-03-20 16:48
2014.01.12
TEdit+TStringGrid=странное поведение


2-1363475022
msFishbein
2013-03-17 03:03
2014.01.12
glvertex3f и glvertex3fv как преобразовать


15-1374610930
DevilDevil
2013-07-24 00:22
2014.01.12
Да решит коллективный разум бытовую задачу