Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Камера в Open GL 
:(
    Опции темы
rubenhak
Дата 14.3.2006, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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) и еще, помогите вклучить перспективную проекцию.


Заранее спасибо
PM WWW MSN   Вверх
Nemesis
Дата 14.3.2006, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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...
--------------------
PM MAIL   Вверх
rubenhak
Дата 14.3.2006, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 17.9.2003
Где: Yerevan

Репутация: нет
Всего: нет



список параметров в gluLookAt я смотрел, но не работает, камера явно не смотрит с точки которую я ставлю
PM WWW MSN   Вверх
Nemesis
Дата 15.3.2006, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 20.2.2005
Где: Москва

Репутация: нет
Всего: 5



Т.е. gluLookAt(eyeX, eyeY, eyeZ, lookX, lookY, lookZ ,0, 1 ,0 ); некорректно все равно работает?
--------------------
PM MAIL   Вверх
rubenhak
Дата 15.3.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 17.9.2003
Где: Yerevan

Репутация: нет
Всего: нет



да, именно так,

в функции display
Код

void display()
{
glPushMatrix();

    glPushMatrix();
        glTranslated(eyeX,eyeY,eyeZ);
        glColor3f(1,0,0);

        auxSolidSphere(0.5);
    glPopMatrix();

    glPushMatrix();
    glTranslated(lookAtX,lookAtY,lookAtZ);
        glColor3f(0,0,1);

        auxSolidSphere(2);
    glPopMatrix();

///////////////// ....
glPopMatrix();


сферами рисую токи откуда, и куда смотрю, и тогда впринцыпе я не должен видеть точку откуда смотрю,
а она видна где-то посерединке( не ночно не где-то там ), а прямо за ней сферы куда я смотрю ,
она не подвижна, значит я кое-что правильно сделал smile

сцена как-то не понято вращается ....


можел дело в glOrtho??? или в чем то другом?

спасибо
PM WWW MSN   Вверх
rubenhak
Дата 15.3.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 17.9.2003
Где: Yerevan

Репутация: нет
Всего: нет



люди спасибо за помощь, все исправил,
проблемма била в том что я использовал gluOrho а нужно было gluPerspective.
PM WWW MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0564 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.