Все статьи Загрузка 3D моделей из файла
Геометрию и материалы сложных объектов проще загрузить из структурированного файла, чем создавать программно. Мы создадим загрузчик 3D моделей в разных форматах.
Цель примера — показать, как создаётся программный слой для загрузки элементов трёхмерных сцен из файлов в форматах различных 3D редакторов, таких как Blender или 3D Max. Мы также видоизменим использованный ранее загрузчик текстур, применив в нём более качественные методы интерполяции цвета текстур по поверхности.
Библиотека Assimp
Существует множество форматов трёхмерных моделей, и множество библиотек для их загрузки. Мы ради универсальности будем использовать библиотеку Assimp, поддерживающую множество форматов (о распространённых форматах есть отдельная статья).
Результат
Полный код к данной статье вы можете найти в каталоге примера в репозитории на github. Дополнительные материалы:
- Tutorial 17 : Rotations (opengl-tutorial.org)
- What is the correct order to multiply scale, rotation and translation matrices for a proper world matrix? (gamedev.stackexchange.com)
- Модели освещения (steps3d.narod.ru)