请教:OpenGL中gluLookAt的用法。
程序如下:
void COpenGL3View::OnTimer(UINT nIDEvent) 
{
wglMakeCurrent(m_pDC->GetSafeHdc(),m_hRC);
test=0.1;
gluLookAt(0.00,0.00,2.00, //eyes
test,0.00,0.00, //center
0.00,1.00,0.00); //up
wglMakeCurrent(NULL,NULL); CView::OnTimer(nIDEvent);
}
结果显示的效果是:物体不断旋转。给人的感觉就是眼睛绕着物体在运动。
我更改的是center处的参数呀!
我是在计时器中使用的该命令。我觉得效果应该是物体水平右移或左移至屏幕外!
请教这是怎么回事?
谢谢

解决方案 »

  1.   

    gluLookAt 这个函数在使用之前需要用 glMatrixMode(GL_PROJECTION)。
    否则look at 的效果很不好计算。另外,为了达到旋转的效果,不是这么做的。
      

  2.   

    不对吧,我记得用之前应该是glMatrixMode(GL_MODELVIEW);
      

  3.   

    各位大哥,我使用了glMatrixMode(GL_PROJECTION)与glMatrixMode(GL_MODELVIEW);效果没变!
    而且,我最终想要的效果是实现象Counter-Strike那样的漫游效果,请问各位大哥,应该怎样实现好?
      

  4.   

    给你一个经典步骤相机角度变换
    1. glMatrixMode(GL_PROJECTION);
    2. glLoadIdentity();
    3. glLookAt();
    ============================================================================
    提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
    http://alphasun.betajin.com/   遇到问题可以给我发消息,给我发信息时请附带原帖地址
    DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析