python gluLookAt для камеры от первого лица - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в openGL, и я пытаюсь перемещать камеру как шутер от первого лица. я хочу использовать gluLookAt для движения и осмотра сцены, но я не могу понять часть камеры

gl.glMatrixMode(gl.GL_MODELVIEW)
gl.glLoadIdentity()
glu.gluLookAt(current_player.position[0], current_player.position[1] ,
              current_player.position[2], look_at_position[0], look_at_position[1], 0,
              0, 1 ,0)

look_at_position - это позиция мыши, но я не могу вычислить последнее значение, поэтому я поставил временно как 0

, я просто хочу знать, как перемещать игрока и камеру с помощью glLookAt. * ​​1006 *

1 Ответ

0 голосов
/ 08 августа 2020

Работает так же, как glm :: lookAt (). Первый аргумент - это позиция, с которой вы смотрите (вы правы), затем позиция, на которую вы смотрите, а затем вектор вверх (тоже правильно). Вот что я вызываю:

//this code is in the mouse callback, both yaw and pitch are mouse inputs
glm::vec3 front;
glm::vec3 right;
front.x = cos(glm::radians(yaw)) * cos(glm::radians(pitch));
front.y = sin(glm::radians(pitch));
front.z = sin(glm::radians(yaw)) * cos(glm::radians(pitch));
cameraFront = glm::normalize(front);
front.x = cos(glm::radians(yaw));
front.z = sin(glm::radians(yaw));
movementFront = glm::normalize(front);

//this is in int main()
view = glm::lookAt(cameraPos, cameraPos + cameraFront, cameraUp);
...