Я закодировал себя вьюер OpenGL BSP для старого игрового формата. Это очень похоже на формат файла Quake 3. Поскольку я заинтересован в разработке графических движков, я хочу развиваться, глядя на использование современных технологий. Поэтому я обращаюсь к вам, экспертам по этому вопросу, чтобы определить, на чем сосредоточиться. Я хотел бы, чтобы это было как можно быстрее, и учитывая, что старые форматы файлов очень просты и имеют мало полигонов, я думаю, это должно быть выполнимо. Вот мои вопросы:
Освещение Имеет ли для меня смысл изучать освещение вершин или я должен просто реализовать освещение на пиксель? б. Я знаю, что OpenGL имеет 8 легких пределов. Должен ли я реально использовать только один из них для рассеянного света, а остальной компьютер - через шейдеры? Если нет, что мне делать?
Сортировка / Отбор Какой самый быстрый наиболее распространенный используемый алгоритм сортировки поверхностей для рендеринга. Сложность на самом деле не проблема. Я хочу узнать, что в настоящее время используется, и способы действительно отображать только то, что я вижу. Я видел несколько алгоритмов, описанных как алгоритм художника, и мне интересно, что имеет смысл для геометрии, основанной на BSP. б. Если у меня есть текстуры с альфа-масками, мне сказали, что сортировка связана с этим процессом. Как мне позволить им правильно рендерить в 3d пространстве?
Графический конвейер а. Должен ли я отправлять свои данные геометрии через VBO? Этот стандарт используется сегодня? б. Если у меня есть несколько «регионов», возможно, 200-300, я должен найти лучший способ отправить их в графический процессор без отправки 200-300 кусков. Должен ли я объединить их в одну и сохранить ссылку, связанную с каждым.
Любые другие советы для рендеринга на основе BSP и тому подобное?
Кроме того, если я сказал что-то, что было неправильно, пожалуйста, поправьте меня. Я тот человек, который скорее будет исправлен и слегка смущен, чем невежественен и неосознан.
Спасибо за ваше время. Я действительно ценю это.