![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
rubenhak |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 17.9.2003 Где: Yerevan Репутация: нет Всего: нет |
Люди, помогите разобратся с проекциями и камерами в Опен ГЛ.
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 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: нет Всего: 5 |
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 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 17.9.2003 Где: Yerevan Репутация: нет Всего: нет |
список параметров в gluLookAt я смотрел, но не работает, камера явно не смотрит с точки которую я ставлю
|
|||
|
||||
Nemesis |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: нет Всего: 5 |
Т.е. gluLookAt(eyeX, eyeY, eyeZ, lookX, lookY, lookZ ,0, 1 ,0 ); некорректно все равно работает?
--------------------
|
|||
|
||||
rubenhak |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 17.9.2003 Где: Yerevan Репутация: нет Всего: нет |
да, именно так,
в функции display
сферами рисую токи откуда, и куда смотрю, и тогда впринцыпе я не должен видеть точку откуда смотрю, а она видна где-то посерединке( не ночно не где-то там ), а прямо за ней сферы куда я смотрю , она не подвижна, значит я кое-что правильно сделал ![]() сцена как-то не понято вращается .... можел дело в glOrtho??? или в чем то другом? спасибо |
|||
|
||||
rubenhak |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 17.9.2003 Где: Yerevan Репутация: нет Всего: нет |
люди спасибо за помощь, все исправил,
проблемма била в том что я использовал gluOrho а нужно было gluPerspective. |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |