Итак, у меня есть небольшая проблема с тем, чтобы камера openGL выполняла то, что я хочу. В основном, я хочу, чтобы он переместился в определенное место на основе ввода на клавиатуре, визуализировал сцену на текстуре, затем переместился обратно в предыдущее местоположение и затем превратил текстуру в квадрат. Эффект, который я хочу использовать, - это сцена, движущаяся вокруг моего квадроцикла, в то время как квадроцикл остается неподвижным. Однако независимо от того, что я делаю, сам квад всегда заворачивается вместе с текстурой.проблема с камерой openGL
Я в основном делаю следующее:
SetMatrices;
gluLookAt(randomposition);
renderSceneToTexture;
gluLookAt(originalPosition)
texturemap my quad/render to screen.
Что я здесь отсутствует? Мой код рендеринга хорош, потому что, когда я не общаюсь с камерой, все делает правильно.
Спасибо! В этом есть смысл. Я не понимал, что вызов gluLookAt работал как матричное преобразование. – user1782677
Вам нужно понять, что в OpenGL нет такой вещи, как камера, все это преобразования матрицы. Нет необходимости иметь отдельную концепцию камеры и сцены, поскольку, если вы перемещаете камеру или перемещаете сцену в обратном направлении, это даст тот же эффект. Вот почему матрица модели просто описывает одно преобразование, которое является дельтами между тем, что вы увидите как «камера» и «сцена». – wich