Ответ 1
glViewport определяет часть окна, к которому обращается OpenGL. Это может быть все окно или подразделение (думаю, консольная игра "split screen" mode - другое окно просмотра для каждого игрока).
glOrthof применяет орфографическую проекцию к текущей матрице, который обычно устанавливается в матрицу проекции перед этим вызовом. Проекционная матрица объединяется с представлением модели для создания матрицы, которая преобразует ваши координаты OpenGL в координаты экрана.
Это эквивалентно вызову glOrtho с близкими = -1 и far = 1.
Я бы рекомендовал эту страницу для получения более подробной информации о том, как просмотр и преобразование работают в OpenGL.
Что вы должны использовать? Видовые экраны и орфографические проекции - это разные проблемы, поэтому вам нужно позвонить каждому. glOrthof и gluOrtho2D примерно эквивалентны; знать разницу и использовать ту или иную.