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

Вниз

Математика+OpenGL   Найти похожие ветки 

 
Elf ©   (2004-06-07 21:50) [0]

Здравствуйте все!
Подскажите что надо сделать с OpenGL ModelView Matrix чтобы камера была в точке (x1,y1,z1) и смотрела по вектору v(x2,y2,z2)?


 
smb   (2004-06-07 22:10) [1]

gluLookAt(posx, posy, posz, lookatx, lookaty, lookatz, vecx, vexy, vecz);
pos - точка наблюдателя
lookat - точка куда смотреть
vec - вектор


 
wiz ©   (2004-06-08 07:52) [2]

как это делаю я:

glMatrixMode( GL_PROJECTION );
glLoadIdentity();

gluPerspective(fovy, aspect, znear, zfar);

gluLookAt(posx, posy, posz, lookatx, lookaty, lookatz, vecx, vexy, vecz);

glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
...
{собстно render}


где:
fovy: угол обзора по оси y
fovy*aspect = fovx: угол обзора по оси x
znear, zfar: ближняя и дальняя плоскости обрезки z-buffer"а
posx, posy, posz, lookatx, lookaty, lookatz: см post[1]
vecx, vexy, vecz: вектор ориентации камеры (указывает направление "вверх")

в твоём случае:
pos(x,y,z)=(x1,y1,z1);
lookat(x,y,z)=pos(x,y,z)+v(x2,y2,z2);
vec(x,y,z)= пока не парься, а сделай (0,0,1). потом поиграйся с разными значениями и поймёшь как работает.


 
Elf ©   (2004-06-08 12:19) [3]

? А что матрица проэцирования меняет положение камеры?
Ни фига себе!


 
ViK   (2004-06-10 01:26) [4]

Я делаю так:

glMatrixMode(GL_MODELVIEW);
glLoadIdentity;

glRotatef(camera[4],1,0,0);
glRotatef(camera[5],0,1,0);
glRotatef(camera[6],0,0,1);{}
glTranslated(camera[1],camera[2],camera[3]);

glBegin
...
glEnd;
где, camera[4..6] - угол поворота камеры относительно осей
camera[1..3] - координаты камеры



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
4-1094577486
Dextor
2004-09-07 21:18
2004.10.10
WinApi. Вставить компонент


4-1094224836
Burmistroff
2004-09-03 19:20
2004.10.10
Обнаружение утечек памяти


4-1094214152
Falcon
2004-09-03 16:22
2004.10.10
Как узнать какое окно в системе в текущий момент имеет ввод?


14-1095587335
Igor_thief
2004-09-19 13:48
2004.10.10
Сортировка в ListView


1-1096008720
RoLeX2004
2004-09-24 10:52
2004.10.10
Как проверить соответствует ли имя файла заданной маске?