現在,我的相機正在向前和向後移動。使用箭頭鍵的OpenGL相機控制
我有一個用於改變gluLookAt調用中使用的相機變量值的箭頭鍵的例程。
gluLookAt(camera.ex,camera.ey, camera.ez,
camera.cx,camera.cy,camera.cz,
camera.x,camera.y,camera.z);
// Callback routine for non-ASCII key entry.
void specialKeyInput(int key, int x, int y)
{
if (key == GLUT_KEY_UP) camera.ez -= 0.1;
if (key == GLUT_KEY_DOWN) camera.ez += 0.1;
if (key == GLUT_KEY_LEFT) camera.cx -= 0.1;
if (key == GLUT_KEY_RIGHT) camera.cx += 0.1;
glutPostRedisplay();
}
我通過這樣做面臨的問題是,即使我面對的(說向左),我按向上鍵,我「米抵消我camera.ez值,而不是正確的camera.ex值。所以我的問題是,你如何處理在OpenGL中的相機運動?我必須跟蹤我正在看的「角度」,並做一些trig?
你試圖做[這樣的事情](http://gamedev.stackexchange.com/a/31042)? – genpfault
@genpfault是的,我相信是的。儘管我並不完全確定如何遵循這一點...... –