Russian Qt Forum

Qt => OpenGL => Тема начата: InquisitorAles от Ноябрь 08, 2017, 12:40



Название: Парсинг object name из .obj файла
Отправлено: InquisitorAles от Ноябрь 08, 2017, 12:40
У меня есть сложная модель, состоящая из нескольких частей. Написал по примерам парсер .obj файлов, однако модель считается одним махом, то есть без разделения на части. Если я правильно понимаю, все части объекта разделяются тагами O, но проблема в то, что я с трудом представляю как правильно реализовать считывание данных для каждой части по отдельности. Все примеры парсеров которые я находил только для простых моделей и все остальные референсы вроде материалов и названий там игнорируются. Поэтому вопрос, что лучше - переделывать уже готовый парсер или тупо разбить модель на несколько файлов и загружать каждый элемент в программу по отдельности?


Название: Re: Парсинг object name из .obj файла
Отправлено: Igors от Ноябрь 08, 2017, 13:25
Ну во-первых тут богатые возможности "попастись", многие задействуют напр assImp и др. готовые читалки.

Самому тоже несложно. Модель может иметь любое число объектов. Каждый объект имеет свою топологию (вертексы и фейсы), у него нет "частей",  В obj файле для каждого объекта сначала перечисляются все его вертексы (позиции, нормали, UV) и потом идут фейсы с индексами вертексов выше. То есть как только пришел новый объект, просто перезапускаете парсер с новыми контейнерами данных. А разбивать на неск файлов может оказаться утомительным т.к. текстовики могут быть огромными