Я делаю программу, где мне нужна орфографическая проекция. Итак, я использую glOrtho(). Я сделал функцию масштабирования, но я блуждал, если вы можете повернуть свой вид? Потому что glOrho() выглядит параллельно другим плоскостям. Или есть другая проекция, которая может это сделать. glLookAt может вращаться, но меняет размеры при удалении от камеры. Я прочитал
Как заставить параллелепипед glOrtho вращаться? но это не дало мне ответа.
Могу ли я повернуть вид glOrtho()?
Ответы (1)
Здесь важно то, что вы обычно делите операции на две матрицы: (Модель)Вид и Проекция.
Хотя glOrtho()
обычно вызывается с glMatrixMode(GL_PROJECTION)
, все операции, связанные с перемещением и вращением камеры (например, glRotate*
, glTranslate*
и gluLookAt
), должны предваряться glMatrixMode(GL_MODELVIEW)
.
В фиксированном конвейере конечное положение вершины вычисляется путем умножения входных данных на эти две матрицы, а используемая проекция (ортогональная, перспективная или нелинейная) не зависит от преобразований камеры.
person
Bartek Banachewicz
schedule
22.12.2012