Elite Games - Свобода среди звезд!

Уроки для программистов - Конвертер

Глава 4. Конвертер.

Поскольку моделирование проходит в 3Д пакетах, таких как Майя и Макс, то нам нужно как-то «вытягивать» оттуда информацию.

Сразу оговорку сделаю. OBJ — это родной формат Майи, 3Д Макс явно с ним не дружит и часто экспортирует неправильно, например, он не экспортит нормали, даже если стоит соответствующая галочка. 3DS не экспортирует нормали, рассчитывать их программно – не выход, т.к. скорость понизится, да и правильно их рассчитать – тоже мороки много.

Тема достаточно сложная, я, например, пропарился с конвертером месяц, выбирая формат и правильно его экспортируя в свой.

В общем, дело сводится к следующему:

- получить файл определенного формата с следующими данными:
— вершины
— нормали
— текстурные координаты
— конвертировать в свой формат с следующими требованиями:
- у каждого «тела» должны быть один режим рисования, будь то GL_TRIANGLES или GL_QUADS (первый предпочтительней)
- должны присутствовать Index Buffer – оптимизация вершинного буфера, о ней уже говорилось.

Отнеситесь к написанию конвертера серьезно – вам потом с ним работать. Напишите редактор – увидите все минусы и плюсы своего движка.
Jurec
К началу раздела | Наверх страницы Сообщить об ошибке
Уроки для программистов - Конвертер
Все документы раздела: Для тех, кто хочет писать игры | Движок на OpenGL | Создание игр в Game Maker | Bump mapping | Использование Direct Input | XNA framework |


Дизайн Elite Games V5 beta.18
EGM Elite Games Manager v5.17 02.05.2010