【问题标题】:Change gluLookAt on key press. Top, Right, Bottom, Left在按键时更改 gluLookAt。上、右、下、左
【发布时间】: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太模糊了。我们不知道您对矩阵进行了何种初始化以及如何渲染场景。

标签: c++ opengl glut


【解决方案1】:

当您按下“t”按钮时,您在 lookAt 上的向上矢量必须为 (0,0,-1)。

意思是gluLookAt必须有这个参数:

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

建议:尝试理解向量 up 对视图的意义。

【讨论】:

  • 谢谢!会试试这个:)
猜你喜欢
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 2023-03-13
  • 2011-02-28
  • 1970-01-01
相关资源
最近更新 更多