2016-03-18 3 views
0

Я пытаюсь изменить gluLookAt на нажатие клавиши. Например, я хочу посмотреть свою сцену сверху, справа, внизу и слева, нажав клавиши t, r, b, l. Я начал с реализации взгляда сверху, но, похоже, он не срабатывает при нажатии клавиши «t», ничего не меняется в моей сцене. Что я делаю не так?Измените gluLookAt на нажатие клавиши. Top, Right, Bottom, Left

Это мой метод keyResponder:

void CDrawModel::myKeyResponder(unsigned char key, int x, int y) { 
if(key == 27) {        // The ESC key 
    glutDestroyWindow(glutGetWindow());  // kill the window 
    exit(0); 
} 


if (key == 't' || key == 'T'){ 
    gluLookAt(0, 600, 0, 
     0, 0, 0, 
     0, 600, 1); 
    cout << "T ot t pressed" << endl; 
} 

//refresh the screen after every key press... 
glutPostRedisplay(); 
} 
+1

Кажется, что вы не знаете, что делает вектор вверх. [Проверьте этот вопрос.] (Http://stackoverflow.com/questions/5717654/glulookat-please-explain) Кроме этого, фрагмент, который вы опубликовали, слишком расплывчато. Мы не знаем, какую инициализацию вы сделали для своих матриц и как вы снимаете свою сцену. – aslg

ответ

1

При нажатии на кнопку 'т', ваш вверх вектор на LookAt должен быть (0,0, -1).

Значение, что gluLookAt должна иметь эти параметры:

gluLookAt (0,600,0, 0,0,0, 0,0, -1)

Предложения: попытаться понять, что такое вектор вверх средство вид.

+0

Спасибо! Попробуй это :) –

 Смежные вопросы

  • Нет связанных вопросов^_^