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