Как загрузить карту шероховатости / металлик в Assimp, используя формат gltf? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь загрузить сцену в формате gltf. Имеет металлические и шероховатые текстуры (не встроены). Теперь я хочу загрузить модель с указанными текстурами, используя Assimp. Я получаю текстуры, используя GetTexture (), но aiTextureType не имеет членов для шероховатости / металлик.

Итак, вопрос: Как мне их импортировать? Поскольку Assimp поддерживает gltf, он должен каким-то образом поддерживать физические карты материалов.

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Для материалов GLTF PBR вы можете использовать ключи материалов, определенные в pbrmaterial.h

#include <assimp/pbrmaterial.h>

aiString fileBaseColor, fileMetallicRoughness;
material->GetTexture(AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_TEXTURE, &fileBaseColor);
material->GetTexture(AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE, &fileMetallicRoughness);
0 голосов
/ 10 января 2019

Итак, если у кого-то есть такая же проблема: GetTexture (aiTextureType_UNKNOWN) возвращает путь к текстуре pbr.

...