Я пытаюсь понять основные концепции системы координат в OpenGL, поэтому я делаю тестовое приложение из руководств в Интернете.
В настоящее время я нарисовал простой квадрат на экране, используя простыеКоординаты:
-1.0f, 1.0f, 0.0f, // 0, Top Left
-1.0f, -1.0f, 0.0f, // 1, Bottom Left
1.0f, -1.0f, 0.0f, // 2, Bottom Right
1.0f, 1.0f, 0.0f, // 3, Top Right
В моем приложении я запускаю следующий код:
GLU.gluPerspective(gl, 45.0f, (float) width / (float) height, 0.1f, 100.0f);
Я понимаю, что код устанавливает угол обзора порта на 45 градусов иотношение ширины к высоте размера окна.
Еще одна вещь, которую я делаю, это установка позиции просмотра в виде -4 единиц на оси Z: gl.glTranslatef(0, 0, -4);
Вот как выглядит результаткак в Пейзаже ...
А в Портрете ...
Мои вопросы:
Как работает система координат, сколько пикселей представляет одна единица?Как изменение ориентации и соотношения ширины и высоты влияет на уравнение?
Если я хотел нарисовать квадрат размером с экран, с портом просмотра 45 градусов и позицией просмотра z-4 ..Как определить требуемую ширину и высоту в единицах?