Если вы хотите:
Затем:
Вообще говоря, я ищу простоту как приоритет, то есть помогаю начать с объединения моих знаний как в искусстве, так и в информатике. Я — специалист по информатике в UMass, и в то же время, как псевдо-двойник по искусству, изучая факультеты графического дизайна в моем университете, а также посещая занятия в Художественном институте Бостона во время летних / зимних занятий. Другими словами, я не новичок в полной мере, но в то же время я не хочу, чтобы опции были настолько перегружены сумасшедшими продвинутыми конфигурациями, которые слишком усложняли бы начало работы с базовым демонстрационным проектом; то есть как первый шаг к пониманию того, как преодолеть разрыв между этими двумя мирами, например, создание программы с 3D персонажем, с которым пользователь может взаимодействовать.
COLLADA (Я говорю это с «ах» в конце), и Assimp (вот так)
И так, почему КОЛЛАДА? Просто:
Для библиотеки импортера я настоятельно рекомендую Assimp. Зачем?
Первый , Вот Вы можете прочитать о предлагаемой модели загрузки lbs.Lib Assimp Это действительно хорошо и поддерживает много форматов. Для предпочтительных форматов. Коллада-я бы не рекомендовал, потому что это форматы на основе XML (текст), которые медленно анализируются. Формат obj также широко распространен, но страдает от тех же проблем, что и Collada. Он по-прежнему хорош, если вы хотите написать собственный синтаксический анализатор, поскольку его структура очень проста. Но вместо этого я бы предложил 3D-файлы, которые являются двоичными. Хотя анимация не поддерживается . Самым популярным форматом сегодня, который поддерживает статическую сетку и анимацию, является FBX. скачать бесплатно FBX SDK от Autodesk и подключите его к вашему движку. Причина, по которой я бы выбрал FBX, заключается в том, что и SDK, и формат действительно надежны. Например, в FBX можно встраивать не только геометрию и анимацию, но и объекты сцены, такие как источники света, камеры и т. Д. Документы Autodesk тоже очень хорошие.
Надеюсь, поможет.
Я бы рекомендовал использовать ваш собственный пользовательский формат, который в основном представляет собой просто двоичный дамп буфера вершин и индексных буферов, используемых в вашей программе. (Используя термины d3d, я знаю, что opengl имеет те же понятия, но не могу вспомнить, имеют ли они разные имена).
Затем я написал бы отдельную программу, использующую assimp, которая принимает практически любой формат и записывает файл в произвольном формате. Затем вы можете использовать Collada или еще что-нибудь для хранения ваших реальных моделей, но не иметь гибкости и медленной загрузки этого формата во время выполнения.