Blender Wavefront Object: количество вершин в объявлении грани больше, чем количество всех вершин
Я пытаюсь загрузить объект Wavefront в мою C++ программу OpenGL, используя мой собственный анализатор. Парсер работает для некоторых.obj-файлов, но в некоторых файлах он выдает index out of range exception
, После некоторой отладки я обнаружил, что одна строка в файле ссылается на вершину с номером 10565
:
f 2571/5164/4481 8298/5166/4481 10565/5167/4481
^^^^^
Но файл содержит только 10531
Вершины.
Вопросы:
- Как Blender все еще может импортировать файл?
- К какой вершине относится Blender с "10565", даже если он не существует?
2 ответа
Решение
Лучший ответ будет в источнике -
svn co "https://svn.blender.org/svnroot/bf-extensions/trunk/py/scripts/addons/io_scene_obj/"
Мое предположение было бы игнорировать ошибочные грани, другой вариант - найти ближайшую вершину, которая, скорее всего, будет связана с двумя другими вершинами.