У меня проблемы с ориентацией камеры так, как я хочу. Я понял, что мне нужно использовать gluLookAt
установить камеру. Насколько я понял, первые три для местоположения камеры, второй набор для пункта назначения, а третий набор для камеры upvector
и я пытаюсь реализовать коробку, которую камера должна смотреть в ее центр. Эта коробка состоит из 6 треугольников, не обязательно составляет приличную коробку. Чтобы получить его центр, я получаю среднее значение всех вершин треугольника (x
, y
, а также z
).
Так что это внутри моей функции отображения:
Vect v=getBoxCenter();
gluLookAt(camera.pos.x, camera.pos.y, camera.pos.z,
v.x,v.y,v.z,
camera.upVector.x, camera.upVector.y, camera.upVector.z);
glColor3f(1, 0, 0);
glBegin(GL_TRIANGLES);
glVertex3f(0, 0, 0); glVertex3f(100, 0, 0); glVertex3f(0, 100, 0);
glEnd();
glutSwapBuffers();
Когда я не пользуюсь gluLookAt
Треугольник очень хорошо виден в центре экрана. Что я делаю неправильно?
Задача ещё не решена.
Других решений пока нет …