我開始一個3D場景,我正在研究「照相機」的運動,或者移動的實體,但我似乎無法獲得它朝着它所面對的方向移動。如何在照相機的方向移動,OpenGL,C++
有誰有關於如何我開始在攝像頭的方向移動任何指導?不過,我只希望實體沿着x軸和z軸移動,就好像它在地板上一樣,現在y軸將被忽略。如果有人能告訴我什麼是數學,那真的很感激。
Camera::Camera(Vector3 * eye, Vector3 * center, Vector3 * up) {
this->eye = eye;
this->center = center;
this->up = up;
}
Camera::Vector3 * getEye() { return eye; }
Camera::Vector3 * getCenter() { return center; }
Camera::Vector3 * getUp() { return up; }
camera = new Camera(new Vector3(5.0f, 3.0f, 5.0f),
new Vector3(0.0f, 0.0f, 0.0f),
new Vector3(0.0f, 1.0f, 0.0f));
gluLookAt(camera->eye->getX(), camera->eye->getY(), camera->eye->getZ(),
camera->center->getX(), camera->center->getY(), camera->center->getZ(),
camera->up->getX(), camera->up->getY(), camera->up->getZ());//camera
我不明白你的眼睛是什麼,中心矢量代表。你可以發佈你在哪裏使用gluLookat()函數? – 2015-04-04 22:31:05
你說得對,我不明白什麼是什麼。我們被給了一個片段,並被告知要適應。調用lookat函數的行也在上面。此刻,我正在操縱這些值來移動相機,並翻譯對象的位置 – user 2015-04-04 22:47:06
好吧,以便您的相機位置是eyeVector和您的lookatPosition是centerVector – 2015-04-04 22:52:39