我开始一个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