- Как мне настроить мои различные матрицы для ортогональной проекции?
Ваша цель 2D, верно? Так что вам не нужно никаких проекций. Проекция - это процесс уплотнения трехмерного мира в двухмерную плоскость. Установите шейдер так, чтобы он по умолчанию принимал координату Z каждой вершины, 0.0
и вы должны быть установлены.
Вы можете использовать масштабную матрицу для координат X и Y, хотя. Масштабирование так , -10.0
чтобы 10.0
становится -1.0
в 1.0
. Для справки, матрица для этого:
0.1 0.0 0.0
0.0 0.1 0.0
0.0 0.0 1.0
- Шейдеры так же интенсивно используются в 2D приложениях, как и в 3D? Если да, то каково их назначение в настройке 2D?
Они могут быть. Они по-прежнему могут использоваться для освещения в пикселях, придавая объектам некоторую искусственную глубину. Они также могут быть использованы для текстурных эффектов, эффектов воды, генерации изображений ... вы даже можете использовать их для выполнения физических вычислений с небольшой хитростью.
Еще один способ выразить это: все, для чего они используются в 3D. Это просто применяется по-другому, и не так хорошо документировано. Хотя люди, играющие в 2D-игры, вероятно, не попадут в ваше дело, если у вас нет реалистичных эффектов, поэтому они также не требуются.
Хотя вам все равно понадобится знать основы шейдеров для рендеринга спрайта.
- Как мне справиться с огромным количеством текстур, очевидно необходимых для 2D-игры?
Так же, как вы делаете в 3D. Куча текстурных объектов, PBO и атласа текстур или несколько. Вероятно, несколько структур / классов, а также головные боли. Я думаю, что это будет называться «Управление активами», или что-то подобное.
- Как я могу начать с 2D-игры?
Там, вероятно, есть несколько уроков. Хотя, поскольку 3D-версия более распространена, я бы сказал, что нужно изучить OpenGL для 3D, а затем применить то, что вы узнали, к его 2D-аналогу. 3D и 2D очень похожи, 2D просто не отслеживает координату Z.