Assimp 4 Загрузка отсутствующих материалов не вызывает ошибок - PullRequest
0 голосов
/ 06 февраля 2019

Я использую Assimp 4.1.0 для загрузки файлов OBJ.Некоторые файлы могут ссылаться на отсутствующий файл материала, и я хотел бы присвоить материалам свои собственные значения по умолчанию, если Assimp не находит их должным образом.

С учетом документации:

aiMaterial* mat = .....
// The generic way
if(AI_SUCCESS != mat->Get(<material-key>,<where-to-store>)) {
   // handle epic failure here
}

Itдолжен что-то бросить, но это не так.Он возвращает aiReturn_SUCCESS, хотя файла материала там не было.У кого-нибудь есть обходной путь для этого?

Спасибо!

1 Ответ

0 голосов
/ 06 февраля 2019

Когда материала в вашем примере нет, он будет иметь тип nullptr, и ваше приложение будет аварийно завершено.Если материал на основе obj не был импортирован (файл с расширением mtl), будет создан базовый материал, я думаю, этот файл материала будет использоваться для получения ключа, который вы хотите найти.

Сначала выполните makeуверен, что вы используете правильный материал.Тогда API будет работать так, как описано в API-документации.

Просто спросите, есть ли еще открытые вопросы.И вы получите более быстрые ответы, если будете использовать сторону проекта напрямую: -).

Ким

...