Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Камера в Open GL |
Автор: rubenhak 14.3.2006, 01:53 |
Люди, помогите разобратся с проекциями и камерами в Опен ГЛ. 1) я хочу чтоб камера смотрела с точки (eyeX, eyeY, eyeZ) на (lookX, lookY, lookZ), вызываю функцию gluLookAt(eyeX, eyeY, eyeZ, lookX, lookY, lookZ , lookX, lookY + 1 , lookZ ); но не работает, видно что-то , но не то что я сам ожидаю. Так сказать мне нужно сделать как в играх - двигаешь мышку - камера поворачивается. я даже рисую сферы на точках (eyeX, eyeY, eyeZ) и (lookX, lookY, lookZ) , и впринципе, я должен был видеть изнутри (eyeX, eyeY, eyeZ) , и посередине должена быть видна сфера (lookX, lookY, lookZ) , но получается совсем не так. кстати, мне тут нужно использовать glOrtho? я даже пробовал менять zNear, zFar, итд. итп. ... не помогает.... 2) и еще, помогите вклучить перспективную проекцию. Заранее спасибо |
Автор: Nemesis 14.3.2006, 03:23 |
1) В функции gluLookAt первые 3 параметра- это откуда смотрим, вторая тройка параметров - куда смотрим и третья тройка - это вертикальный вектор камеры, обычно верх - это вектор {0,1,0} 2) glMatrixMode(GL_PROJECTION); // вкл матрицу проекций glLoadIdentity(); // сбрасываем матрицу на единичную gluPerspective(45, (float)w/(float)h, 1, 100); // первый параметр - раствор угла зрения, 2ой - aspect ratio - коэф сжатия пикселей, 3 - ближняя плоскость отсечения, 4 - дальняя. P.S. Советую полюбить MSDN... |
Автор: rubenhak 14.3.2006, 21:05 |
список параметров в gluLookAt я смотрел, но не работает, камера явно не смотрит с точки которую я ставлю |
Автор: Nemesis 15.3.2006, 01:38 |
Т.е. gluLookAt(eyeX, eyeY, eyeZ, lookX, lookY, lookZ ,0, 1 ,0 ); некорректно все равно работает? |
Автор: rubenhak 15.3.2006, 17:54 | ||
да, именно так, в функции display
сферами рисую токи откуда, и куда смотрю, и тогда впринцыпе я не должен видеть точку откуда смотрю, а она видна где-то посерединке( не ночно не где-то там ), а прямо за ней сферы куда я смотрю , она не подвижна, значит я кое-что правильно сделал ![]() сцена как-то не понято вращается .... можел дело в glOrtho??? или в чем то другом? спасибо |
Автор: rubenhak 15.3.2006, 18:43 |
люди спасибо за помощь, все исправил, проблемма била в том что я использовал gluOrho а нужно было gluPerspective. |