Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

(OpenGL) вращение и перемещение объекта в glCallList(ListID)


loto ©   (2003-05-28 20:49:00) 

Требуется объект в glCallList(ListID):
1) повернуть на угол U1
2) переместить на (X1,Y1,Z1)
3) повернуть на угол U2
4) переместить на (X2,Y2,Z2)

С помощью glRotateи glTranslateперемещается и поворачивается СИСТЕМА КООРДИНАТ, а мне надо издеваться над объектом в glCallList(ListID).


KefiR   (2003-06-05 22:33:00) [1]

glPushMatrix;
...//Твои преобразования
glPopMatrix;


elf_123   (2003-05-30 23:55:00) [2]

Кстати есть функция glMatrixMode(MODE);
где MODE =
GL_PROJECTION
GL_MODELVIEW
GL_TEXTURE

Которые позволяют "издеваться" над системой кординат для положения наблюдателя, построения объекта и текстуры.
Пост Скриптум: Перед CallList сделай glMatrixMode(GL_MODELVIEW); glRotate..., glTranslate и тогда выводи объект


Asteroid   (2003-05-29 02:23:00) [3]

> loto (28.05.03 21:36)
LoadMatrix, по-моему, в листах не сохраняется. А как ей пользоваться ты уже написал.


ION T   (2003-05-29 00:33:00) [4]

А в чем собственно разница между перемещением объекта или системы координат? Просто обратные значения бери и всё...


loto   (2003-05-28 21:36:00) [5]

var
q:array[0..15]of GLfloat;
begin
q[ 0]:=1; q[ 4]:=0; q[ 8]:=0; q[12]:=0;
q[ 1]:=0; q[ 5]:=1; q[ 9]:=0; q[13]:=0;
q[ 2]:=0; q[ 6]:=0; q[10]:=1; q[14]:=0;
q[ 3]:=0; q[ 7]:=0; q[11]:=0; q[15]:=1;
glLoadMatrixf(@q);
end;


Как пользоваться glLoadMatrixf?


Juster~   (2003-05-28 21:16:00) [6]

если тебе это надо, тогда лучше не создавай листы


Наверх

Титульная страница Поиск, карта сайта Написать письмо