在按键时更改 gluLookAt。上、右、下、左
Posted
技术标签:
【中文标题】在按键时更改 gluLookAt。上、右、下、左【英文标题】:Change gluLookAt on key press. Top, Right, Bottom, Left 【发布时间】:2016-03-18 21:02:18 【问题描述】:我正在尝试更改按键时的 gluLookAt。例如,我想通过按 t、r、b、l 键从顶部、右侧、底部和左侧查看我的场景。我从顶部开始实现外观,但在按下“t”键时它似乎不起作用,我的场景没有任何变化。我做错了什么?
这是我的 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();
【问题讨论】:
看来你不知道向上向量是做什么的。 Check this question.除此之外,你发的sn-p太模糊了。我们不知道您对矩阵进行了何种初始化以及如何渲染场景。 【参考方案1】:当您按下“t”按钮时,您在 lookAt 上的向上矢量必须为 (0,0,-1)。
意思是gluLookAt必须有这个参数:
gluLookAt(0,600,0, 0,0,0, 0,0,-1)
建议:尝试理解向量 up 对视图的意义。
【讨论】:
谢谢!会试试这个:)以上是关于在按键时更改 gluLookAt。上、右、下、左的主要内容,如果未能解决你的问题,请参考以下文章