Использование Ортогональной и Перспективной проекции - это полностью художественный выбор. Серьезный покемон, о котором вы говорите, ортогональн - фактически, это полностью слоистые 2D спрайты (без 3D).
OpenGL не имеет матрицы VIEW. Он имеет матрицу MODELVIEW и матрицу ПРОЕКЦИИ. Для уровней в стиле покемонов я предлагаю использовать простой glOrtho для проекции.
Давайте предположим, что ваш мир находится в пространстве XY (координаты для плиток, камер и других объектов имеют форму [x, y, 0]). Если размер одной плитки равен 1,1, то что-то вроде glOrtho (12, 9, -10, 10) будет хорошей проекционной матрицей (12 в ширину, 9 в высоту, а Z = 0 - это земля).
Для MODELVIEW вы можете начать с загрузки идентичности, glTranslate () по положению плитки, а затем glTranslate () по отрицательному положению камеры, прежде чем вы начнете рисовать свою геометрию. Если вы хотите иметь возможность вращать камеру, вы должны glRotate () на отрицательный (обратный) угол поворота камеры между двумя Translate (). В итоге вы получите следующую матричную цепочку:
вывод = проекция и время; (CameraTranslation -1 & times; CameraRotation -1 & times; ModelLocation & times; ModelRotation) & times; ввод
Части в скобках - MODELVIEW, а « -1 » означает «обратный», который действительно отрицателен для перевода и транспонирован для вращения.
Если вы хотите вращать свои модели, вы обычно делаете это в первую очередь (до первого glTranslate ().
Наконец, я предлагаю форумы OpenGL (www.opengl.org) или подфорумы OpenGL www.gamedev.net, возможно, лучше задать этот вопрос: -)